summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2015-02-26fix some out-of-date code for the PGF_RESULT_DEBUG mode in the parserkrasimir
2015-02-26use the same trick for comparison of doubles in cmp_expr_statekrasimir
2015-02-26bugfix in the parser which caused some items to be poped in the wrong order ↵krasimir
if their probability differ with less that 0.5
2015-02-25Wide Coverage Translation Demo: better resizing behavior on startup and when ↵hallgren
pasting text
2015-02-24PGFService.hs: text lexer: slightly smarter decapitalization of the first ↵hallgren
word of a sentence Keep the first letter in upper case if it is followed by more upper case letters. (Also remove some left over debugging output.)
2015-02-24remove three more uses of meta productions that were left in debugging modekrasimir
2015-02-24implemented escape characters when reading/printing an abstract expression ↵krasimir
with string literals
2015-02-20fix in thai_page2.xmlkrasimir
2015-02-20gftransate.js: increase sentence length limit for "fast" language to 500hallgren
Currently Bul, Chi, Eng and Swe are marked as "fast" in the documentation.
2015-02-20set the keyboard pages for Thai in Translator.javakrasimir
2015-02-20experimental Thai keyboard (still not tested)krasimir
2015-02-20translation app for iOS, replicating some of the functionality of the ↵joel.hinz
Android app. Compiles and works on iPad retina but may crash and has known issues.
2015-02-20added option -plus-as-bind which treats (+) as a bind when used with runtime ↵krasimir
variables
2015-02-20remove the meta prob flagskrasimir
2015-02-20gftranslate.js: reduce sentense length limit to 200 (URL encoded) charactershallgren
This limit might still be to high to avoid excessive time/space use in the parser for certain languages in the wide coverage translation grammar.
2015-02-20PGF Service: limit the number of parallel calls to the C run-time parse ↵hallgren
function to 4 by default The limit can be changed with the -j flag
2015-02-19silence some warnings in GNU Lightning for i386_64krasimir
2015-02-19parsing with meta rules is now removed since we don't use them anymore and I ↵krasimir
would gladly remove some code.
2015-02-18fix the missmatch between Int and CInt in the Haskell binding to the word ↵krasimir
alignment API. This was causing problems on 64-bit machines
2015-02-18fix the callback for unknown words as wellkrasimir
2015-02-18fix in the callback for names in the Haskell bindingkrasimir
2015-02-18fix in the parser for callbacks in the middle of a wordkrasimir
2015-02-18Wide Coverage Translation Demo: use App14.pgf, remove spaces from Chi, Jpn ↵hallgren
and Tha output
2015-02-17removing spaces from App output of Chi,Jpn,Tha to get nicer speech output ↵aarne
(and of course follow the target lang conventions)
2015-02-17App14 with Tha up and running!aarne
2015-02-16Restore compatibility with ghc-7.4hallgren
With ghc-7.4 'import M hiding (x)' causes an error if M does not export x...
2015-02-16Changes for compatibility with ghc-7.10-rc2hallgren
2 modules: Name clashes caused by Applicative-Monad change in Prelude 2 modules: Ambiguities caused by Foldable/Traversable in Prelude 2 modules: Backwards incompatible changes in time-1.5 for defaultTimeLocale 9 modules: {-# LANGUAGE FlexibleContexts #-} (because GHC checks inferred types now, in addition to explicitly given type signatures) Also silenced warnings about tab characters in source files.
2015-02-12PGF.Haskell: adding operators for selections from tableshallgren
2015-02-12Translating linearization functions to Haskell: more simplificationshallgren
+ Some additional simplifying rewrites. + Use an intermediate representation for Haskell types, for separation of concerns and cleaner code. + Pretty printer layout tuning + Code cleanup.
2015-02-11Translating linearization functions to Haskell: simplify the generated ↵hallgren
Haskell code Introduced an intermediate representation for the generated Haskell expressions. This allows pretty printing concerns to be separated from conversion concerns, and makes it easy to apply some simplifying rewrites to the generated expressions, e.g. [x] ++ [y] ==> [x,y] pure f <*> x ==> f <$> x f <$> pure x ==> pure (f x) join (pure x) ==> x
2015-02-11fix in the JIT compiler that would hopefully make it work on iOSkr.angelov
2015-02-09Translating linearization functions to Haskell: support for variantshallgren
By adding the flag -haskell=variants to the command line, GF will now generate linearization functions in Haskell that support variants. Variants are represented as lists in Haskell. Variants inside pre { ... } expressions are still ignored. TODO: apply some monad laws to generate more compact code (using an intermediate representation of the generated Haskell code, instead of pretty printing directly from the GF code).
2015-01-30added hasLinearization in the Haskell bindingkr.angelov
2015-01-21added Japanese to Android app. Had to change target=android-20 to 21.aarne
2015-01-21Wide Coverage Translation Demo: use App13.pgf, adding support for Japanesehallgren
Japanese uses the same lexer as Chinese, i.e. every character is a separate token.
2015-01-21PGF2: fixes for named entity callback functionhallgren
2015-01-21PGF2 & PGFService: enable callbacks for named entities and chunks in the ↵hallgren
c-parse & c-translate web requests
2015-01-21fix conflictskr.angelov
2015-01-20added functionType in the Haskell API to the C runtimekr.angelov
2015-01-20PGF2 & PGFService: work in progress on callbacks for nerc & chunkshallgren
2015-01-20PGF2: introduced some type synonyms to make type signature more readablehallgren
2015-01-19Translating linearization functions to Haskell: move a common record type to ↵hallgren
PGF.Haskell Move the Haskell representation of the common linearization type {s:T} to the shared module PGF.Haskell, so that the same overloaded projection function proj_s can be used for all concrete syntaxes.
2015-01-14Translating linearization functions to Haskell: better treatment of special ↵hallgren
tokens Common code has been lifted out from the generated Haskell modules to an auxiliary module PGF.Haskell, which is currently included in the regular PGF library, although it is independent of it and probably belongs in a separate library. The type Str used by linearization functions is now based on a token type Tok, which is defined in PGF.Haskell. PGF.Haskell.Tok is similar to the type GF.Data.Str.Tok, but it has constructors for the special tokens BIND, SOFT_BIND and CAPIT, and there is a function fromStr :: Str -> String that computes the effects of these special tokens.
2015-01-08Translating linearization functions to Haskell: add support for pre {...}hallgren
STILL TODO: - variants - better treatment of special tokens BIND, SOFT_BIND & CAPIT.
2015-01-07Translating linearization functions to Haskell: use qualified names to avoid ↵hallgren
name clashes All languages in the Phasebook can now be converted to compilable Haskell code. STILL TODO: - variants - pre { ... }
2015-01-06Translating linearization functions to Haskell: significant code size reductionshallgren
+ Instead of including lists of parameter values generated by GF, generate code to enumerate parameter values (in the same order as GF). This seems to give a factor of 2-3 code size reduction in the Phrasebook (e.g. from 84MB to 25MB for Hin, from 338MB to 154MB for Fre). + Deduplicate table entries, i.e. convert "table [..,E,..,E,..,E,..]" into "let x = E in table [..,x,..,x,..,x,..]". This gives even more significant code size reduction in some cases, e.g. from 569MB to 15MB for PhrasebookFin. All phrasebook languages can now be converted to compilable Haskell code, except PhrasebookPes, which still has the name clash problem.
2015-01-06More work on translating linearization functions to Haskellhallgren
Many Phrasebook languages can now be converted to compilable Haskell code. Some languages (Fre, Hin, Snd, Urd) generate too much Haskell code to be practically useful (e.g. 338MB for Fre). One language (Fin) took too long to convert to Haskell. One language (Pes) has problems with name clashes in the generated Haskell code. STILL TODO: - variants - pre { ... } - reduce code duplication for large tables - generate qualified names to avoid name clashes
2015-01-05fix the reference counting for callbacks in Pythonkr.angelov
2014-12-29API for word alignment in the C runtime and in the Haskell bindingkr.angelov
2014-12-24more compact implementation for GuStringBufkr.angelov