kr.angelov
818896dec2
fix a portability problem with the Python binding (found by Prasanth)
2014-09-17 16:12:40 +00:00
kr.angelov
3e3178abfa
dummy jit_base_tail_finishr for x86_64.
2014-09-16 12:29:35 +00:00
kr.angelov
621d748bac
a major revision of the bytecode generator and JIT compiler. the effect is that now we can compute with lambda functions and with true tail recursion
2014-09-11 15:39:39 +00:00
kr.angelov
df0602723d
now release the FunPtr:s that are allocated for each literal callback
2014-09-10 15:41:53 +00:00
kr.angelov
80725e872b
added an API for custom literals in the Haskell binding
2014-09-10 14:56:18 +00:00
kr.angelov
b553729f37
added loadConcr/unloadConcr to the Haskell binding. This exposes an API for loading grammars compiled with -split-pgf
2014-09-10 14:35:54 +00:00
kr.angelov
4d28c7632e
the code for def rules now uses proper graph update to preserve lazyness
2014-09-05 11:53:02 +00:00
kr.angelov
86b5f78c57
full support for recursive def rules in the C runtime
2014-09-05 10:09:43 +00:00
kr.angelov
bfd414554d
partial implementation for recursive def rules
2014-09-01 14:51:20 +00:00
kr.angelov
342f6e3797
bug fixes in the JIT compiler
2014-09-01 12:53:14 +00:00
kr.angelov
cee5f590ca
added evaluator.h which I had forgoten
2014-08-29 08:36:53 +00:00
hallgren
cd5193b7e1
Fix warnings in 16 modules, mostly forward compatibility warnings from GHC 7.8
2014-08-13 22:16:18 +00:00
kr.angelov
c30e2df228
pattern matching in def rules is now supported
2014-08-11 15:53:41 +00:00
kr.angelov
584d589041
a partial support for def rules in the C runtime
...
The def rules are now compiled to byte code by the compiler and then to
native code by the JIT compiler in the runtime. Not all constructions
are implemented yet. The partial implementation is now in the repository
but it is not activated by default since this requires changes in the
PGF format. I will enable it only after it is complete.
2014-08-11 10:59:10 +00:00
john.j.camilleri
37a35734a5
PGF Web Service: include entire completion in full mode
...
When using full=yes in the web service 'complete' command,
you now get an additional field 'seq' with the longest possible completion.
So, given:
lin
f1 = ss "the" ;
f2 = ss ("the red house" | "the real deal") ;
and trying to complete on input "th", you get:
[
{
"from": "TestCnc",
"brackets": {
"cat": "_",
"fid": 0,
"index": 0,
"fun": "_",
"children": []
},
"text": "th",
"completions": [
{
"token": "the",
"funs": [
{
"fun": "f1",
"hyps": [],
"cat": "C",
"seq": "the"
},
{
"fun": "f2",
"hyps": [],
"cat": "C",
"seq": "the red house"
},
{
"fun": "f2",
"hyps": [],
"cat": "C",
"seq": "the real deal"
}
]
}
]
}
]
2014-07-15 09:33:22 +00:00
john
9b49608451
PGF web service: Return additional completion info with 'full' flag
...
BETA! The 'complete' command now has a new flag 'full' which when set
returns additional info about completions.
Without 'full' flag (default):
[
{
"from": "PhrasebookEng",
"brackets": {
"cat": "_",
"fid": 0,
"index": 0,
"fun": "_",
"children": [
{
"token": "the"
}
]
},
"text": "su",
"completions": [
"supermarket",
"suspect"
]
}
]
With full=true or full=yes:
[
{
"from": "PhrasebookEng",
"brackets": {
"cat": "_",
"fid": 0,
"index": 0,
"fun": "_",
"children": [
{
"token": "the"
}
]
},
"text": "su",
"completions": [
{
"token": "supermarket",
"funs": [
{
"fid": 421,
"fun": "Supermarket",
"hyps": [],
"cat": "PlaceKind"
}
]
},
{
"token": "suspect",
"funs": [
{
"fid": 445,
"fun": "Suspect",
"hyps": [],
"cat": "Property"
}
]
}
]
}
]
2014-07-11 09:25:26 +00:00
kr.angelov
0222d2440c
implemented computing with abstract syntax trees. It passes all test cases except those that require def rules. The design is consistent with the STG virtual machine
2014-07-08 19:45:49 +00:00
kr.angelov
e0fe6d01c4
bugfix for the typechecker in the C runtime
2014-07-08 19:19:48 +00:00
kr.angelov
ada85ae44e
an API for visitor patterns on abstract syntax trees from Python. This makes the embedded grammars especially pleasing
2014-07-06 23:48:51 +00:00
kr.angelov
85672af858
small fix for the embedded mode in Python
2014-07-06 19:55:08 +00:00
kr.angelov
e52d5bf715
embedded mode for GF grammar in Python. Only generation for now
2014-07-06 19:49:17 +00:00
kr.angelov
abb50f9c73
added bracketedLinearize in the Java binding
2014-07-02 07:08:01 +00:00
kr.angelov
4a7055e994
fixed rare memory leak in the Java bindings
2014-07-02 07:06:51 +00:00
kr.angelov
064cf03005
a few changes in the Nerc that I have forgoten to push
2014-07-01 17:32:25 +00:00
kr.angelov
7aa8bf4150
fix warnings in the compilation of the Java binding
2014-07-01 17:31:29 +00:00
hallgren
ceb4beeb84
runtime/c/setup.sh: use make -j to speed up compilation
...
The configuration script takes significantly longer to run than the compilation
of all the C code, which is a hint that is in need of a major simplification.
2014-06-19 09:26:44 +00:00
hallgren
65b064fe82
build-binary-dist.sh: updated to include the Python binding to the C run-time
...
There are also some changes in src/runtime/python/setyp.py to support this.
2014-06-18 16:09:46 +00:00
kr.angelov
fe49ddf16d
now the named entities recognizer returns dictionary entries if the name is known
2014-06-17 06:57:12 +00:00
hallgren
9944916127
src/runtime/c/setup.sh: executable version of INSTALL, used from debian/rules
2014-06-16 23:28:12 +00:00
kr.angelov
b3f8b90f2b
fixed memory leak in the Haskell binding to the C runtime
2014-06-16 08:49:13 +00:00
hallgren
d6252d1c16
PGF library: expose only PGF and PGF.Internal instead of all modules
...
PGF exports the public, stable API.
PGF.Internal exports additional things needed in the GF compiler & shell,
including the nonstardard version of Data.Binary.
2014-06-12 14:43:18 +00:00
hallgren
26aecdb4d3
PGF2.hsc: use throwIO instead of throw
...
From the documentation: the throwIO variant should be used in preference to
throw to raise an exception within the IO monad because it guarantees ordering
with respect to other IO operations, whereas throw does not.
Also removed some unused imports.
2014-06-10 12:42:01 +00:00
kr.angelov
dbb4fdd0f7
bugfix in the Java binding. it was causing a crash in the Android app
2014-05-23 10:52:00 +00:00
kr.angelov
333e537e72
small fix in tabularLinearize
2014-05-22 13:33:18 +00:00
kr.angelov
757db06ba0
added tabularLinearize in the python binding
2014-05-22 13:30:14 +00:00
hallgren
121afca05a
Haskell binding: free memory pool to avoid space leak when readPGF fails
2014-05-13 14:07:36 +00:00
kr.angelov
41c8749b5c
fix the literals API in Java for strings with non-latin characters
2014-05-08 14:56:46 +00:00
kr.angelov
58d0cdc943
fix memory leak in the Haskell binding
2014-05-08 08:41:58 +00:00
hallgren
70b192594e
pgf-shell.hs: fix compilation problem with GHC 7.4
2014-05-07 17:06:34 +00:00
hallgren
04e7bdb6fe
Two improvements in the pgf-shell example
...
1. Like pgf-translate, it now shows one result at a time, press Enter to get
more results.
2. You can load a new grammar with the command 'i <path-to-pgf>'
2014-05-07 16:37:28 +00:00
kr.angelov
d278965095
an initial Java/C API for predicting literals. Still not utilized
2014-04-25 08:53:18 +00:00
kr.angelov
b70cea2673
bugfix in the handling of BIND in the C runtime
2014-04-22 13:53:18 +00:00
kr.angelov
b0b27a1b32
now word completion from Java works. It could be made better
2014-04-17 11:00:27 +00:00
kr.angelov
f72fe45c32
forgoten Completer.java
2014-04-11 07:52:10 +00:00
kr.angelov
b82f9a5035
expose Java API for word completion
2014-04-11 07:50:22 +00:00
kr.angelov
65b4ba2459
change the JVM version to 1.6 in JNI_OnLoad
2014-04-11 07:15:27 +00:00
kr.angelov
dbc8a6f579
bugfix in the Java binding
2014-04-10 16:43:40 +00:00
kr.angelov
1ca09448f9
now fully functional Java API for custom literals
2014-04-10 14:14:31 +00:00
kr.angelov
348c9c4233
bugfix in the C runtime
2014-04-10 07:42:49 +00:00
kr.angelov
d9f4c1598c
a quick hack to enable the NERC from bindings. This should be made available from the API but for now I just hacked the C runtime
2014-04-10 07:27:07 +00:00