summaryrefslogtreecommitdiff
path: root/src/runtime/c/pgf/pgf.c
AgeCommit message (Collapse)Author
2020-03-06an API to access the names of all fields withing a categorykrangelov
2017-10-04further extend the API of the C runtimeKrasimir Angelov
2017-10-03in the PGF2 api: remove showCategory. add categoryContext and ↵Krasimir Angelov
functionIsConstructor
2017-09-28the parser for abstract expressions in the C runtime now supports partial parsesKrasimir Angelov
2017-09-13added function pgf_writeKrasimir Angelov
2017-08-30bugfix for hasLinearization in the Haskell bindingKrasimir Angelov
2017-05-11bugfix for print names in the C runtime and expose the functionality from Javakrasimir
2017-04-19explicitly classify all functions in libpgf as either internal or API functionskrasimir
2017-01-26bring the Haskell binding a bit closer to the pure Haskell APIkrasimir
2016-05-30added getFunctionProb in the Java and C APIkrasimir
2015-12-22pgf_read should close the input file.krasimir
2014-12-16change in the API for literalskr.angelov
The API in the C runtime as well as in the Haskell, Python and Java binding is changed. Now instead of adding the literal callbacks to the concrete syntax you need to supply them every time when you need to parse. The main reason is: - referentially transparent API for Haskell - when we start using memory mapped files we will not be allowed to change anything in the grammar data structures. At that point the old API would be impossible to use.
2014-11-27remove pgf/parser.hkr.angelov
2014-10-09throw away the long obsolete runtime type information in the C runtimekr.angelov
2014-10-09replace the hash maps in the abstract syntax with binary search tableskr.angelov
2014-07-06embedded mode for GF grammar in Python. Only generation for nowkr.angelov
2014-04-10now fully functional Java API for custom literalskr.angelov
2013-11-27added API in the C runtime and the Java binding for checking whether a given ↵kr.angelov
function is linearizable in a given language. This is used in the Android UI for better vizualizations
2013-11-15pgf_read should open the grammar file in binary mode to prevent the Windows ↵kr.angelov
runtime from messing up the content.
2013-11-06the content of ParseEngAbs3.probs is now merged with ParseEngAbs.probs. The ↵kr.angelov
later is now retrained. Once the grammar is compiled with the .probs file now it doesn't need anything more to do robust parsing. The robustness itself is controlled by the flags 'heuristic_search_factor', 'meta_prob' and 'meta_token_prob' in ParseEngAbs.gf
2013-10-30use linref in the C linearizer. The robust linearization is now fully supportedkr.angelov
2013-10-09a major redesign in the C runtime. The parser and the linearizer now fully ↵kr.angelov
support BIND. The following things are still broken: parseval, word completion, handling 'pre', the robust mode
2013-10-04GuString is now an ordinary C string - it makes live easier. In addition ↵kr.angelov
PgfSymbolKS, PgfExprFun and PgfLiteralStr now keep their strings as embedded flexible arrays. The latest change gives us the same compactness as the old representation but it is a lot easier to use.
2013-09-05remove the read and write modules from libgu. this simplifies the i/o layerkr.angelov
2013-08-16provide API to access the language code for the concrete languagekr.angelov
2013-08-16fixes in the C and Python API to make them closer to the Haskell APIkr.angelov
2013-06-27a complete Python API for reading, printing and manipulation of abstract ↵kr.angelov
trees and types. This includes dependent types, high-order abstract syntax and implicit arguments
2013-06-26we no longer maintain an explicit list of functions per category since now ↵kr.angelov
it is implicitly kept in the JIT compiled code
2013-06-26patch for adjustable heuristics from Pythonkr.angelov
2013-06-25Now there is a just-in-time compiler which generates native code for proof ↵kr.angelov
search. This is already used by the exhaustive generator. The time to generate 10000 abstract trees with ParseEng went down from 4.43 sec to 0.29 sec.
2013-05-07bug fix in the management of memory pools in the statistical parserkr.angelov
2013-05-06the statistical parser is now using two memory pools: one for parsing and ↵kr.angelov
one for the output trees. This means that the memory for parsing can be released as soon as the needed abstract trees are retrieved, while the trees themselves are retained in the separate output pool
2013-05-01word completion in the C runtime. The runtime/python/test.py example is now ↵kr.angelov
using readline with word completion
2013-04-26finally the statistical parser is able to return all possible abstract treeskr.angelov
2013-02-11the class PgfConcr from the Python binding now has a property name which ↵kr.angelov
returns the name of the concrete syntax
2013-02-11refactoring: now all named objects in the C runtime have an explicit name fieldkr.angelov
2013-02-11remove the pgf2yaml tool which was both broken and redundant. The ↵kr.angelov
declarations for generic programming from data.c are removed as well
2013-02-11the grammar reader in the C runtime is completely rewritten and it doesn't ↵kr.angelov
use the generic programming API
2013-02-01This patch removes Gregoire's parse_tokens function in the python binding ↵kr.angelov
and adds another implementation which builds on the existing API for lexers in the C runtime. Now it is possible to write incremental Lexers in Python
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-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-19rename linearize.{h/c} to linearizer.{h/c} which follows the convention used ↵kr.angelov
in parser.c and reasoner.c
2012-12-13a top-level API for parsing in the C runtimekr.angelov
2012-12-12started an official API to the C runtimekr.angelov