1
0
forked from GitHub/gf-core
Commit Graph

66 Commits

Author SHA1 Message Date
peter.ljunglof
f78505d88e Use nub' instead of nub in some places, remove some unused nub imports 2012-08-29 21:48:34 +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
aarne
8392cf45c3 printing ResValue judgements as comments, to provide useful information when a conflict is found between parameter constructors 2012-06-25 09:24:04 +00:00
hallgren
fe34a29f4f Add file name to error message when reading a bad .gfo file (in some cases)
This turns error messages like 

	gf: too few bytes. Failed reading at byte position 1

	gf: /some/path/somefile.gfo: too few bytes. Failed reading at byte position 1

but a better fix would be to ignore bad .gfo files and compile from source.
The problem is the way this decision is made in
GF.Compile.ReadFiles.selectFormat...
2012-06-15 10:15:16 +00:00
hallgren
2774275bf7 alex 3 incompatibility workaround
As a temporary workaround, alex is no longer invoked automatically when
building with cabal. Developers who want to modify the lexer need to run
alex on Lexer.x manually and record the modified Lexer.hs.

    src/compiler/GF/Grammar/lexer/Lexer.x    -- hidden from cabal
    src/compiler/GF/Grammar/Lexer.hs         -- update it manually
2012-05-04 12:39:07 +00:00
aarne
a777481313 the Predef function eqVal to compare equality of parameter values 2012-02-24 10:00:27 +00:00
hallgren
39c1b5a5fa gfse: experimental support for editing concrete syntax in text mode 2012-02-22 16:30:42 +00:00
kr.angelov
c953ac4244 missing cases in GF.Grammar.Binary 2011-12-02 09:58:18 +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
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
c73bbeabb4 now the pretty printer in GF has a new mode called Internal. This is the most detailed mode and it can print even things that are not in the GF syntax. For example PMCFG snippets and indirections. 2011-11-15 15:55:45 +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
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
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
aarne
5163e3f478 don't count app nodes in term size 2011-09-26 13:56:39 +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
55538c2b7e GF.Grammar.Macros: simplify composOp and composSafeOp 2011-09-07 17:11:52 +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
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
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
aarne
9023382c31 GenIP, GenRP in Extra and any_Quant in ExtraEng 2011-07-21 08:25:04 +00:00
aarne
7d3949a270 Predef functions toUpper, toLower, isUpper 2011-06-02 16:10:46 +00:00
aarne
afbfbaa73a make it possible to override opers defined in an interface by syntax 'instance Foo of Bar - [f,g,h]' 2011-03-12 11:24:14 +00:00
aarne
9b26957785 overloaded opers included in sorting of judgements 2011-03-03 15:10:31 +00:00
aarne
a786f1c809 the command show_operations to inspect opers in scope 2011-02-28 13:31:04 +00:00
aarne
22e50ae31c option cc -list added 2010-12-14 17:42:42 +00:00
aarne
7b9e55650b preparing resource api for multilingual documentation 2010-12-10 08:48:26 +00:00
krasimir
60a401057f bugfix for the abstract operations 2010-11-15 09:38:31 +00:00
krasimir
fe1205059b operations in the abstract syntax 2010-11-12 19:37:19 +00:00
aarne
11bfee735d restored the .ebnf grammar format 2010-09-24 12:39:49 +00:00
krasimir
e92151caf8 redesign the open-literals API 2010-07-01 08:51:59 +00:00
krasimir
7fa1963cc4 GF.Grammar.Printer: print expressions with lincat and lin 2010-06-21 15:23:49 +00:00
krasimir
2069d9c9eb Yay!! Direct generation of PMCFG from GF grammar 2010-06-18 12:55:58 +00:00
krasimir
b9b19b6334 rename GF.Grammar.Predef.isPredefCat to isLiteralCat 2010-06-17 15:08:12 +00:00
krasimir
faceaffe79 GF.Grammar.Lookup.allParamValues now works for table types as well 2010-06-17 09:51:10 +00:00
krasimir
142cdc306d revert change in GF.Grammar.Printer that was intended for debugging only 2010-06-08 09:53:13 +00:00