Commit Graph

818 Commits

Author SHA1 Message Date
krasimir 87c0368281 silence some warnings in GNU Lightning for i386_64 2015-02-19 12:53:52 +00:00
krasimir 2f35aadc6f parsing with meta rules is now removed since we don't use them anymore and I would gladly remove some code. 2015-02-19 11:59:51 +00:00
krasimir 4ff6728993 fix the missmatch between Int and CInt in the Haskell binding to the word alignment API. This was causing problems on 64-bit machines 2015-02-18 17:05:35 +00:00
krasimir f3f47c7761 fix the callback for unknown words as well 2015-02-18 16:47:33 +00:00
krasimir 4ed41214e5 fix in the callback for names in the Haskell binding 2015-02-18 16:41:13 +00:00
krasimir 27a12ca9fb fix in the parser for callbacks in the middle of a word 2015-02-18 16:14:29 +00:00
hallgren 1dbe588497 Restore compatibility with ghc-7.4
With ghc-7.4 'import M hiding (x)' causes an error if M does not export x...
2015-02-16 15:41:38 +00:00
hallgren 2ce3e954fd Changes for compatibility with ghc-7.10-rc2
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-16 15:05:06 +00:00
hallgren 0058a79a8f PGF.Haskell: adding operators for selections from tables 2015-02-12 16:09:33 +00:00
kr.angelov e6f51d7ec6 fix in the JIT compiler that would hopefully make it work on iOS 2015-02-11 13:07:06 +00:00
hallgren ad8b6429ec Translating linearization functions to Haskell: support for variants
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-02-09 16:24:33 +00:00
kr.angelov 1baba82fe5 added hasLinearization in the Haskell binding 2015-01-30 13:05:57 +00:00
hallgren ed502c490c PGF2: fixes for named entity callback function 2015-01-21 13:54:48 +00:00
hallgren ec8b4fec93 PGF2 & PGFService: enable callbacks for named entities and chunks in the c-parse & c-translate web requests 2015-01-21 10:41:12 +00:00
kr.angelov 60cb95258b fix conflicts 2015-01-21 08:35:20 +00:00
kr.angelov 07eb8fec26 added functionType in the Haskell API to the C runtime 2015-01-20 14:45:02 +00:00
hallgren 7577de236f PGF2 & PGFService: work in progress on callbacks for nerc & chunks 2015-01-20 14:57:52 +00:00
hallgren 4372b47d2a PGF2: introduced some type synonyms to make type signature more readable 2015-01-20 12:57:33 +00:00
hallgren 240ba80209 Translating linearization functions to Haskell: move a common record type to 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-19 12:43:32 +00:00
hallgren 0b114195aa Translating linearization functions to Haskell: better treatment of special 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-14 14:35:39 +00:00
kr.angelov 6acf100ab1 fix the reference counting for callbacks in Python 2015-01-05 11:24:00 +00:00
kr.angelov 328d4df660 API for word alignment in the C runtime and in the Haskell binding 2014-12-29 10:59:20 +00:00
kr.angelov 4b066bde92 more compact implementation for GuStringBuf 2014-12-24 14:20:30 +00:00
kr.angelov adb9e29dc4 bugfix and tiny optimization for callbacks from Haskell 2014-12-19 10:14:41 +00:00
kr.angelov 705ffaa33d haddock comments for parseWithHeuristics 2014-12-19 09:05:51 +00:00
kr.angelov 022849482d added mkStr to the Haskell binding 2014-12-19 08:58:02 +00:00
kr.angelov fdc6c9a3cd added mkApp to the Haskell binding 2014-12-19 08:47:00 +00:00
kr.angelov 467a308335 fix in the Haskell binding 2014-12-16 10:35:56 +00:00
kr.angelov c192aed5ba forgot to export parseWithHeuristics from Haskell 2014-12-16 10:33:45 +00:00
kr.angelov 9b7e18c25e change in the API for literals
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-12-16 10:21:26 +00:00
kr.angelov 0f3f2b6039 update the nerc for the changes in the grammar 2014-12-11 21:54:34 +00:00
kr.angelov cfb688afce make sure that neither I nor I'm is recognized as name in English 2014-12-09 08:49:22 +00:00
kr.angelov 3ef92fc5cc bugfix for unknown words 2014-12-08 19:38:03 +00:00
kr.angelov ba9ccca0bd fix for the unknown words 2014-12-08 15:42:14 +00:00
kr.angelov fa53434bce added a callback for unknown words 2014-12-08 15:18:01 +00:00
kr.angelov 995735b272 fix the last patch 2014-12-01 11:03:50 +00:00
kr.angelov 89078c3598 a small optimization in the PGF parser which gives me ~5% speed up 2014-12-01 10:48:15 +00:00
kr.angelov 2927c8b7e1 fix in GNU lightning to enable the compilation of two of the the floating point operations. 2014-12-01 09:42:21 +00:00
kr.angelov 2e765fbfe1 fix in linearizer.h to make jpgf compilable 2014-12-01 09:41:48 +00:00
kr.angelov 0b2a81ad4d fix in linearizer.h which resolves a warning 2014-11-27 15:20:46 +00:00
kr.angelov 80cf34bfd1 remove pgf/parser.h 2014-11-27 11:12:14 +00:00
kr.angelov d830c75da2 fix the handling of the heuristic factor. it was broken when I added the BIND token which means that the App grammar was running about 2-3 times slower. 2014-11-26 15:56:36 +00:00
kr.angelov 057d830133 expand the JIT window for x64 2014-11-07 15:43:12 +00:00
kr.angelov 1cfb975229 a skeletal module for higher-order pattern unification in the C runtime 2014-10-31 19:57:56 +00:00
kr.angelov 2bde418b15 now (+) in the abstract syntax works, i.e. it knows how to deal with partial sums 2014-10-31 14:16:11 +00:00
kr.angelov 4db6e30b54 a more efficient tail call by using the new TUCK instruction 2014-10-30 13:09:50 +00:00
kr.angelov 77d3775385 an explicit SAVE instruction 2014-10-26 11:40:12 +00:00
kr.angelov 97db991979 comment out a few assertions in bits.h. this code is run too often to have explicit assertions 2014-10-24 11:15:40 +00:00
kr.angelov a56b4cae8c make it possible to specify the initial size of a map in libgu 2014-10-24 09:17:22 +00:00
kr.angelov 34867f4019 simplify gu/map 2014-10-24 08:56:39 +00:00