hallgren
c2b7288411
Eliminate warnings about deprecated use of catch and try
...
This is also needed for compatibility with GHC 7.6.
2012-11-08 15:53:46 +00:00
hallgren
b841664a63
Compute.ConcreteNew: support variants
...
Also add a missing check for Predef values in apply.
2012-10-24 17:49:20 +00:00
hallgren
eed724271f
GeneratePMCFG: prefix messages about "impossible" errors with 'Internal error:'
...
Just to make them easier to spot when wading through thousands of lines of
warnings...
2012-10-24 17:08:52 +00:00
hallgren
d0e1187b10
Refactor compileSourceModule
...
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-19 20:14:11 +00:00
hallgren
885aaca6de
Consistenly use SourceGrammar instead of [SourceModule] when calling compiler passes
2012-10-19 19:56:00 +00:00
hallgren
1d6cbf8189
Use NOINLINE for build info and darcs version info
...
... to avoid unnecessary recompilation of other modules.
2012-10-18 20:01:22 +00:00
kr.angelov
dd0e9411e1
catch all case in GenerateBC.genFun
2012-09-18 08:32:21 +00:00
hallgren
95b372b281
Add type info to "Warning: ignoring lock fields in resolving..."
2012-09-06 13:15:48 +00:00
kr.angelov
37e1ced6cf
another fix for teyjus
2012-08-30 08:09:30 +00:00
peter.ljunglof
f78505d88e
Use nub' instead of nub in some places, remove some unused nub imports
2012-08-29 21:48:34 +00:00
peter.ljunglof
87260365c7
Added an O(n log n) version of nub
...
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-29 21:45:10 +00:00
peter.ljunglof
7ad4616d9c
Emacs only recognizes utf-8, not UTF-8, in file headers
2012-08-29 21:40:49 +00:00
kr.angelov
fd5220038d
A basic infrastructure for generating Teyjus bytecode from the GF abstract syntax
2012-08-29 11:43:02 +00:00
kr.angelov
b34232c6dc
the first draft of GF.Compile.Instructions
2012-08-01 09:21:59 +00:00
peter.ljunglof
2e8d9d3829
Minor changes in Python export
2012-07-02 21:11:20 +00:00
peter.ljunglof
a82a63cc69
Fixed minor bug in prolog export
2012-06-28 07:01:29 +00:00
peter.ljunglof
035b7731e5
major changes to the prolog export
2012-06-27 23:29:05 +00:00
peter.ljunglof
871eb6eabc
cleanup in the python export
2012-06-27 23:27:01 +00:00
hallgren
8444821759
Experiment with parallel grammar checks
...
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-26 17:01:15 +00:00
hallgren
5b577baf02
Report many type errors instead of stopping after the first one
...
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-26 14:46:18 +00:00
hallgren
abb1aedd3d
GF.Compile.Rename: report many errors instead of stopping after the first one
...
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-25 14:15:02 +00:00
hallgren
ca4091599f
Check monad: support for accumulated errors
...
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-25 14:01:58 +00:00
peter.ljunglof
a1c16e36b0
Export PGF in Python format
2012-06-25 14:16:24 +00:00
aarne
7f047a0ab5
checkMapRecover: find undefined idents in all jments in Rename
2012-06-25 11:14:52 +00:00
aarne
d59f54ba41
missing case in partial evaluation of + fixed
2012-05-15 11:48:30 +00:00
hallgren
8195c36f6f
Workaround for bug in ghc-7.2.2
...
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-03-26 23:56:56 +00:00
aarne
8b07c2607d
bug fix in AppPredefined: don't compare values that contain variables. this should be checked even more generally.
2012-02-28 15:13:32 +00:00
kr.angelov
df0fe4363d
buf fix in the compiler for HOAS
2012-02-28 08:10:47 +00:00
aarne
a777481313
the Predef function eqVal to compare equality of parameter values
2012-02-24 10:00:27 +00:00
aarne
8936c6d38e
sorted the list of funs and cats in GrammatToPGF to get the predef categories in proper place and get gr, ai, gt work properly
2012-01-14 17:06:54 +00:00
kr.angelov
1d72e2de7e
The typechecker is still unfinished but at least it can typecheck the English resource grammar
2011-12-02 12:33:26 +00:00
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
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
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
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
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
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