hallgren
5e091d2e3d
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
03c3c57290
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
f8fe23fda7
A basic infrastructure for generating Teyjus bytecode from the GF abstract syntax
2012-08-29 11:43:02 +00:00
aarne
85d777e068
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
c05be64838
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
8a7aa15c57
bugfix in the new PGF generation
2011-11-14 16:27:59 +00:00
kr.angelov
416d231c5e
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
734c66710e
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
5fe49ed9f7
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
ba10b5b0ca
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
125ae7a3d3
GrammarToPGF.hs: comment out unused imports
2011-08-30 12:02:32 +00:00
aarne
3ddc29f2dc
make later flags take priority over earlier ones in PGF generation
2011-03-12 11:22:21 +00:00
krasimir
115b4213d5
operations in the abstract syntax
2010-11-12 19:37:19 +00:00
krasimir
cb8795c222
refactor the API for random generation again. Now PGF contains probabilities in the abstract syntax
2010-10-02 13:03:57 +00:00
krasimir
e0231cbf5b
reorganize the modules in GF.Compile.*
2010-07-01 14:19:32 +00:00
krasimir
706b215fce
compilation of pattern matching using the algorithm of Lennart Augustsson. Not used yet
2010-06-30 16:00:47 +00:00
krasimir
992a7ffb38
Yay!! Direct generation of PMCFG from GF grammar
2010-06-18 12:55:58 +00:00
krasimir
d6f32b3bcd
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
c3f4c3eba7
refactoring in GF.Grammar.Grammar
2010-05-28 14:15:15 +00:00
krasimir
68482aa7e9
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
bf74f50733
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
973a0cacb7
pattern @ should be propagated to PGF
2010-03-18 20:21:57 +00:00
krasimir
f870c4d80f
syntax for inaccessible patterns in GF
2010-03-18 19:34:30 +00:00
krasimir
19b17dceb6
no need to keep the list of constructors per category in .gfo
2010-02-16 09:34:02 +00:00
krasimir
168d459c49
bugfix in GrammarToPGF related to the compilation of def rules
2010-02-05 22:16:44 +00:00
krasimir
be6465a2eb
refactor GF.Infra.Modules for better error messages
2010-01-31 15:54:25 +00:00
krasimir
3b7e39fa4a
bugfix in the PGF typechecker and more test cases
2010-01-29 21:10:14 +00:00
krasimir
890d455793
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
bc6323df4c
fix the PGF generation when it is used from the shell
2010-01-26 14:15:37 +00:00
krasimir
9b362ff231
PGF is now real synchronous PMCFG
2010-01-17 21:35:36 +00:00
krasimir
af13bae2df
now the linearization is completely based on PMCFG
2010-01-17 17:05:21 +00:00
krasimir
9e3d4c74dc
prettier parameter names in PGF
2010-01-17 00:41:46 +00:00
krasimir
3ed19a482e
printnames are now kept as String instead of Term in PGF
2010-01-05 07:05:41 +00:00
aarne
6a130d2e86
one step deeper into records in PGF generation
2009-12-16 16:25:52 +00:00
krasimir
c036459214
remove the old parsing code and the -erasing=on flag
2009-12-14 10:54:22 +00:00
krasimir
faa638d6fc
rename some modules that had GFCC in the name to PGF+something
2009-12-14 10:10:58 +00:00