1
0
forked from GitHub/gf-core
Commit Graph

4445 Commits

Author SHA1 Message Date
kr.angelov
6644d93ec2 simple cleanup in the robust parser 2012-04-02 19:01:18 +00:00
hallgren
7ee66302d1 minibar: better implementation of word replacement
Instead of trying to reconstruct the abstract tree from the bracketed string,
use the node numbers (the field called "fid") to identify which node in the
abstact syntax tree a word in the bracketed string corresponds to.
2012-04-02 16:05:11 +00:00
hallgren
c2a72daa74 gf-server.cabal: mtl is needed to build pgf-server now 2012-04-02 15:58:21 +00:00
hallgren
1c1679227e PGFService.hs: add web API function "abstrjson"
Abstract syntax trees are represented as strings in the web API. To make them
easier to manipulate in JavaScript, the new function converts them to JSON.

To support structural editing, the nodes are numbered in the same way as in
the bracketed string created when linearizing an abstract syntax tree.

Example: "Pred (That Fish) Fresh" is converted to

	{fun:"Pred",fid:3,
	 children:[{fun:"That",fid:1,
		    children:[{fun:"Fish",fid:0}]},
		   {fun:"Fresh",fid:2}]}
2012-04-02 15:42:43 +00:00
hallgren
1db4fab25c support.js: add an implementation of Array.isArray for older browsers that lack it 2012-04-01 18:23:28 +00:00
hallgren
e85a3fff56 gfse&minibar: work in progress on grammar extension fromminibar 2012-03-29 17:10:36 +00:00
hallgren
a519d01754 gfse: show an informative error message in browsers that lack support for localStorage 2012-03-29 14:11:38 +00:00
hallgren
47c116b5a6 Workaround for bug in ghc-7.2.2
An apparent bug in ghc-7.2.2 causes the type Value to be exported from PGF.Data.
Workaround: restrict the imports from PGF.Data in GF.Command.Abstract and
GF.Compile.GeneratePMCFG to avoid the clash with locally defined type Value.
(ghc-7.0.4 and ghc-7.4.1 appear to be free from this bug.)
2012-03-26 23:56:56 +00:00
Sergei Trofimovich
c015ac77bd compiler/GF/Text/Coding.hs: fix build failure against ghc-7.2 2012-03-26 20:48:57 +00:00
Sergei Trofimovich
24740d250b Fix List.foldl / Map.foldl ambiguosity
Fixes the following error:
src/runtime/haskell/PGF/Expr.hs:111:14:
    Ambiguous occurrence `foldl'
    It could refer to either `List.foldl',
                             imported from `Data.List' at src/runtime/haskell/PGF/Expr.hs:27:1-24
                             (and originally defined in `GHC.List')
                          or `Map.foldl',
                             imported from `Data.Map' at src/runtime/haskell/PGF/Expr.hs:28:1-40
2012-03-26 20:18:23 +00:00
hallgren
a8ddb8fe5c minibar: support for adding grammars from several servers to the grammar menu
You can also add grammars from several directories on the same server of course.
The included minibar configuration file adds the user's own grammars from the
grammar editor.
2012-03-26 17:17:54 +00:00
hallgren
9a6887aa49 gfse: enable word replacement in minibar when activated from the editor 2012-03-26 17:13:40 +00:00
hallgren
671c9b5390 gfse&minibar: fix bug caused by function name clash
+ Function div_id was defined in both editor.js and support.js. Solution:
  moved the more general version from editor.js to support.js.
+ Function div_class was defined in both editor.js and support.js. Solution:
  resolv incompatibility with an argument type test and put the generalized
  function in support.js.
2012-03-26 17:08:29 +00:00
hallgren
4673aeca7b minibar: word-for-word replacement fixes
Check that the reconstructed abstract syntax tree is type correct before
enabling word-for-word replacement. Show an error message if word replacement
nevertheless fails.
2012-03-22 14:33:42 +00:00
hallgren
f8ea4b8046 pgf_online.js: error callbacks
To enable customized error handling, the methods in the pgf_online objects and
the AJAX server call functions in support.js accept an error callback function
as an extra argument, in addition to the callback (continuation) for normal
results.
2012-03-22 14:09:53 +00:00
hallgren
0d57b9fa09 minibar: word-for-word replacement fix
Turn off the highlighting that indicates that word-for-word replacement is
enabled when it is no longer available (e.g if a word is deleted and there no
longer is a complete parse).
2012-03-19 15:24:35 +00:00
hallgren
428c2184fa minibar: fix for recently introduced bug affacting Webkit browsers
It seems that in Gecko browsers, the effect of "with(x) stmts" reaches inside
the bodies of local functions in stmts, but in Webkit browers it does not.
2012-03-19 15:15:47 +00:00
hallgren
387deecd31 minibar: don't try to select the most recently used grammar if it isn't in the current grammar list 2012-03-19 00:35:10 +00:00
hallgren
0591f77658 minibar: automatically select the most recently used grammar when returning to the minibar 2012-03-18 23:54:50 +00:00
hallgren
07af8988d3 PGF run-time library: function names in BracketedString (experimental)
+ Make room for function names in the BracketedString data structure.
+ Fill in function names when linearizing an abstract syntax tree to a
  BracketedString.
+ Fill in wildCId when it is not obvious what the function is.
+ Function bracketedLinearize: for compatibility with the other linearization
  functions, return Leaf "" instead of error "cannot linearize".
+ Export flattenBracketedString from module PGF.
+ PGFServce: make function names available in the JSON representation of
  BracketedString.
2012-03-18 20:12:26 +00:00
hallgren
771c1a0ad7 minibar: word-for-word replacement (experimental)
The new functionality also needs some new PGF service functionality, which will
be provided in a separate patch.
2012-03-18 20:02:11 +00:00
hallgren
63e531ad39 Cloud service start page layout fix for small screens 2012-03-17 16:23:54 +00:00
hallgren
7c484aeada PGFService.hs: command=browse can now produce output in JSON format.
To get JSON output, add the parameter format=json. The JSON structure contains
the output from the function PGF.browse.
The default is format=html for backwards compatibility.
2012-03-16 13:55:19 +00:00
kr.angelov
230f309317 libpgf: a new implementation for literals which also allows custom literals. the same mechanism is now used for the metavariables 2012-03-12 14:25:51 +00:00
kr.angelov
1726995921 libpgf: added simple lexer 2012-03-09 09:14:44 +00:00
hallgren
d536d02d9b minibar: add an option to make it easy to select png or svg output
for abstract synax trees, parse trees and word alignment diagrams.
2012-03-08 15:30:31 +00:00
hallgren
0722f6f444 PGFService.hs: add output format option to the commands abstrtree, parsetree and alignment
Supported output formats: gv, png, svg.
2012-03-08 11:25:15 +00:00
kr.angelov
ed5de8335b libpgf: implementation for built in literal categories 2012-03-07 16:39:29 +00:00
kr.angelov
96493c274b libpgf: simple fix in the parser debugger 2012-03-07 12:23:07 +00:00
kr.angelov
a96da30489 libpgf: two APIs - one for finding all parse results and another for finding the best parse result 2012-03-07 11:00:17 +00:00
hallgren
d6c2943ad1 gfse: small usability improvements 2012-03-06 23:04:36 +00:00
hallgren
d50c353fd3 gfse: more helpful hints about grammar parts and RGL modules 2012-03-05 21:12:33 +00:00
hallgren
6ee74e5df5 gfse: bug fix: avoid hickup when inhertiting from a missing concrete syntax 2012-03-05 20:47:52 +00:00
hallgren
a55588aad5 gf-server.cabal: always build the fastcgi module (pgf-server), lower version requirement on the cgi package
+ The flag fastcgi is removed: building the fastcgi is the main purpose of
  this cabal file again.
+ pgf-http superseded by gf-server, but is still available as an option
+ Require cgi>=3001.7.3 instead of cgi>=3001.8.0.
2012-03-05 16:38:54 +00:00
hallgren
7df6ce1f77 minibar: tool tip on the feedback button and hint in the feedback form
that the user should select a language from the To: menu to suggest a better
translation to a particular language.
2012-03-05 14:54:42 +00:00
kr.angelov
0e90d1ba1f libpgf: now all concrete functions and categories are explicitly linked to their abstract counter parts 2012-03-05 12:59:31 +00:00
kr.angelov
4d1b0859d0 libpgf: preliminary version for the statistical ranking. we use naive statistical model with random weight for the meta variables. 2012-03-02 19:25:01 +00:00
kr.angelov
58b6bbd242 libpgf: simple optimization in the implementation for heaps 2012-03-02 17:43:46 +00:00
hallgren
7f4038e0a8 gfse: bug fix
Fix a problem opening grammars created before grammar extension was introduced.
2012-03-01 18:11:58 +00:00
kr.angelov
2775faad7a libpgf: an API for building heaps from buffers in gu/seq.c 2012-02-29 18:51:21 +00:00
hallgren
b727e676b4 gfse & minibar: minor style adjustments 2012-02-29 17:37:13 +00:00
hallgren
01404e579c gf -server: update start page, add links to some documentation 2012-02-29 17:05:45 +00:00
hallgren
9a6619e819 gfse: add missing file sort.js to the repository 2012-02-29 16:36:28 +00:00
hallgren
f573d52b43 PGFService.hs bug fix: pattern match failure in doParse
doParse was missing a branch for PGF.ParseIncomplete.
Also introduced the operator .= to simply the code that builds JSON objects.
2012-02-29 16:21:34 +00:00
kr.angelov
e31c883075 libpgf: the first prototype for the robust parser 2012-02-29 14:43:08 +00:00
kr.angelov
b054549082 libpgf: the choice object should remember integers instead of single bytes 2012-02-29 13:41:59 +00:00
hallgren
6f42f58f71 gfse: Translation Quiz integration
Also moved the translation quiz from demos/TransQuiz to src/www/TransQuiz so
that it will be installed by 'cabal install' along with the other files that
are installed for use by gf -server mode.
2012-02-28 17:24:34 +00:00
hallgren
c1c1a73dc3 gf -server mode: JSONP support for grammar lists
Needed by the translation quiz.
2012-02-28 17:20:59 +00:00
kr.angelov
5fa1418194 libpgf: another fix in the parser debugger 2012-02-28 16:37:12 +00:00
aarne
69f84defb0 bug fix in AppPredefined: don't compare values that contain variables. this should be checked even more generally. 2012-02-28 15:13:32 +00:00