Commit Graph

40 Commits

Author SHA1 Message Date
kr.angelov
e76873c11f a bit more informative error message in GrammarToPGF 2013-04-22 12:14:39 +00:00
kr.angelov
55203110bb now the beam size for the statistical parser can be configured by using the flag beam_size in the top-level concrete module 2013-02-12 10:53:13 +00:00
hallgren
764b649959 Better error message for Predef.error
+ Instead of "Internal error in ...", you now get a proper error message with
  a source location and a function name.
+ Also added some missing error value propagation in the partial evaluator.
+ Also some other minor cleanup and error handling fixes.
2013-01-28 16:12:56 +00:00
kr.angelov
8aefd1e072 The first prototype for exhaustive generation in the C runtime. The trees are always listed in decreasing probability order. There is also an API for generation from Python 2012-12-14 15:32:49 +00:00
hallgren
f39466f787 partial evaluator work
* Evaluate operators once, not every time they are looked up
* Remember the list of parameter values instead of recomputing it from the
  pattern type every time a table selection is made.
* Quick fix for partial application of some predefined functions.
2012-12-11 15:37:41 +00:00
aarne
d34adff894 produce error message instead of failure of irrefutable pattern Ok ty_C in GrammarToPGF, to help find compilation errors; the ones I've found are because an inherited abstract excludes something that the inherited concrete does not exclude. 2012-12-02 19:40:45 +00:00
kr.angelov
fd5220038d A basic infrastructure for generating Teyjus bytecode from the GF abstract syntax 2012-08-29 11:43:02 +00:00
aarne
8936c6d38e sorted the list of funs and cats in GrammatToPGF to get the predef categories in proper place and get gr, ai, gt work properly 2012-01-14 17:06:54 +00:00
kr.angelov
f1cacffc98 now if some module is compiled with -no-pmcfg then the PMCFG code is generated at the end during the linking phase. Now the default compilation of the libraries with cabal is with -no-pmcfg. 2011-11-24 14:23:04 +00:00
kr.angelov
9b482722c3 bugfix in the new PGF generation 2011-11-14 16:27:59 +00:00
kr.angelov
bbe42d1e90 Now PMCFG is compiled per module and at the end we only link it. The new compilation schema is few times faster. 2011-11-10 14:09:41 +00:00
kr.angelov
54019c75ae merge GF.Infra.Modules and GF.Grammar.Grammar. This is a preparation for the separate PGF building 2011-11-02 13:57:11 +00:00
kr.angelov
bc35626489 Now the compiler maintains more precise information for the source locations of the different definitions. There is a --tags option which generates a list of all identifiers with their source locations. 2011-11-02 11:44:59 +00:00
hallgren
0325f7264d GF.Infra.Modules: keep the modules of a grammar in a finite map instead of a list
This speeds up the compilation of PhrasebookFin.pgf by 12%, mosly by speeding
up calls to lookupModule in calls from lookupParamValues, in calls
from allParamValues.

The invariant "modules are stored in dependency order" is no longer respected!
But the type MGrammar is now abstract, making it easier to maintain this or
other invariants in the future.
2011-08-30 18:54:50 +00:00
hallgren
3c848ad0b5 GrammarToPGF.hs: comment out unused imports 2011-08-30 12:02:32 +00:00
aarne
87aa41d503 make later flags take priority over earlier ones in PGF generation 2011-03-12 11:22:21 +00:00
krasimir
fe1205059b operations in the abstract syntax 2010-11-12 19:37:19 +00:00
krasimir
be9ad26aea refactor the API for random generation again. Now PGF contains probabilities in the abstract syntax 2010-10-02 13:03:57 +00:00
krasimir
527efbef9d reorganize the modules in GF.Compile.* 2010-07-01 14:19:32 +00:00
krasimir
3a5f193fd7 compilation of pattern matching using the algorithm of Lennart Augustsson. Not used yet 2010-06-30 16:00:47 +00:00
krasimir
2069d9c9eb Yay!! Direct generation of PMCFG from GF grammar 2010-06-18 12:55:58 +00:00
krasimir
d777e8e52f dead code elimination for PGF. Note: the produced grammars will not work well with metavariables and high-order abstract syntax 2010-06-09 11:32:59 +00:00
krasimir
4f1f8b6308 refactoring in GF.Grammar.Grammar 2010-05-28 14:15:15 +00:00
krasimir
ce99935812 now for every category we store, in PGF, the list of functions for it in source-code order. The order matters for the termination of the exhaustive generation with dependent types. 2010-03-24 11:11:55 +00:00
krasimir
d3a84f994b store and propagate the exact source location for all judgements in the grammar. It may not be used accurately in the error messages yet 2010-03-22 21:15:29 +00:00
krasimir
a74a81b8a1 pattern @ should be propagated to PGF 2010-03-18 20:21:57 +00:00
krasimir
0c2944fa7f syntax for inaccessible patterns in GF 2010-03-18 19:34:30 +00:00
krasimir
899ed163a1 no need to keep the list of constructors per category in .gfo 2010-02-16 09:34:02 +00:00
krasimir
c2259adf5d bugfix in GrammarToPGF related to the compilation of def rules 2010-02-05 22:16:44 +00:00
krasimir
4485e97181 refactor GF.Infra.Modules for better error messages 2010-01-31 15:54:25 +00:00
krasimir
9e547710f5 bugfix in the PGF typechecker and more test cases 2010-01-29 21:10:14 +00:00
krasimir
3685595ece cleanup the code of the PGF interpreter and polish the binary serialization to match the preliminary specification 2010-01-27 09:39:14 +00:00
krasimir
38b02bb64d fix the PGF generation when it is used from the shell 2010-01-26 14:15:37 +00:00
krasimir
a039808141 PGF is now real synchronous PMCFG 2010-01-17 21:35:36 +00:00
krasimir
362f333ebd now the linearization is completely based on PMCFG 2010-01-17 17:05:21 +00:00
krasimir
61867b2b72 prettier parameter names in PGF 2010-01-17 00:41:46 +00:00
krasimir
f841b1ada5 printnames are now kept as String instead of Term in PGF 2010-01-05 07:05:41 +00:00
aarne
24f6f9181a one step deeper into records in PGF generation 2009-12-16 16:25:52 +00:00
krasimir
76debee2c1 remove the old parsing code and the -erasing=on flag 2009-12-14 10:54:22 +00:00
krasimir
15ddc283d4 rename some modules that had GFCC in the name to PGF+something 2009-12-14 10:10:58 +00:00