Commit Graph

5095 Commits

Author SHA1 Message Date
john.j.camilleri 27beb9a3f8 Syntax editor: random generation of trees (and subtrees!) 2012-11-20 09:36:50 +00:00
kr.angelov 5e3b23325e remove the duplicated definition of PgfProductionIdx in parser.c 2012-11-19 14:16:31 +00:00
hallgren 889d7db76d GF web service API examples: update examples of the browse command
Also some style tweaks.
2012-11-17 17:42:30 +00:00
hallgren ca5b066588 PGF service: command=browse&format=json returns info on all cats and funs
The browse command used to have a required parameter id=... and it returned
info on the given identifier only. Now, if format=json, the id=... parameter
can be omitted to get info on all identifiers at the same time. The returned
JSON structure in this case is

        {cats:{...},funs:{...}}

where the inner objects contain one field per category and function,
respectively, in the same format as when you request info on one category or
function.
2012-11-17 14:22:30 +00:00
hallgren 73c78c8840 GF web service API examples: added the "abstrjson" command
It converts an abstract syntax tree (represented as a string) to a JSON
structure.
Also some HTML code cleanup.
2012-11-17 11:55:32 +00:00
john.j.camilleri 3e5dac8ed4 Syntax editor: work on importing AST as string (eg for generate random)
But it's still not complete. Need an efficient way of getting the cat info to accompany funs.
2012-11-16 14:35:37 +00:00
kr.angelov 954d7a7ff5 bugfix for the building of bottom-up filter in the C runtime 2012-11-16 13:27:15 +00:00
hallgren 7d616c01b4 new-comp: rewrite f (x|y) into (f x|f y)
With this change, all languages in molto/mgl/mixture except German and Polish
can be compiled.
2012-11-16 13:47:10 +00:00
john.j.camilleri 67ca0a1eae Syntax editor: select subset of available languages
Also added a basic readme file with a list of todo's
2012-11-16 09:33:55 +00:00
john.j.camilleri f815b2850b Syntax editor: jump to next hole in tree 2012-11-15 15:38:17 +00:00
john.j.camilleri dc0f333fec Syntax editor: fix bug in Firefox, Seamonkey 2012-11-15 12:40:14 +00:00
hallgren 2cc39661d9 Add flag --document-root for user with gf --server
This can make it easier to test cloud service updates before installing them.
2012-11-14 13:52:45 +00:00
hallgren 595a69ba0c GF usage message fixes
Change the command name from gfc to gf in the usage message header.
Correct spelling of "overide" to "override" in -gf-lib-path description.
2012-11-14 13:49:10 +00:00
kr.angelov 5c52eaf0b7 revised heuristic in the statistical parser 2012-11-14 12:34:22 +00:00
john.j.camilleri 5c8c1f768f Add first demo of new syntax editor
As part of the GF cloud stuff, it can be accessed from
http://cloud.grammaticalframework.org/syntax-editor/editor.html
2012-11-13 15:14:49 +00:00
hallgren 27e675910a Adding a new experimental partial evalutator
GF.Compile.Compute.ConcreteNew + two new modules contain a new
partial evaluator intended to solve some performance problems with the old
partial evalutator in GF.Compile.Compute.ConcreteLazy. It has been around for
a while, but is now complete enough to compile the RGL and the Phrasebook.

The old partial evaluator is still used by default. The new one can be activated
in two ways:

  - by using the command line option -new-comp when invoking GF.
  - by using cabal configure -fnew-comp to make -new-comp the default. In this
    case you can also use the command line option -old-comp to revert to the old
    partial evaluator.

In the GF shell, the cc command uses the old evaluator regardless of -new-comp
for now, but you can use "cc -new ..." to invoke the new evaluator.

With -new-comp, computations happen in GF.Compile.GeneratePMCFG instead of
GF.Compile.Optimize. This is implemented by testing the flag optNewComp in
both modules, to omit calls to the old partial evaluator from GF.Compile.Optimize
and add calls to the new partial evaluator in GF.Compile.GeneratePMCFG.
This also means that -new-comp effectively implies -noexpand.

In GF.Compile.CheckGrammar, there is a check that restricted inheritance is used
correctly. However, when -noexpand is used, this check causes unexpected errors,
so it has been converted to generate warnings, for now.

-new-comp no longer enables the new type checker in
GF.Compile.Typeckeck.ConcreteNew.

The GF version number has been bumped to 3.3.10-darcs
2012-11-13 14:09:15 +00:00
kr.angelov 468464faca bugfix in the statistical parser 2012-11-13 09:48:23 +00:00
kr.angelov d1044b202a two simple heuristics which speed up the statistical parser more than seven times. 2012-11-12 22:17:40 +00:00
kr.angelov 182e366f5d a simple refactoring in the statistical parser 2012-11-12 21:48:22 +00:00
kr.angelov 7ad4436502 more counters in the profiler for the statistical parser 2012-11-12 15:36:21 +00:00
kr.angelov 9b2487243e now we store the state instead of the offset for every continuation in the chart for the statistical parser 2012-11-12 14:04:52 +00:00
kr.angelov c28056c4e5 in the statistical parser: move the outside probability from the parse items to their continuation. this makes the value slot shared between many items 2012-11-12 13:43:43 +00:00
kr.angelov 56f3ff8202 small refactoring in the C runtime 2012-11-12 13:05:35 +00:00
kr.angelov cce22a7f7a use size_t consistently as the type for constituent indices in the C runtime 2012-11-12 12:51:27 +00:00
kr.angelov 6784a4c76e implemented gu_map_count in runtime/c/gu/map.c 2012-11-12 12:42:19 +00:00
hallgren 63093c32f3 Eliminate warnings about deprecated use of catch and try
This is also needed for compatibility with GHC 7.6.
2012-11-08 15:53:46 +00:00
hallgren 1c0429c322 GF.Grammar.PatternMatch: relax overly restrictive type signatures 2012-11-07 17:23:08 +00:00
hallgren 8e6c81fe5a Some changed/new utility functions
GF.Data.Utilities:  Rename mapFst to apFst, mapSnd to apSnd.
		    Add apBoth, mapFst, mapSnd, mapBoth.
GF.Data.Operations: Remove onSnd (same as apSnd)
2012-11-07 15:31:45 +00:00
hallgren 1dbf575a71 gf -server: make it possible to pass arbitrary flags/options to gf when compiling grammars
For example, you can add -optimize-pgf:

  http://localhost:41296/cloud?dir=...&command=remake&-optimize-pgf=&Foods2Eng.gf=&Foods2Swe.gf=
2012-11-06 15:29:38 +00:00
virk.shafqat cfcf7cbc7f unicode4k-changed 2012-11-05 16:44:31 +00:00
hallgren 680d536279 TransQuiz: use the grammars from the same server
Unlike the other web apps in the cloud, the translation quiz was configured
to use the grammars at http://www.grammaticalframework.org/grammars.
2012-10-30 14:36:55 +00:00
kr.angelov c679b08b38 use prob_t instead of float in a few places 2012-10-29 08:52:56 +00:00
john.j.camilleri 377ce1732d Minibar: cursor over editable words is now a "hand"
This had been bugging me for ages!
2012-10-26 15:00:19 +00:00
kr.angelov 118333eee8 forgot to add one #ifdef 2012-10-25 18:37:22 +00:00
hallgren b2965730f1 GF.Grammar.Macros: add function collectPattOp
collectPattOp :: (Patt -> [a]) -> Patt -> [a]
2012-10-25 16:12:21 +00:00
kr.angelov d185938952 a major refactoring in the robust parser: bottom-up filtering and garbage collection for the chart 2012-10-25 14:42:53 +00:00
hallgren 619c341ee9 GF.Grammar.Macros: add function composPattOp
For Patt, analogous to composOp for Term.
2012-10-24 22:40:18 +00:00
hallgren 9f8c0f86f1 Compute.ConcreteNew: support variants
Also add a missing check for Predef values in apply.
2012-10-24 17:49:20 +00:00
hallgren 6fcd435cd9 GeneratePMCFG: prefix messages about "impossible" errors with 'Internal error:'
Just to make them easier to spot when wading through thousands of lines of
warnings...
2012-10-24 17:08:52 +00:00
hallgren f7cb80008b gf-cloud-api.html: document the new command=remake
Also improve the documentation of the responses to the upload and make
commands.
2012-10-23 21:16:31 +00:00
hallgren b810b5000c gf -server: introduce command=remake for recompiling previously uploaded grammars
Also remove some old commented out code.
2012-10-23 20:23:01 +00:00
hallgren bb93e18ec1 cleanup
Simplify the implementation of writeUTF8File and use it in one more place.
Remove unused imports left over after a previous change.
2012-10-23 11:48:23 +00:00
hallgren 0bf9627d79 Add Chinese to the list of installed RGL languages and support it in the web apps
Aarne says the Chinese resource grammar is complete, but not yet completely
correct.
2012-10-22 10:16:10 +00:00
hallgren be75546965 Refactor compileSourceModule
There was 55 lines of rather repetitive code with calls to 6 compiler passes.
They have been replaced with 19 lines that call the 6 compiler passes
plus 26 lines of helper functions.
2012-10-19 20:14:11 +00:00
hallgren 1195db1da3 Consistenly use SourceGrammar instead of [SourceModule] when calling compiler passes 2012-10-19 19:56:00 +00:00
hallgren 584b6ba86d Use NOINLINE for build info and darcs version info
... to avoid unnecessary recompilation of other modules.
2012-10-18 20:01:22 +00:00
hallgren 9a022a141e gfse: grammars can now contain one-line descriptions
Also fixed two small problems with public grammars.
2012-10-18 12:48:39 +00:00
hallgren 7ca6426807 gfse: small fix 2012-10-16 23:06:37 +00:00
hallgren d01e790d95 gfse: identify inherited grammars by their unique id
This helps avoiding problems if an inherited grammar is renamed, or if there
is more than one grammar with the same name.
2012-10-16 22:10:49 +00:00
hallgren 4c0c7a994b GF.Command.Command: turn CommandOutput into a newtype
The output from commands is represented as ([Expr],String), where the [Expr] is
used when data is piped between commands and the String is used for the final
output. The String can represent the same list of trees as the [Expr] and/or
contain diagnostic information.

Sometimes the data that is piped between commands is not a list of trees, but
e.g. a string or a list of strings. In those cases, functions like fromStrings
and toStrings are used to encode the data as a [Expr].

This patch introduces a newtype for CommandOutput and collects the functions
dealing with command output in one place to make it clearer what is going on.
It also makes it easier to change to a more direct representation of piped
data, and make pipes more "type safe", if desired.
2012-10-16 13:01:03 +00:00