1
0
forked from GitHub/gf-core
Commit Graph

326 Commits

Author SHA1 Message Date
kr.angelov
9f777aed7e Hopefully complete Value type and a little bit more on computations. 2011-11-30 20:56:31 +00:00
kr.angelov
11a37316da more stuff in the new type checker 2011-11-30 14:55:52 +00:00
kr.angelov
cac5b9ff0d fix the compilation after the patch for the new type checker 2011-11-29 18:45:51 +00:00
kr.angelov
eaaefe73d0 Sketch of the new type checker for the concrete syntax. Enabled only with -new-comp 2011-11-29 12:12:51 +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
1f174fe04f make addSequencesB(V) strict. Otherwise we get stack overflow when compiling LangFre 2011-11-22 20:31:58 +00:00
kr.angelov
c626262f9a rebuildModule should do location globalization too 2011-11-17 22:11:56 +00:00
kr.angelov
67aa44a620 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
79ba3c0877 fix in the versioning of the .gfo files 2011-11-15 19:46:02 +00:00
kr.angelov
1b85355d47 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
c73bbeabb4 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
0163942df9 Now the errors messages from GF.Compile.Update also follow the new format 2011-11-15 15:33:52 +00:00
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