Commit Graph

827 Commits

Author SHA1 Message Date
hallgren
6d72126ffc PGF Service: add an option to return syntax trees in JSON format
The parse/translate/c-parse/c-translate commands now recognize the option
jsontree=true to augment the returned JSON structure with a field called
"jsontree" next to the field "tree", or "jsontrees" next to "trees",
containing the the returned syntax tree in JSON format (the same format
returned by the abstrjson command, similar to the format returned in the
"brackets" field).
2015-03-24 17:37:43 +00:00
hallgren
99f87c30d0 haskell-bind: add bindings to graphviz rendering functions for abstract&parse trees 2015-03-19 14:14:30 +00:00
krasimir
e72fcb1513 fix the compilation of gu/mem.c on Windows. For now memory mapped pools on Windows are just not supported. 2015-03-19 09:28:31 +00:00
krasimir
8f0624bc30 remove the meta_item variable from the parse state 2015-03-06 15:18:50 +00:00
krasimir
a5817ff492 fix some out-of-date code for the PGF_RESULT_DEBUG mode in the parser 2015-02-26 13:31:26 +00:00
krasimir
9c83b2e27d use the same trick for comparison of doubles in cmp_expr_state 2015-02-26 13:10:01 +00:00
krasimir
532647c978 bugfix in the parser which caused some items to be poped in the wrong order if their probability differ with less that 0.5 2015-02-26 12:17:59 +00:00
krasimir
715ac1ca62 remove three more uses of meta productions that were left in debugging mode 2015-02-24 10:59:18 +00:00
krasimir
da11a7127f implemented escape characters when reading/printing an abstract expression with string literals 2015-02-24 09:35:12 +00:00
krasimir
e893d41393 silence some warnings in GNU Lightning for i386_64 2015-02-19 12:53:52 +00:00
krasimir
b92bbcfc37 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
39bbe68adf 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
f3797bb313 fix the callback for unknown words as well 2015-02-18 16:47:33 +00:00
krasimir
a97dee067a fix in the callback for names in the Haskell binding 2015-02-18 16:41:13 +00:00
krasimir
e3a87c657b fix in the parser for callbacks in the middle of a word 2015-02-18 16:14:29 +00:00
hallgren
956b721048 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
54ae70a81e 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
2b8fe8ea7a PGF.Haskell: adding operators for selections from tables 2015-02-12 16:09:33 +00:00
kr.angelov
d361b7f5d2 fix in the JIT compiler that would hopefully make it work on iOS 2015-02-11 13:07:06 +00:00
hallgren
8e4e8da105 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
68a2f09590 added hasLinearization in the Haskell binding 2015-01-30 13:05:57 +00:00
hallgren
6b55ad88d4 PGF2: fixes for named entity callback function 2015-01-21 13:54:48 +00:00
hallgren
ffe1f74584 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
790738c82b fix conflicts 2015-01-21 08:35:20 +00:00
kr.angelov
79f8ab695c added functionType in the Haskell API to the C runtime 2015-01-20 14:45:02 +00:00
hallgren
3f3df9a719 PGF2 & PGFService: work in progress on callbacks for nerc & chunks 2015-01-20 14:57:52 +00:00
hallgren
1fa59f7554 PGF2: introduced some type synonyms to make type signature more readable 2015-01-20 12:57:33 +00:00
hallgren
7e1120d271 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
20b271a238 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
35c11d5f5a fix the reference counting for callbacks in Python 2015-01-05 11:24:00 +00:00
kr.angelov
3bd40dbab6 API for word alignment in the C runtime and in the Haskell binding 2014-12-29 10:59:20 +00:00
kr.angelov
8fd24c3839 more compact implementation for GuStringBuf 2014-12-24 14:20:30 +00:00
kr.angelov
13f4af4910 bugfix and tiny optimization for callbacks from Haskell 2014-12-19 10:14:41 +00:00
kr.angelov
856683f79f haddock comments for parseWithHeuristics 2014-12-19 09:05:51 +00:00
kr.angelov
f44f9a1b00 added mkStr to the Haskell binding 2014-12-19 08:58:02 +00:00
kr.angelov
bb1c1dd27c added mkApp to the Haskell binding 2014-12-19 08:47:00 +00:00
kr.angelov
6b2ef03af9 fix in the Haskell binding 2014-12-16 10:35:56 +00:00
kr.angelov
990dce35ae forgot to export parseWithHeuristics from Haskell 2014-12-16 10:33:45 +00:00
kr.angelov
9bc5349e62 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
3e8e477652 update the nerc for the changes in the grammar 2014-12-11 21:54:34 +00:00
kr.angelov
e41ec32ba9 make sure that neither I nor I'm is recognized as name in English 2014-12-09 08:49:22 +00:00
kr.angelov
386ec87405 bugfix for unknown words 2014-12-08 19:38:03 +00:00
kr.angelov
d4b8281226 fix for the unknown words 2014-12-08 15:42:14 +00:00
kr.angelov
3fd53b907e added a callback for unknown words 2014-12-08 15:18:01 +00:00
kr.angelov
64feca59c8 fix the last patch 2014-12-01 11:03:50 +00:00
kr.angelov
960ba43149 a small optimization in the PGF parser which gives me ~5% speed up 2014-12-01 10:48:15 +00:00
kr.angelov
14a2821fd8 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
35e76a5fe8 fix in linearizer.h to make jpgf compilable 2014-12-01 09:41:48 +00:00
kr.angelov
6f2195f793 fix in linearizer.h which resolves a warning 2014-11-27 15:20:46 +00:00
kr.angelov
f63e8faf00 remove pgf/parser.h 2014-11-27 11:12:14 +00:00