After pressing the "i" button to view grammar info, there is now a
"More info" button to get more detailed information about all categories and
functions in the grammar.
This is done by including a lin_action when starting the syntax editor from
the minibar.
Also: added some minibar options in the syntax editor for consistency...
+ Transfer current astract syntax tree when activating the syntax editor
from the minibar.
+ Add options to start the minibar with given input. You need to include
the current grammar url, the current language and the input, like this:
initial_grammar: "/grammars/Foods.pgf",
initial: { from: "FoodsEng", input:["that","fish","is","fresh"]}
+ Fix a style sheet clash.
Created the folder js and moved minibar/support.js and minibar/pgf_online.js
there, to emphasize their status as app independent support libraries.
There are probably more files that should be moved here.
The cloud apps have been updated, externally hosted apps that link directly
to our server need to be updated too.
+ In the PGF web service API, the commands parse, translate and translategroup
now accept a limit parameter. It limits the number of parse trees returned.
If no limit is given, the behaviour is backwards compatible, i.e. no limit
is applied.
+ In minibar, the limit is now set to 25 by default.
This change is based on a suggestion by Kaarel Kaljurand.
Instead of showing the name of a function in the abstract syntax, linearize it
and show the result. For functions with argument, e.g. That : Kind -> Item,
the function is applied to the right number of placeholder arguments: 'That ?'.
If the linearization fails, the name of the function is shown anyway.
The current intput is now represented as an array of words instead of as a
string.
(This is the kind of change is scary to do in a dynamically type language
like JavaScript. In a statically typed language like Haskell you can do it
with confidence, since you know the compiler can help you catch all mistakes...)
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.
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.
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.
+ 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.
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.