1
0
forked from GitHub/gf-core
Commit Graph

2697 Commits

Author SHA1 Message Date
hallgren
be89ed18b3 minibar&gfse: first working grammar extension interface in minibar
There are still some user interface wrinkles to iron out.
2012-04-04 17:00:25 +00:00
hallgren
117ae47436 minibar: remember current input
If you leave the minibar and later return, the previous input will be
restored. One input string per grammar is rememebered, so you can also switch
back and forth between grammars without losing the input.
This is implemented using localStorage, i.e. the data is stored locally on
the user's device.
2012-04-03 14:53:23 +00:00
kr.angelov
99cc07ad67 simple cleanup in the robust parser 2012-04-02 19:01:18 +00:00
hallgren
ad8a889894 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
d3e809f95b gf-server.cabal: mtl is needed to build pgf-server now 2012-04-02 15:58:21 +00:00
hallgren
df4183d92e 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
58e45457f2 support.js: add an implementation of Array.isArray for older browsers that lack it 2012-04-01 18:23:28 +00:00
hallgren
7114c59827 gfse&minibar: work in progress on grammar extension fromminibar 2012-03-29 17:10:36 +00:00
hallgren
bb44210ff0 gfse: show an informative error message in browsers that lack support for localStorage 2012-03-29 14:11:38 +00:00
hallgren
8195c36f6f 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
73040e9c50 compiler/GF/Text/Coding.hs: fix build failure against ghc-7.2 2012-03-26 20:48:57 +00:00
Sergei Trofimovich
4404be284d 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
3f1f9211db 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
833f72b2e1 gfse: enable word replacement in minibar when activated from the editor 2012-03-26 17:13:40 +00:00
hallgren
ecd6d193ce 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
68b8a78e76 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
f899d54057 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
e988171c5c 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
053a29bd67 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
253244bad9 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
3398e1060b minibar: automatically select the most recently used grammar when returning to the minibar 2012-03-18 23:54:50 +00:00
hallgren
c234e58a6a 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
c62a015eca 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
2b845b49e4 Cloud service start page layout fix for small screens 2012-03-17 16:23:54 +00:00
hallgren
661d7edfe7 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
2bf3f22fac 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
c1b2246fa9 libpgf: added simple lexer 2012-03-09 09:14:44 +00:00
hallgren
f5737e8222 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
7091ba131a 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
1da464a4cc libpgf: implementation for built in literal categories 2012-03-07 16:39:29 +00:00
kr.angelov
bf81c0f77f libpgf: simple fix in the parser debugger 2012-03-07 12:23:07 +00:00
kr.angelov
e871330665 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
5a43e69f30 gfse: small usability improvements 2012-03-06 23:04:36 +00:00
hallgren
1b4f1863c6 gfse: more helpful hints about grammar parts and RGL modules 2012-03-05 21:12:33 +00:00
hallgren
61be155fc3 gfse: bug fix: avoid hickup when inhertiting from a missing concrete syntax 2012-03-05 20:47:52 +00:00
hallgren
139e90b2e1 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
7c6ea86357 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
791a1a17b0 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
fdf6dd7798 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
79c7141973 libpgf: simple optimization in the implementation for heaps 2012-03-02 17:43:46 +00:00
hallgren
2394a09cc0 gfse: bug fix
Fix a problem opening grammars created before grammar extension was introduced.
2012-03-01 18:11:58 +00:00
kr.angelov
862e89db8d libpgf: an API for building heaps from buffers in gu/seq.c 2012-02-29 18:51:21 +00:00
hallgren
1fed3349f7 gfse & minibar: minor style adjustments 2012-02-29 17:37:13 +00:00
hallgren
4ae34abd04 gf -server: update start page, add links to some documentation 2012-02-29 17:05:45 +00:00
hallgren
74b643bfc3 gfse: add missing file sort.js to the repository 2012-02-29 16:36:28 +00:00
hallgren
cc2299dde7 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
aca0bd5ee5 libpgf: the first prototype for the robust parser 2012-02-29 14:43:08 +00:00
kr.angelov
65a69cab91 libpgf: the choice object should remember integers instead of single bytes 2012-02-29 13:41:59 +00:00
hallgren
eb1b4ecf3f 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
a68331d287 gf -server mode: JSONP support for grammar lists
Needed by the translation quiz.
2012-02-28 17:20:59 +00:00