kr.angelov
04fdb41927
fix in the versioning of the .gfo files
2011-11-15 19:46:02 +00:00
kr.angelov
a2626e24dd
now we store version number in every .gfo file. If the file is compiled with different compiler then we simply recompile it.
2011-11-15 19:12:22 +00:00
kr.angelov
59e098a440
Now the errors messages from GF.Compile.Update also follow the new format
2011-11-15 15:33:52 +00:00
kr.angelov
b1a82e8e8a
the indirections in the .gf-tags files now point directly to the origin of the corresponding indentifiers
2011-11-15 14:30:31 +00:00
kr.angelov
61c16f2eb2
more structured format for errors and warnings from the compiler
2011-11-15 13:33:44 +00:00
kr.angelov
8a7aa15c57
bugfix in the new PGF generation
2011-11-14 16:27:59 +00:00
kr.angelov
7be8566f35
the new design for -tags
2011-11-14 16:08:56 +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
f8665c7213
Remove configuration flag cclazy
2011-11-01 13:45:12 +00:00
hallgren
c4ee13abac
Recording an alternative version of look in Compute/ConcreteLazy.hs
...
Commented out, causes problems in the greek example.
2011-10-25 18:50:07 +00:00
aarne
5fd8299805
qualification with real module name accepted, as in GF refman
2011-10-25 14:03:27 +00:00
aarne
7372da3d7f
use associativity to force more precompilation of pre expressions
2011-10-24 12:52:20 +00:00
hallgren
ed451653bd
Introduce an explicit error value in the Term type
...
This makes it easier to treat run-time errors (e.g. caused by calls to
Predef.error) in a way that is more typical for a lazy functional language.
2011-10-20 14:36:30 +00:00
hallgren
ef4fac9d82
Compute/ConcreteLazy.hs: no need to reverse when looking up labels in records
2011-10-20 14:19:33 +00:00
hallgren
d8d60adb15
AppPredefined.hs: more readable notation for the types of primitives
2011-10-20 14:17:37 +00:00
hallgren
42ea96a5ca
Remove unused function computeConcreteRec.
...
This also allows the parameter rec to be removed from function computeTermOpt.
(The change is made in GF.Compile.Compute.ConcreteLazy, but not in
GF.Compile.Compute.ConcreteStrict.)
2011-09-09 12:25:27 +00:00
hallgren
875df01dc6
Add lazy version of GF.Compile.Compute.Concrete
...
This patch adds GF.Compile.Compute.ConcreteLazy, which replaces the Err monad
with the Identity monad. While the Err monad makes the interpreter
(hyper)strict, the Identity monad let's the interpreter inherit Haskell's
laziness. This can give big speedups: from 50s to 1s in one example,
from ~4 minutes to ~2 minutes for the RGL.
This is still experimental and might be buggy, so it is off by default.
You can turn it on by configuring with the -fcclazy flag, e.g.
cabal configure -fcclazy
Let me know if anything breaks.
2011-09-01 16:39:41 +00:00
hallgren
314abe733b
GF.Compile.Coding: cleaner code
...
Refine function codeTerm into codeTerm, codeLTerm and codeLTerms.
2011-08-31 13:55:49 +00:00
hallgren
d180dadf08
GF.Infra.Modules: minor tweaks
...
Still keeping the modules both in a list and in a finite map. The overhead is
smaller than I initially thought.
2011-08-31 11:18:16 +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
6757ab2b41
reload command in shell
2011-08-25 15:58:38 +00:00
aarne
3afefb0ac9
commented Compute/Concrete with explanations
2011-08-22 17:08:07 +00:00
aarne
848373e29e
GenIP, GenRP in Extra and any_Quant in ExtraEng
2011-07-21 08:25:04 +00:00
aarne
a3924abece
Predef functions toUpper, toLower, isUpper
2011-06-02 16:10:46 +00:00
aarne
75e401d1a7
generate Eq instance for GADT
2011-04-06 12:27:31 +00:00
aarne
7067b1c992
fixed the printing of predefined and list categories in haskell=gadt
2011-04-06 07:45:35 +00:00
aarne
7361ddea45
make it possible to override opers defined in an interface by syntax 'instance Foo of Bar - [f,g,h]'
2011-03-12 11:24:14 +00:00
aarne
3ddc29f2dc
make later flags take priority over earlier ones in PGF generation
2011-03-12 11:22:21 +00:00
aarne
f32307b39d
added composOp generation to haskell-gadt, and an example in examples/gadt-transfer
2011-03-05 22:25:03 +00:00
aarne
14f11bb2b9
revived GADT generation
2011-03-04 17:05:40 +00:00
aarne
88a0790f32
fixed a variable refreshing bug in the compiler
2011-03-04 16:44:30 +00:00
aarne
445a3aafeb
Predef.error surfaces as error message in compilation and cc command
2011-02-25 17:01:10 +00:00
krasimir
71e0ec4d41
bugfix: GeneratePMCFG should initialize the lexicon to empty
2010-12-17 09:11:04 +00:00
aarne
a8a3c62f60
type checking of oper types with let expressions
2010-12-14 14:35:41 +00:00
aarne
9b5223a06b
fixed the failure to partial-evaluate pre in right-associative context
2010-12-11 16:27:35 +00:00
aarne
dd6e0b1730
moved PGF.ToApi to GF.Compile.ToAPI
2010-12-07 18:05:13 +00:00
aarne
1f75143d6c
printing option -api in the eb command
2010-12-06 10:49:38 +00:00
aarne
752a7b8030
format .gfm for multiple modules in the same file; includes lines with ;-separated words
2010-11-30 14:50:24 +00:00
hallgren
52eb1dcc37
Add builtin preprocessors. Avoid creating tmp file. Fix multipreprocessor bug.
...
* The gf command line options -preproc=mkPresent and -preproc=mkMinimal now
refer to internal preprocessors equivalent to lib/src/mkPresent
and lib/src/mkMinimal.
* The temporary file _gf_preproc.tmp is not created when running an
internal preprocessor, unless there is an error, since errors messages
refer to locations in the preprocessed file. (Possibly allowing the rgl
build to be parallelized.)
* After running an external preprocessor, the temporary file is deleted,
unless there was an error.
* (Bug fix) Before, when running more than one preprocessor, the same file name
would be used for both input and output, e.g.,
mkPresent _gf_preproc.tmp > _gf_preproc.tmp
which would result in an empty file being processed. Now, the input and
output files will always be different.
2010-11-26 18:25:29 +00:00
krasimir
115b4213d5
operations in the abstract syntax
2010-11-12 19:37:19 +00:00
krasimir
84736e5712
fixed typo in GeneratePMCFG.hs. fidFloat -> fidVar
2010-10-25 11:48:17 +00:00
krasimir
775e59dabe
added explicit depth parameter to the parsing API and the corresponding command in the shell
2010-10-18 16:51:25 +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
fad0512c94
added missing case for GF.Compile.GeneratePMCFG.evalTerm
2010-08-30 07:54:53 +00:00
krasimir
b0e110cf4f
native representation for HOAS in PMCFG and incremental type checking of the parse forest
2010-08-09 10:10:08 +00:00
krasimir
95f1d40c56
report type errors in the shell from command "p"
2010-07-07 12:23:21 +00:00
krasimir
710b8f1bf7
the abstract syntax for Predef.gf is now hard-coded in AppPredefined.hs
2010-07-01 15:38:16 +00:00