summaryrefslogtreecommitdiff
path: root/src/compiler/GF/Speech
AgeCommit message (Collapse)Author
2013-11-22fix the export for CFG grammars with BIND, SOFT_BIND and nonExistkr.angelov
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-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-09-27a major refactoring in the C and the Haskell runtimes. Note incompatible ↵kr.angelov
change in the PGF format!!! The following are the outcomes: - Predef.nonExist is fully supported by both the Haskell and the C runtimes - Predef.BIND is now an internal compiler defined token. For now it behaves just as usual for the Haskell runtime, i.e. it generates &+. However, the special treatment will let us to handle it properly in the C runtime. - This required a major change in the PGF format since both nonExist and BIND may appear inside 'pre' and this was not supported before.
2013-09-19Make Ident abstract; imports of Data.ByteString.Char8 down from 29 to 16 moduleshallgren
Most of the explicit uses of ByteStrings were eliminated by using identS, identS = identC . BS.pack which was found in GF.Grammar.CF and moved to GF.Infra.Ident. The function prefixIdent :: String -> Ident -> Ident allowed one additional import of ByteString to be eliminated. The functions isArgIdent :: Ident -> Bool getArgIndex :: Ident -> Maybe Int were needed to eliminate explicit pattern matching on Ident from two modules.
2012-08-29Added an O(n log n) version of nubpeter.ljunglof
The new nub is called nub', and it replaces the old sortNub which was not lazy and did not retain the order between the elements.
2012-08-29A basic infrastructure for generating Teyjus bytecode from the GF abstract ↵kr.angelov
syntax
2011-11-02merge GF.Infra.Modules and GF.Grammar.Grammar. This is a preparation for the ↵kr.angelov
separate PGF building
2010-12-14PGFToCFG should use the full production set because the lexicon is now split outkrasimir
2010-12-06simple refactoring in PGF.Macros and relatedkrasimir
2010-10-02refactor the API for random generation again. Now PGF contains probabilities ↵krasimir
in the abstract syntax
2010-08-09native representation for HOAS in PMCFG and incremental type checking of the ↵krasimir
parse forest
2010-07-01redesign the open-literals APIkrasimir
2010-06-30rename isLiteralFCat -> isPredefFId, fcat(String|Int|Float) -> ↵krasimir
fid(String|Int|Float)
2010-06-29forgot to fix the import in GF.Speech.CFG to get the Token typekrasimir
2010-06-29introduce the type synonym Token=String in the PGF APIkrasimir
2010-06-03case for pre in CF generation (ignores alternatives so far)aarne
2010-03-24now for every category we store, in PGF, the list of functions for it in ↵krasimir
source-code order. The order matters for the termination of the exhaustive generation with dependent types.
2010-01-27cleanup the code of the PGF interpreter and polish the binary serialization ↵krasimir
to match the preliminary specification
2010-01-17PGF is now real synchronous PMCFGkrasimir
2010-01-17now the linearization is completely based on PMCFGkrasimir
2010-01-05store the label names in PMCFGkrasimir
2010-01-05printnames are now kept as String instead of Term in PGFkrasimir
2009-12-14remove the old parsing code and the -erasing=on flagkrasimir
2009-12-13reorganize the directories under src, and rescue the JavaScript interpreter ↵krasimir
from deprecated