summaryrefslogtreecommitdiff
path: root/src/compiler/GF/Compile/GetGrammar.hs
AgeCommit message (Collapse)Author
2013-11-05Eliminate mutual dependencies between the GF compiler and the PGF libraryhallgren
+ References to modules under src/compiler have been eliminated from the PGF library (under src/runtime/haskell). Only two functions had to be moved (from GF.Data.Utilities to PGF.Utilities) to make this possible, other apparent dependencies turned out to be vacuous. + In gf.cabal, the GF executable no longer directly depends on the PGF library source directory, but only on the exposed library modules. This means that there is less duplication in gf.cabal and that the 30 modules in the PGF library will no longer be compiled twice while building GF. To make this possible, additional PGF library modules have been exposed, even though they should probably be considered for internal use only. They could be collected in a PGF.Internal module, or marked as "unstable", to make this explicit. + Also, by using the -fwarn-unused-imports flag, ~220 redundant imports were found and removed, reducing the total number of imports by ~15%.
2012-11-08Eliminate warnings about deprecated use of catch and tryhallgren
This is also needed for compatibility with GHC 7.6.
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-08-29Use nub' instead of nub in some places, remove some unused nub importspeter.ljunglof
2011-11-15more structured format for errors and warnings from the compilerkr.angelov
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.
2010-11-26Add builtin preprocessors. Avoid creating tmp file. Fix multipreprocessor bug.hallgren
* The gf command line options -preproc=mkPresent and -preproc=mkMinimal now refer to internal preprocessors equivalent to lib/src/mkPresent and lib/src/mkMinimal. * The temporary file _gf_preproc.tmp is not created when running an internal preprocessor, unless there is an error, since errors messages refer to locations in the preprocessed file. (Possibly allowing the rgl build to be parallelized.) * After running an external preprocessor, the temporary file is deleted, unless there was an error. * (Bug fix) Before, when running more than one preprocessor, the same file name would be used for both input and output, e.g., mkPresent _gf_preproc.tmp > _gf_preproc.tmp which would result in an empty file being processed. Now, the input and output files will always be different.
2009-12-13reorganize the directories under src, and rescue the JavaScript interpreter ↵krasimir
from deprecated