kr.angelov
f47381e578
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
48558197a8
more structured format for errors and warnings from the compiler
2011-11-15 13:33:44 +00:00
kr.angelov
9b482722c3
bugfix in the new PGF generation
2011-11-14 16:27:59 +00:00
kr.angelov
beba7b37f9
remove the -output-file option
2011-11-14 16:10:13 +00:00
kr.angelov
e161f93f4d
the new design for -tags
2011-11-14 16:08:56 +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
a8aef4278e
remove few obsolete options from GF.Infra.Options
2011-11-10 09:02:46 +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
f46593559a
Remove configuration flag cclazy
2011-11-01 13:45:12 +00:00
Nick Frolov
0baf0d4e4a
Fixed a typo in the shell online help
2011-11-01 11:22:13 +00:00
hallgren
2a10c21ad9
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
f7dc299c87
qualification with real module name accepted, as in GF refman
2011-10-25 14:03:27 +00:00
aarne
ffd9a93a80
use associativity to force more precompilation of pre expressions
2011-10-24 12:52:20 +00:00
hallgren
a8b97caed4
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
68b2e248bf
Some experiments with PSeq (left commented out)
2011-10-20 14:25:31 +00:00
hallgren
ec346b16bb
Compute/ConcreteLazy.hs: no need to reverse when looking up labels in records
2011-10-20 14:19:33 +00:00
hallgren
61c54d4490
AppPredefined.hs: more readable notation for the types of primitives
2011-10-20 14:17:37 +00:00
aarne
5163e3f478
don't count app nodes in term size
2011-09-26 13:56:39 +00:00
aarne
9db9c49bd6
structured examples in help into pairs (command,explanation)
2011-09-25 08:42:27 +00:00
aarne
f3087e4e43
bug fixes in code size analysis
2011-09-24 08:20:58 +00:00
kr.angelov
a112c56e74
change the precedence for the left argument of ->
2011-09-22 16:24:02 +00:00
aarne
ac51d644fc
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
d97101154f
documented the ss command
2011-09-22 07:40:19 +00:00
aarne
6ae7a9dde9
statistics on grammar size in terms of constructors
2011-09-21 13:24:59 +00:00
aarne
cdaf3dc2f4
commands ss to show source, and sd to show the dependencies of a constant
2011-09-21 08:12:14 +00:00
aarne
1fc37fc9b4
module for analysing source grammars
2011-09-20 16:00:56 +00:00
aarne
9cbe3982bd
command ss to show source (including gfo) in text; to be extended
2011-09-20 14:58:27 +00:00
hallgren
4e35640bb8
Add a command name header to the 'help -t2t' output
2011-09-15 18:19:01 +00:00
aarne
42b7b0f8c2
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
e837f072f4
Omit empty sections in gf help output
2011-09-14 20:26:22 +00:00
hallgren
ac0b6db821
GF shell command 'help -t2t' outputs help in txt2tags format
2011-09-14 19:40:28 +00:00
hallgren
0b24415469
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
6a5972e00d
Make noexpand the default optimization package when configuring with -fcclazy
2011-09-09 13:50:38 +00:00
hallgren
c2e7f89a0a
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
55538c2b7e
GF.Grammar.Macros: simplify composOp and composSafeOp
2011-09-07 17:11:52 +00:00
hallgren
9b44a2248e
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
ce714fa723
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
539c49c23b
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
117fe7ad70
GF.Compile.Coding: cleaner code
...
Refine function codeTerm into codeTerm, codeLTerm and codeLTerms.
2011-08-31 13:55:49 +00:00
hallgren
38db834a65
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
42e2c68d8e
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
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
109c55e2fb
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
9a4f3cec9c
PatternMatch.hs: commented out suspicious unused function varsOfPatt
2011-08-30 12:13:50 +00:00
hallgren
3c848ad0b5
GrammarToPGF.hs: comment out unused imports
2011-08-30 12:02:32 +00:00
aarne
250c9f8d82
import command now gives priority to new abstract syntax, and discards the old concretes if they are for the old abstract; the new priority is implemented in PGF.Data.unionPGF
2011-08-28 10:35:55 +00:00
aarne
b5d04181ba
reload command in shell
2011-08-25 15:58:38 +00:00
aarne
22a079e8f1
commented Compute/Concrete with explanations
2011-08-22 17:08:07 +00:00
aarne
9023382c31
GenIP, GenRP in Extra and any_Quant in ExtraEng
2011-07-21 08:25:04 +00:00