summaryrefslogtreecommitdiff
path: root/src/compiler/GF/Grammar/Printer.hs
AgeCommit message (Collapse)Author
2013-02-27Faster regular expression pattern matching in the grammar compiler.hallgren
The sequence operator (x+y) was implemented by splitting the string to be matched at all positions and trying to match the parts against the two subpatterns. To reduce the number of splits, we now estimate the minimum and maximum length of the string that the subpatterns could match. For common cases, where one of the subpatterns is a string of known length, like in (x+"y") or (x + ("a"|"o"|"u"|"e")+"y"), only one split will be tried.
2013-02-27GF grammar pretty printer improvementshallgren
Allow line breaks in more places to make large terms more readable.
2012-11-23Fix a prededence bug in GF grammar pretty printerhallgren
The pretty printer produced mkDet pre {"a"; "an" / vowel} Sg which is not accepted by the parser. The parser assigns pre { ... }, to prededence level 4, and this is now reflected in the pretty printer, so it prints mkDet (pre {"a"; "an" / vowel}) Sg (This caused a problem in GFSE since it parsers pretty printed grammars...)
2012-06-25printing ResValue judgements as comments, to provide useful information when ↵aarne
a conflict is found between parameter constructors
2012-02-22gfse: experimental support for editing concrete syntax in text modehallgren
2011-11-29Sketch of the new type checker for the concrete syntax. Enabled only with ↵kr.angelov
-new-comp
2011-11-15now the pretty printer in GF has a new mode called Internal. This is the ↵kr.angelov
most detailed mode and it can print even things that are not in the GF syntax. For example PMCFG snippets and indirections.
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-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.
2011-09-22change the precedence for the left argument of ->kr.angelov
2011-09-20module for analysing source grammarsaarne
2011-09-20command ss to show source (including gfo) in text; to be extendedaarne
2011-03-12make it possible to override opers defined in an interface by syntax ↵aarne
'instance Foo of Bar - [f,g,h]'
2010-11-12operations in the abstract syntaxkrasimir
2010-06-21GF.Grammar.Printer: print expressions with lincat and linkrasimir
2010-06-18Yay!! Direct generation of PMCFG from GF grammarkrasimir
2010-06-08revert change in GF.Grammar.Printer that was intended for debugging onlykrasimir
2010-05-28refactoring in GF.Grammar.Grammarkrasimir
2010-05-28bugfix in GF.Grammar.Printerkrasimir
2010-03-31fixed a deep bug in TypeCheck due to swap of arguments; print empty record ↵aarne
as <> instead of {} to distinguish from empty record type
2010-03-22store and propagate the exact source location for all judgements in the ↵krasimir
grammar. It may not be used accurately in the error messages yet
2010-03-18fix the precedence for patterns ~, - and @krasimir
2010-03-18syntax for inaccessible patterns in GFkrasimir
2010-02-22rule for pretty printing implicit argumentskrasimir
2010-02-22add pretty printing rule for implicit patternskrasimir
2010-02-16no need to keep the list of constructors per category in .gfokrasimir
2010-02-03fix the tabular printing when there is a V constructorkrasimir
2010-01-31refactor GF.Infra.Modules for better error messageskrasimir
2009-12-13reorganize the directories under src, and rescue the JavaScript interpreter ↵krasimir
from deprecated