summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2013-01-29Better error message for unsupported token gluinghallgren
Instead of "Internal error in ...", you now get a proper error message with a source location and a function name.
2013-01-29Fix a bug with record extensionhallgren
Add a conversion rule for ({ l1 = e } ** x).l2 in PMCFG generation. (A rule for the symmetric case (x ** { l1 = e }).l2 was added some time ago.)
2013-01-29Avoid crash in random generation with probabilitieshallgren
2013-01-29bugfix in the reference counting for Pythonkr.angelov
2013-01-29the Python binding is in pure C againkr.angelov
2013-01-29added an API for composing and decomposing abstract trees from Pythonkr.angelov
2013-01-29fixed typos in the python binding: in a few places pgf_ExprType was used ↵kr.angelov
instead of pgf_ExprIterType
2013-01-28Quick fix to render some parser error messages from UTF-8-encoded source ↵hallgren
files correctly. The parser works on raw byte sequences read from source files. If parsing succeeds the raw byte sequences are converted to proper Unicode characters in a later phase. But the parser calls the function buildAnyTree, which can fail and generate error messages containing source code fragments, which might then containing raw byte sequences. To render these error messages correctly, they need to be converted in accordance with the coding flag in the source file. This is now done for UTF-8-encoded source files, but should ideally also be done for other character encodings. (Latin-1-encoded files never suffered from this problem, since raw bytes are proper Unicode characters in this case.)
2013-01-28Better error message for Predef.errorhallgren
+ Instead of "Internal error in ...", you now get a proper error message with a source location and a function name. + Also added some missing error value propagation in the partial evaluator. + Also some other minor cleanup and error handling fixes.
2013-01-28improved error message for overloading in case the given signature looks the ↵aarne
same as one of the expected ones: it shows full records rather than just lock fields.
2013-01-24Python binding: add a parsing function that accepts directly a list of tokens.gregoire.detrez
Is allows to define a tokenizer in python (or use an existing one, from nltk for instance.)
2013-01-18Add fun/cat printnames to PGF web servicejohn.j.camilleri
This is accessible vis the `browse` command, by adding the flag `printnames` e.g.: .../Letter.pgf?command=browse&id=Recipient&format=json&printnames=1
2013-01-13gf -server: fix bug in bug fix for current directoryhallgren
2013-01-12gf -server: small logging improvementshallgren
2013-01-12gf -server: defend against problems with the current directory caused ↵hallgren
unhandled errors
2013-01-11Syntax editor: initial support for string literalsjohn.j.camilleri
Also a bug fix when switching to editor, although this still messes up when using the letters grammar. Also updated readme with options, and some style improvements.
2013-01-11Syntax editor: add tooltips to buttonsjohn.j.camilleri
2013-01-11Syntax editor: remove beta labeljohn.j.camilleri
2013-01-11partial evaluator: fix token glueing bughallgren
"a"+("b"++"c") was simplified to "bb"++"c" instead of "ab"++c.
2013-01-09Fixes for minibar offlinehallgren
Tested it in Firefox 18 (which has the new Ionmonkey JavaScript engine). Still get stack overflows.
2013-01-09PGF service: new command: downloadhallgren
This makes it possible to download PGF files from servers where the PGF service is installed. I am also considering making commmand=download the default instead of command=grammar.
2013-01-08fix warnings in pgf-parse.ckr.angelov
2013-01-08PGF installation instructions for Mac OSXpeter.ljunglof
2013-01-08Made meta probs an optional argument instead of hard-coded in pgf-translatepeter.ljunglof
2013-01-08New PGF utility: pgf-parsepeter.ljunglof
2013-01-07now the Python binding has an alternative representation for abstract trees ↵kr.angelov
which is composed of Python objects. The new representation is not integrated with the core runtime yet
2013-01-07a new reasoner in the C runtime. It supports tabling which makes it ↵kr.angelov
decideable for propositional logic. dependent types and high-order types are not supported yet. The generation is still in decreasing probability order
2012-12-27bugfix in the strings library from the C runtimekr.angelov
2012-12-20bug fix in the new partial evaluatorhallgren
It can leave wildcard tables in their origial form, but it easy to handle them in the unfactor function in GeneratePMCFG.
2012-12-20added alltenses to the default search path (just like prelude)aarne
2012-12-20PGFService.hs: code duplication reductionhallgren
2012-12-19partial evaluator bug fixhallgren
It failed to delay table selection when the selector contains a run-time variable, causing "gf: Prelude.(!!): index too large" instead. Also: + Show better source locations on unexpected errors, to aid bug hunting. + Removed unused SourceGrammar argument to value2term.
2012-12-19GF.Grammar.Lookup: new function lookupResDefLochallgren
It's like lookupResDef but it includes a source location in the output.
2012-12-19bugfix: the linearizer should not generate extra space at the end of the ↵kr.angelov
sentence
2012-12-19bugfix for linearization of metavariables at the root of a treekr.angelov
2012-12-19rename linearize.{h/c} to linearizer.{h/c} which follows the convention used ↵kr.angelov
in parser.c and reasoner.c
2012-12-19a major reimplementation of the linearizer in the C runtimekr.angelov
2012-12-18fixed accidental bug in pgf-parse.ckr.angelov
2012-12-18partial evaluator bug fixhallgren
Int was missing from the list of predefined canonical constants.
2012-12-18the C runtime now can read abstract expressions with literals and meta variableskr.angelov
2012-12-14debugging infrastructure in the reasonerkr.angelov
2012-12-14bugfix for the reasoner in the C runtimekr.angelov
2012-12-14a bit more flexible API for parsing in Pythonkr.angelov
2012-12-14The first prototype for exhaustive generation in the C runtime. The trees ↵kr.angelov
are always listed in decreasing probability order. There is also an API for generation from Python
2012-12-14Add language extension for ghc<7.4hallgren
FlexibleInstances does not imply TypeSynonymInstances, apparently.
2012-12-14More work on the new partial evaluatorhallgren
The work done by the partial evaluator is now divied in two stages: - A static "term traversal" stage that happens only once per term and uses only statically known information. In particular, the values of lambda bound variables are unknown during this stage. Some tables are transformed to reduce the cost of pattern matching. - A dynamic "function application" stage, where function bodies can be evaluated repeatedly with different arguments, without the term traversal overhead and without recomputing statically known information. Also the treatment of predefined functions has been reworked to take advantage of the staging and better handle partial applications.
2012-12-13bugfix in the lexer from the C runtime. the input sentence doesn't have to ↵kr.angelov
terminate with whitespace
2012-12-13added simple error handling in the Python testkr.angelov
2012-12-13added a simple test for the Python bindingkr.angelov
2012-12-13an initial API for parsing and linearization from Pythonkr.angelov