summaryrefslogtreecommitdiff
path: root/src/compiler/GF/Compile
AgeCommit message (Collapse)Author
2012-10-19Refactor compileSourceModulehallgren
There was 55 lines of rather repetitive code with calls to 6 compiler passes. They have been replaced with 19 lines that call the 6 compiler passes plus 26 lines of helper functions.
2012-10-19Consistenly use SourceGrammar instead of [SourceModule] when calling ↵hallgren
compiler passes
2012-10-18Use NOINLINE for build info and darcs version infohallgren
... to avoid unnecessary recompilation of other modules.
2012-09-18catch all case in GenerateBC.genFunkr.angelov
2012-09-06Add type info to "Warning: ignoring lock fields in resolving..."hallgren
2012-08-30another fix for teyjuskr.angelov
2012-08-29Use nub' instead of nub in some places, remove some unused nub importspeter.ljunglof
2012-08-29Added an O(n log n) version of nubpeter.ljunglof
The new nub is called nub', and it replaces the old sortNub which was not lazy and did not retain the order between the elements.
2012-08-29Emacs only recognizes utf-8, not UTF-8, in file headerspeter.ljunglof
2012-08-29A basic infrastructure for generating Teyjus bytecode from the GF abstract ↵kr.angelov
syntax
2012-08-01the first draft of GF.Compile.Instructionskr.angelov
2012-07-02Minor changes in Python exportpeter.ljunglof
2012-06-28Fixed minor bug in prolog exportpeter.ljunglof
2012-06-27major changes to the prolog exportpeter.ljunglof
2012-06-27cleanup in the python exportpeter.ljunglof
2012-06-26Experiment with parallel grammar checkshallgren
Introduced the function parallelCheck :: [Check a] -> Check [a] that runs independent checks in parallel, potentially allowing faster grammar compilation on multi-core computers, if you run gf with +RTS -N. However, on my dual core laptop, this seems to slow down compilation somewhat even though CPU utilization goes up as high as 170% at times. (This is with GF compiled with GHC 7.0.4.)
2012-06-26Report many type errors instead of stopping after the first onehallgren
In GF.Compile.CheckGrammar, use a new topological sorting function that groups independent judgements, allowing them all to be checked before continuing or reporting errors.
2012-06-25GF.Compile.Rename: report many errors instead of stopping after the first onehallgren
Using accumulated errors in the Check monad. TODO: some errors are still not accumulated, but thanks to checkMapRecover at least one error per judgement is reported.
2012-06-25Check monad: support for accumulated errorshallgren
In addition to warnings, the Check monad in GF.Infra.CheckM can now accumulate errors. There are two new functions checkAccumError: Message -> Check () accumulateError :: (a -> Check a) -> a -> Check a The former (with the same type as checkWarn) is used to report an accumulated (nonfatal) error. The latter converts fatal errors into accumulated errors. Accumulated errors are reported as regular errors by runCheck. Also, the Check monad type has been made abstract.
2012-06-25Export PGF in Python formatpeter.ljunglof
2012-06-25checkMapRecover: find undefined idents in all jments in Renameaarne
2012-05-15missing case in partial evaluation of + fixedaarne
2012-03-26Workaround for bug in ghc-7.2.2hallgren
An apparent bug in ghc-7.2.2 causes the type Value to be exported from PGF.Data. Workaround: restrict the imports from PGF.Data in GF.Command.Abstract and GF.Compile.GeneratePMCFG to avoid the clash with locally defined type Value. (ghc-7.0.4 and ghc-7.4.1 appear to be free from this bug.)
2012-02-28bug fix in AppPredefined: don't compare values that contain variables. this ↵aarne
should be checked even more generally.
2012-02-28buf fix in the compiler for HOASkr.angelov
2012-02-24the Predef function eqVal to compare equality of parameter valuesaarne
2012-01-14sorted the list of funs and cats in GrammatToPGF to get the predef ↵aarne
categories in proper place and get gr, ai, gt work properly
2011-12-02The typechecker is still unfinished but at least it can typecheck the ↵kr.angelov
English resource grammar
2011-11-30Hopefully complete Value type and a little bit more on computations.kr.angelov
2011-11-30more stuff in the new type checkerkr.angelov
2011-11-29Sketch of the new type checker for the concrete syntax. Enabled only with ↵kr.angelov
-new-comp
2011-11-24now if some module is compiled with -no-pmcfg then the PMCFG code is ↵kr.angelov
generated at the end during the linking phase. Now the default compilation of the libraries with cabal is with -no-pmcfg.
2011-11-22make addSequencesB(V) strict. Otherwise we get stack overflow when compiling ↵kr.angelov
LangFre
2011-11-17rebuildModule should do location globalization tookr.angelov
2011-11-17bugfix in the overload resolution. It was accidentally introduced as part of ↵kr.angelov
the per module PMCFG generation
2011-11-15fix in the versioning of the .gfo fileskr.angelov
2011-11-15now we store version number in every .gfo file. If the file is compiled with ↵kr.angelov
different compiler then we simply recompile it.
2011-11-15Now the errors messages from GF.Compile.Update also follow the new formatkr.angelov
2011-11-15the indirections in the .gf-tags files now point directly to the origin of ↵kr.angelov
the corresponding indentifiers
2011-11-15more structured format for errors and warnings from the compilerkr.angelov
2011-11-14bugfix in the new PGF generationkr.angelov
2011-11-14the new design for -tagskr.angelov
2011-11-10Now PMCFG is compiled per module and at the end we only link it. The new ↵kr.angelov
compilation schema is few times faster.
2011-11-02merge GF.Infra.Modules and GF.Grammar.Grammar. This is a preparation for the ↵kr.angelov
separate PGF building
2011-11-02Now the compiler maintains more precise information for the source locations ↵kr.angelov
of the different definitions. There is a --tags option which generates a list of all identifiers with their source locations.
2011-11-01Remove configuration flag cclazyhallgren
2011-10-25Recording an alternative version of look in Compute/ConcreteLazy.hshallgren
Commented out, causes problems in the greek example.
2011-10-25qualification with real module name accepted, as in GF refmanaarne
2011-10-24use associativity to force more precompilation of pre expressionsaarne
2011-10-20Introduce an explicit error value in the Term typehallgren
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.