Commit Graph

226 Commits

Author SHA1 Message Date
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
d058394219 qualified names in the tags file 2011-11-04 16:20:41 +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
5664c0699d gfse: grammar sharing: bug fixes and win32 support
win32 support is untested
2011-11-01 17:45:57 +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
hallgren
864d329336 Show version & configuration info when gf -server starts 2011-10-12 19:00:42 +00:00
hallgren
50605036dd Bug fixes for gf -server mode and setup 2011-10-12 18:27:46 +00:00
hallgren
fa4af3d043 Improvements of "gf -server" mode and related setup
"gf -server" mode now contains everything needed to run the minibar and
the grammar editor (including example-based grammar writing).

The Setup.hs script installs the required files where gf -server can find them.
These files have been moved to a new directory: src/www.

The separate server program pgf-http is now obsolete.
2011-10-12 17:03:54 +00:00
hallgren
7b9f63938d More work on support for gfse in "gf -server" mode 2011-10-11 19:17:47 +00:00
hallgren
51a15531ce Add cloud services needed by gfse to "gf -server" mode 2011-10-10 19:46:57 +00:00
hallgren
b318509528 More functionality in "gf -server" mode
"gf -server" mode now includes PGF service and the services to support
example-based grammar writing. (But gf -server is not quite ready to replace
pgf-http yet...) 

Also bumped GF version number to 3.2.10-darcs
2011-10-10 16:16:16 +00:00
aarne
5163e3f478 don't count app nodes in term size 2011-09-26 13:56:39 +00:00
aarne
7e7927216b generalized show_dependencies to take a list of constants as its argument 2011-09-25 08:43:23 +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