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
kr.angelov
9276b7567d
fix memory leak in the pgf-parse tool
2014-10-24 08:42:32 +00:00
kr.angelov
15744379a8
add extern declarations for all inline functions in seq.h. this ensures that everything works even when the compiler's optimizations are off
2014-10-24 08:26:58 +00:00
kr.angelov
b4046e1797
a simple optimization in cmp_item_prob with great effect on the parser's speed
2014-10-23 21:22:22 +00:00
kr.angelov
0c6ba90dd8
remove some deadcode in gu/seq.h
2014-10-23 21:21:21 +00:00
kr.angelov
9314b5b392
inline a number of functions in gu/seq.c. this has a noticeable effect on the parser's speed
2014-10-23 21:19:29 +00:00
kr.angelov
e788398bf7
a cosmetic optimization in mem.c
2014-10-23 15:45:14 +00:00
kr.angelov
f421dd4c68
fix the debug mode in the reasoner
2014-10-23 08:15:12 +00:00
kr.angelov
075d45dc19
fix warning in ucs.c
2014-10-23 07:44:41 +00:00
kr.angelov
3a95d733dd
CAPIT is now naturally supported in the C runtime
2014-10-22 15:05:55 +00:00
kr.angelov
9562a88b28
add Unicode classification routines to libgu. ported from the base package in Haskell.
2014-10-22 14:36:58 +00:00
kr.angelov
0da379f97b
an explicit PUSH_FRAME instruction
2014-10-22 14:11:41 +00:00
kr.angelov
54b9b89921
make the fields of BracketedString in the Python binding read/write
2014-10-22 12:18:07 +00:00
kr.angelov
4e533b7253
get rid of gu/str.(c|h)
2014-10-20 07:50:42 +00:00
aarne
0025e078ea
(un)lexmixed: added the other math environments than $ used in latex
2014-10-19 17:43:39 +00:00
aarne
1550300c80
one general case in dealing with backslash in latex lexing is enough
2014-10-17 15:49:23 +00:00
kr.angelov
70bf9f78b1
the C runtime now supports reading and writing expressions with indexed meta variables. The type checker generates fresh indices
2014-10-17 09:27:37 +00:00
aarne
d30aaa6547
unlexing latex code: no space between closing $ and punctuation
2014-10-17 07:04:50 +00:00
aarne
7ec778d747
lexer for latex code: don't separate backslash from the macro name that it marks
2014-10-17 06:40:06 +00:00