summaryrefslogtreecommitdiff
path: root/src/compiler/GF
AgeCommit message (Collapse)Author
2017-09-05update documentation for command ptKrasimir Angelov
2017-09-05GF.Command.TreeOperations is now independent from the runtime's internalsKrasimir Angelov
2017-09-05added exprSize and exprFunctions in the Haskell runtime too and use them in ↵Krasimir Angelov
TreeOperations
2017-09-04pt -paraphrase was never properly implemented and is now removedKrasimir Angelov
2017-09-04eliminate modules PGF.Lexing, PGF.LexingAGreek. Make PGF.Utilities an ↵Krasimir Angelov
internal module in the runtime. These are not really part of the core runtime.
2017-09-01added command "rt" in the C shellKrasimir Angelov
2017-09-01the C shell now type checks expressions before they are usedKrasimir Angelov
2017-09-01complete details for the "ai" command in the C shellKrasimir Angelov
2017-09-01added function treeProbability in the Haskell bindingKrasimir Angelov
2017-09-01giza alignment in the C shellKrasimir Angelov
2017-08-31graphvizWordAlignment in the C runtimeKrasimir Angelov
2017-08-31the C runtime now supports the same customizations for GraphViz as the ↵Krasimir Angelov
Haskell runtime
2017-08-31remove move dead code in the C shellKrasimir Angelov
2017-08-30some dead code eliminationKrasimir Angelov
2017-08-30an almost complete ai command in the C shellKrasimir Angelov
2017-08-30implement rf in the C shellKrasimir Angelov
2017-08-30pg in the C shell now supports most output formatsKrasimir Angelov
2017-08-30remove some dead code in the C shellKrasimir Angelov
2017-08-30in the C shell rename the ga command to gt to be consistent with the ↵Krasimir Angelov
standard shell
2017-08-30"lc" was a temporary hack and is now removed from the C shellKrasimir Angelov
2017-08-30"ma" command in the C shellKrasimir Angelov
2017-08-30the l command in the C shell now supports the same options as in the normal ↵Krasimir Angelov
shell
2017-08-29added option -output-format=java for producing code for embedded grammars in ↵Krasimir Angelov
Java
2017-08-29the embedded grammars now work with both the pure Haskell and the Haskell ↵Krasimir Angelov
binding API
2017-08-18Bump version requirements to base>=4.6, Cabal>=1.20Thomas Hallgren
Cabal>=1.20 allows control over parallelism when compiling grammars from Setup.hs and WebSetup.hs. base>=4.6 allows conditional compilation with CPP to be eliminated from a few modules. base-4.6 corresponds to GHC 7.6.3, which is what you get in Debian 8 (aka jessie, aka oldstable) from 2015.
2017-08-11Disable detailed version info from darcsThomas Hallgren
TODO: get version info from git instead.
2017-06-14added Arabic question mark to arabic and persian transliterations, as well ↵aarne
as the zero-width non-joiner U+200C to persian"
2017-04-06vd command now reads local concrete configurations to deal with syncat ↵aarne
words; TODO: dissolve clustered multiwords bound with +
2017-03-22fixed a bug in Eq instance generation for GADT and lexical categoriesaarne
2017-03-07a better error messagekrasimir
2017-03-07GF.Compile.Compute.ConcreteNew now handles Predef.Floatkrasimir
2017-03-07bugfix in record subtyping checkingkrasimir
2017-03-07GF.Grammar.Printer now has a Terse mode which prints record types with lock ↵krasimir
fields with their corresponding abstract categories
2017-03-06fix for EPattkrasimir
2017-03-06type checking EPattkrasimir
2017-03-06GF.Compile.Compute.ConcreteNew now can handle EPattTypekrasimir
2017-03-06some missing patternskrasimir
2017-03-06added overload resolution in the experimental type checkerkrasimir
2017-03-03some progress on the experimental type checker for the concrete syntaxkrasimir
2017-02-24corrected fg generation for lexical categories, to avoid a type error in ↵aarne
generated code
2017-02-21Fix compilation errors caused by changes in PGF2hallgren
These prevented GF from being built with C run-time support (-fc-runtime).
2017-01-25improve the documentation for PGF2krasimir
2016-09-05BNF grammars (.bnf or .cf) can have rules without semicolons, as in the GF ↵aarne
book examples. However, if the grammar has any multiline rules, all of them must have semicolons.
2016-06-15GF cloud: more readable formatting of the GF version pagehallgren
Factor out common CSS from gfse/editor.css into clouds.css.
2016-06-09PGF service & minibar: only show dependency diagrams if the labels are knownhallgren
+ The PGF service now reads and caches dependency label configuration files. + The grammar info returned by command=grammar has a new boolean field 'hasDependencyLabels' to indicate if dependency labels were found for the grammar. Also, command=deptree will now fail if no labels are present. + The minibar only shows word dependency trees if labels are present. + Also changed the type of getDepLabels from [String] -> Labels to String -> Labels, since all uses were in the form "getDepLabels . lines".
2016-05-22Changes for compatibility with GHC 8.0.1hallgren
2016-04-07GF.Command.Commands2: adapt gf -cshell to the changes in the previous patchhallgren
2016-04-07GF shell: fix a parsing problem with the cc commandhallgren
This patch fixes a problem introduced last year when the GF shell was refactored to allow more commands to be treated uniformly and be part of pipes. The cc command was one of those commands, but unfortunately this introduced a parsing problem, e.g. > cc "last" constant not found: last > cc "last"++"year" command not parsed: cc "last"++"year" This happened because the generic command line parser in GF.Command.{Abstract,Parse} assumes that all commands have an argument of type PGF.Expr. Commands that expect other types of arguments have to use PGF.showExpr combined with other conversion to the argument type they expect. The cc command excpets a GF.Grammar.Term, and unfortunately not all terms survice the roundtrip through PGF.Expr, in part because of an additional hack to allow strings to be roundtripped through PGF.Expr without adding superfluous double quotes. To solve the problem, this patch + makes room for arguments of type Term in the Argument type in GF.Command.Abstract. + makes a special case for the cc command in GF.Command.Parse, by calling the partial parser 'runPartial pTerm' recently added in GF.Grammar.Lexer and GF.Grammar.Parser. Care was taken so that that "|" and ";" can be used both inside terms and as separators between commands in the shell, e.g. things like the following now work: > cc ("a"|"b") | ps -lexcode variants { "a" ; "b" } + introduces a type CommandArgument that replaces [Expr] as the type of values passed between commands in pipes. It has room for values of type [Expr], [String] and Term, thus eliminating the need to roundtrip through the Expr type all the time. The hack to avoid adding superfluous quotes when strings are roundtripped through Expr has been left in place for now, but can probably be removed.
2016-04-07Lexer.x & Parser.y: add a partial parser for termshallgren
Lexer.x: Change the parser monad type P to allow the remaining input to be returned after a partial parse. Add function runPartial :: P t -> String -> Either (Posn, String) (String, t) Parser.y: Add a partial parser pTerm for nonterminal Exp1. Re-export runPartial.
2016-04-06Lexer.x: fix cyclic Functor instancehallgren
It looks like I introduced this cyclic definition in August 2014, but since it isn't used, it hasn't been a problem...