kr.angelov
4f95b5656b
bugfix in the overload resolution. It was accidentally introduced as part of the per module PMCFG generation
2011-11-17 21:36:45 +00:00
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
8a10aa5cf9
now the pretty printer in GF has a new mode called Internal. This is the most detailed mode and it can print even things that are not in the GF syntax. For example PMCFG snippets and indirections.
2011-11-15 15:55:45 +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
43fc9f462a
remove the -output-file option
2011-11-14 16:10:13 +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
b25ec6ae89
remove few obsolete options from GF.Infra.Options
2011-11-10 09:02:46 +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
Nick Frolov
5b7736e860
Fixed a typo in the shell online help
2011-11-01 11:22:13 +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
e5accc0d8d
Some experiments with PSeq (left commented out)
2011-10-20 14:25:31 +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
aarne
a83b6bea62
don't count app nodes in term size
2011-09-26 13:56:39 +00:00
aarne
0c2f20d04d
structured examples in help into pairs (command,explanation)
2011-09-25 08:42:27 +00:00
aarne
780d9ef528
bug fixes in code size analysis
2011-09-24 08:20:58 +00:00
kr.angelov
bb599029c9
change the precedence for the left argument of ->
2011-09-22 16:24:02 +00:00
aarne
6db0c74c2f
the sd -size command now shows the size of all code needed for defining an oper
2011-09-22 12:11:03 +00:00
aarne
baa9bcd9d0
documented the ss command
2011-09-22 07:40:19 +00:00
aarne
bd22b935de
statistics on grammar size in terms of constructors
2011-09-21 13:24:59 +00:00
aarne
958e81126d
commands ss to show source, and sd to show the dependencies of a constant
2011-09-21 08:12:14 +00:00
aarne
33a42b1c7c
module for analysing source grammars
2011-09-20 16:00:56 +00:00
aarne
a2ccf1ce69
command ss to show source (including gfo) in text; to be extended
2011-09-20 14:58:27 +00:00
hallgren
751fd79763
Add a command name header to the 'help -t2t' output
2011-09-15 18:19:01 +00:00
aarne
10d79ed050
made ps -from_TRANSLIT symmetric to -to_TRANSLIT in the sense that unknown characters are returned as themselves and not as question marks
2011-09-15 10:49:40 +00:00
hallgren
642d391d73
Omit empty sections in gf help output
2011-09-14 20:26:22 +00:00
hallgren
570afd870c
GF shell command 'help -t2t' outputs help in txt2tags format
2011-09-14 19:40:28 +00:00
hallgren
c8501547bf
Don't make noexpand the default with -fcclazy
...
This reverts the previous change. Not preprocessing opers turns out to make a
difference in what needs to be mentioned in restricted inheritance/imports.
2011-09-09 16:17:33 +00:00
hallgren
312c13c2d8
Make noexpand the default optimization package when configuring with -fcclazy
2011-09-09 13:50:38 +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
8098f79941
GF.Grammar.Macros: simplify composOp and composSafeOp
2011-09-07 17:11:52 +00:00
hallgren
e223d3bdb9
Make the -fcclazy configuration option visible in the build info in the GF Shell welcome message
2011-09-05 15:20:39 +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
bfe4b0b2a4
GF.Grammar.*: generalized the type of some functions that can not fail from the Err monad to arbitrary monads
2011-09-01 16:35:53 +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
b743abb375
GF.Infra.Modules: restore module dependency order invariant
...
It is needed by greatestResource (and similar functions, presumably).
So keep both the list and the finite map of modules. This slows down some
things, but the compilation of PhrasebookFin.pgf benefits from it.
To be continued...
2011-08-30 20:20:45 +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
fe2fad8f8d
GF.Grammar.Lookup: added function lookupQIdentInfo
...
+ Avoids some code duplication by combinging lookupModule and lookupIdentInfo.
+ Also removed lookupIdentInfo from export list, since it is not used anywhere
else.
2011-08-30 14:53:11 +00:00
hallgren
a0c785d5d0
PatternMatch.hs: commented out suspicious unused function varsOfPatt
2011-08-30 12:13:50 +00:00