summaryrefslogtreecommitdiff
path: root/src/runtime
AgeCommit message (Collapse)Author
2014-01-17haskell-bind: add a cabal file and examples/pgf-shell.hshallgren
* The haskell-bind.cabal file makes it easy to build the haskell binding and use it in ghci. * pgf-shell.hs is a simple example of how to use the haskell binding.
2014-01-17haskell-bind: change the type of CRuntimeFFI.getConcrhallgren
Change the type of getConcr from getConcr :: PGF -> Language -> Concr to getConcr :: PGF -> Language -> Maybe Concr This is to prevent programs from crashing later if you try to select a concrete syntax that is not present in a grammar.
2013-12-17make sure that pgf_concrete_load has no effect on grammars that are ↵kr.angelov
completely loaded
2013-12-17Add backward compatibility for reading old PGF fileshallgren
Some backwards incompatible changes were made to the PGF file format after the release of GF 3.5. This patch adds a module for reading PGF files in the old format. This means that old PGF files on the grammaticalframework.org server will continue to work after we install the latest version of GF.
2013-12-10move src/runtime/haskell/CRuntimeFFI to src/runtime/haskell-bind. Don't mess ↵kr.angelov
up with the stable Haskell runtime!
2013-12-10load/unload in the Java bindingkr.angelov
2013-12-10Haskell bindings for the C runtimeinari
Added Haskell bindings for the C runtime. Work in progress, the files are not (and should not be) included in makefiles or anything.
2013-12-10loading and unloading of languages in the C runtime and in the Python bindingskr.angelov
2013-12-10bugfix in the grammar splitterkr.angelov
2013-12-10option --split-pgf replaces option --mk-index. This splits the PGF into one ↵kr.angelov
file for the abstract and one more for each concrete syntax. This is a preparation for being able to load only specific languages from the whole grammar.
2013-11-29-optimize-pgf should also apply to the linrefskr.angelov
2013-11-27better dictionary visualization in the Android Appkr.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-27update the project files for the Java bindingkr.angelov
2013-11-27space leak in the Java bindingkr.angelov
2013-11-26Represent identifiers as UTF-8-encoded ByteStringshallgren
This was a fairly simple change thanks to previous work on making the Ident type abstract and the fact that PGF.CId already uses UTF-8-encoded ByteStrings. One potential pitfall is that Data.ByteString.UTF8 uses the same type for ByteStrings as Data.ByteString. I renamed ident2bs to ident2utf8 and bsCId to utf8CId, to make it clearer that they work with UTF-8-encoded ByteStrings. Since both the compiler input and identifiers are now UTF-8-encoded ByteStrings, the lexer now creates identifiers without copying any characters. **END OF DESCRIPTION*** Place the long patch description above the ***END OF DESCRIPTION*** marker. The first line of this file will be the patch name. This patch contains the following changes: M ./src/compiler/GF/Compile/CheckGrammar.hs -3 +3 M ./src/compiler/GF/Compile/GrammarToPGF.hs -2 +2 M ./src/compiler/GF/Grammar/Binary.hs -5 +1 M ./src/compiler/GF/Grammar/Lexer.x -11 +13 M ./src/compiler/GF/Infra/Ident.hs -19 +36 M ./src/runtime/haskell/PGF.hs -1 +1 M ./src/runtime/haskell/PGF/CId.hs -2 +3
2013-11-22the GF syntax for identifiers is exteded with quoted forms, i.e. you could ↵kr.angelov
write for instance 'ab.c' and then everything between the quites is identifier. This includes Unicode characters and non-ASCII symbols. This is useful for automatically generated GF grammars.
2013-11-22bugfix in the debug mode for the parserkr.angelov
2013-11-21bugfix in the C runtimekr.angelov
2013-11-21the Java binding for lookupMorpho should release the local references ↵kr.angelov
created in a loop
2013-11-20fix in the Python bindingkr.angelov
2013-11-18bugfix in the robust parserkr.angelov
2013-11-18add gu_buf_insert in libgukr.angelov
2013-11-15fixes in the C runtime to avoid warnings when compiling on MacOSkr.angelov
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-15pgf_reader_done should do nothing if the reading has failedkr.angelov
2013-11-15add additional options for compiling the Java binding on Windows (suggested ↵kr.angelov
by Normunds)
2013-11-13bugfix in the C runtime which had made the parser up to 200 times slower for ↵kr.angelov
some sentences
2013-11-12added Predef.SOFT_BIND. This special token allows zero or more spaces ↵kr.angelov
between ordinary tokens. It is also used in the English RGL to attach the commas to the previous word.
2013-11-07factor of 3 speedup for the translation without slowing down the grammar ↵kr.angelov
loading. The parser still seems to be 8 times slower than before I introduced the BIND. At least the Android UI now feels a lot more comfortable
2013-11-07bugfix in the binary search implementation in libgukr.angelov
2013-11-07remove redundant type signature in gu/seq.hkr.angelov
2013-11-07fix for the memory allocation in the jitter which should work for Windows.kr.angelov
2013-11-07the 'Release' configuration in Eclipse is renamed to 'Release (posix)'. In ↵kr.angelov
addition now there is 'Release (mingw)' for Windows.
2013-11-07added #ifdef to detect MinGW in the Java binding and to import the right ↵kr.angelov
header for alloca
2013-11-06fix in the parsing with prekr.angelov
2013-11-06bugfix in the Java bindingkr.angelov
2013-11-06Remove PGF.Signaturehallgren
This module should not be part of the public PGF library API, and it was only used in GF.CompileToAPI, so the code was moved there. The module defined constFuncs and syntaxFuncs, but only syntaxFuncs was used.
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-11-06when printing floating literals use %lg instead of %lf for better outputkr.angelov
2013-11-05linearization by chunks in the GF shell: a new command 'lc' needed because ↵aarne
'l' requires type checking and trees with metavariable function heads don't type check. This will hopefully be a temporary command.
2013-11-05Eliminate mutual dependencies between the GF compiler and the PGF libraryhallgren
+ References to modules under src/compiler have been eliminated from the PGF library (under src/runtime/haskell). Only two functions had to be moved (from GF.Data.Utilities to PGF.Utilities) to make this possible, other apparent dependencies turned out to be vacuous. + In gf.cabal, the GF executable no longer directly depends on the PGF library source directory, but only on the exposed library modules. This means that there is less duplication in gf.cabal and that the 30 modules in the PGF library will no longer be compiled twice while building GF. To make this possible, additional PGF library modules have been exposed, even though they should probably be considered for internal use only. They could be collected in a PGF.Internal module, or marked as "unstable", to make this explicit. + Also, by using the -fwarn-unused-imports flag, ~220 redundant imports were found and removed, reducing the total number of imports by ~15%.
2013-11-04fix the debug mode of the JIT compiler after the refactoring in libgukr.angelov
2013-11-04A simple type checker in the C runtime. Dependent types are not supported ↵kr.angelov
yet but HOAS is implemented. The API is accessible from Python as well
2013-11-04bug fix in the linearizerkr.angelov
2013-11-02linearization for HOAS trees. It should word but we need a type checker in ↵kr.angelov
order to test it properly
2013-11-02remove the include of lexer.h from pgf-parsekr.angelov
2013-11-01fix the parseval metric after the redesign in the C runtimekr.angelov
2013-11-01bugfix in the linearizerkr.angelov
2013-11-01make gu_exn_is_raised non inlined. this is useful to make it callable from ↵kr.angelov
Haskell