Commit Graph

774 Commits

Author SHA1 Message Date
kr.angelov 0d04d56241 qualified names in the tags file 2011-11-04 16:20: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 42af63414f gfse: grammar sharing: bug fixes and win32 support
win32 support is untested
2011-11-01 17:45:57 +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
hallgren bd7cb1ab41 Show version & configuration info when gf -server starts 2011-10-12 19:00:42 +00:00
hallgren 8266df8f58 Bug fixes for gf -server mode and setup 2011-10-12 18:27:46 +00:00
hallgren 44d1a5a9f7 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 0aba45560d More work on support for gfse in "gf -server" mode 2011-10-11 19:17:47 +00:00
hallgren b138844695 Add cloud services needed by gfse to "gf -server" mode 2011-10-10 19:46:57 +00:00
hallgren 04d2dc757c 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 a83b6bea62 don't count app nodes in term size 2011-09-26 13:56:39 +00:00
aarne 1a3a26563b generalized show_dependencies to take a list of constants as its argument 2011-09-25 08:43:23 +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
hallgren 125ae7a3d3 GrammarToPGF.hs: comment out unused imports 2011-08-30 12:02:32 +00:00
aarne 769121788a 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 6757ab2b41 reload command in shell 2011-08-25 15:58:38 +00:00