kr.angelov
dee64838f4
bugfix in pgf_evaluate_expr_thunk
2014-09-30 17:34:29 +00:00
kr.angelov
0bdd599972
fix pgf_value2expr for partial applications
2014-09-30 13:46:46 +00:00
kr.angelov
8801915523
enough fixes to get the JIT compiler compile for ARM. It is still broken if you try to use it
2014-09-30 12:39:31 +00:00
kr.angelov
ceb5b7bbf3
fix in reader.h for compiling jpgf.c
2014-09-30 11:25:27 +00:00
kr.angelov
cdac80b6b2
fix in pgf_print_expr for lambda abstractions with more than one argument
2014-09-30 09:42:18 +00:00
kr.angelov
9fd8d5d019
bugfix in the gate evaluate_value_lambda
2014-09-30 08:42:06 +00:00
kr.angelov
698329f469
bugfix in the pattern matching compiler and a number of other fixes that I somehow did not push before
2014-09-29 15:00:04 +00:00
kr.angelov
0d08417efe
bugfix in the RET instruction
2014-09-29 13:04:49 +00:00
kr.angelov
1d7e976560
enlarge the code window in pgf_jit_gates to ensure enough space on 64-bit machines
2014-09-29 07:34:32 +00:00
kr.angelov
2cf55a0631
the literals API is now exposed in Python
2014-09-25 11:59:40 +00:00
kr.angelov
3064fc737e
switch off the debugging of the JIT compiler which I had turned on accidentally. silence two harmless warnings
2014-09-25 11:44:45 +00:00
kr.angelov
25e8e4ce5a
now a complete JIT compiler and ByteCode compiler for the def rules in the abstract syntax. there might be some bugs yet to be found, meta variables and computation under lambda is only partially supported
2014-09-25 10:35:06 +00:00
hallgren
38811b06c9
haskell-bind/PGF2.hsc: unexport functions that break referential transparency
...
loadConcr, unloadConcr and addLiteral modify the Concr structure as a side
effect. This means that other functions with a Concr argument (e.g. parse
and linearize) are no longer pure.
Possible solutions:
1. Don't try to hide the imperative nature of the C run-time system: remove
all uses of unsafePerformIO and let all functions operate in the IO monad.
2. Don't export functions with side effects. Perhaps the desired functionality
of loadConcr, unloadConcr and addLiteral can be folded into readPGF.
The Concr structures can then treaded as immutable after after the
readPGF function returns...
2014-09-22 14:05:17 +00:00
kr.angelov
db68456727
fix a portability problem with the Python binding (found by Prasanth)
2014-09-17 16:12:40 +00:00
kr.angelov
e308f384de
dummy jit_base_tail_finishr for x86_64.
2014-09-16 12:29:35 +00:00
kr.angelov
923ad6b3c0
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
5c0ef5c4ed
now release the FunPtr:s that are allocated for each literal callback
2014-09-10 15:41:53 +00:00
kr.angelov
d84d3b5763
added an API for custom literals in the Haskell binding
2014-09-10 14:56:18 +00:00
kr.angelov
fb18482aeb
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
d7dc541f74
the code for def rules now uses proper graph update to preserve lazyness
2014-09-05 11:53:02 +00:00
kr.angelov
5e5ad8f2db
full support for recursive def rules in the C runtime
2014-09-05 10:09:43 +00:00
kr.angelov
442dadf100
partial implementation for recursive def rules
2014-09-01 14:51:20 +00:00
kr.angelov
9adf01a91e
bug fixes in the JIT compiler
2014-09-01 12:53:14 +00:00
kr.angelov
9bc507f1d6
added evaluator.h which I had forgoten
2014-08-29 08:36:53 +00:00
hallgren
1cfdffd5e9
Fix warnings in 16 modules, mostly forward compatibility warnings from GHC 7.8
2014-08-13 22:16:18 +00:00
kr.angelov
912225a5dd
pattern matching in def rules is now supported
2014-08-11 15:53:41 +00:00
kr.angelov
03b067782c
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
d59749c914
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
747287055f
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
0138869499
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
b3397f8071
bugfix for the typechecker in the C runtime
2014-07-08 19:19:48 +00:00
kr.angelov
153479e991
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
a794ec5c42
small fix for the embedded mode in Python
2014-07-06 19:55:08 +00:00
kr.angelov
7afbff6fa8
embedded mode for GF grammar in Python. Only generation for now
2014-07-06 19:49:17 +00:00
kr.angelov
42dea944d9
added bracketedLinearize in the Java binding
2014-07-02 07:08:01 +00:00
kr.angelov
410b7c78ce
fixed rare memory leak in the Java bindings
2014-07-02 07:06:51 +00:00
kr.angelov
b9ffc8ac00
a few changes in the Nerc that I have forgoten to push
2014-07-01 17:32:25 +00:00
kr.angelov
3843f5505e
fix warnings in the compilation of the Java binding
2014-07-01 17:31:29 +00:00
hallgren
158519624e
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
7b1ad9de51
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
7d713d1687
now the named entities recognizer returns dictionary entries if the name is known
2014-06-17 06:57:12 +00:00
hallgren
bbeca32a43
src/runtime/c/setup.sh: executable version of INSTALL, used from debian/rules
2014-06-16 23:28:12 +00:00
kr.angelov
21e855c91d
fixed memory leak in the Haskell binding to the C runtime
2014-06-16 08:49:13 +00:00
hallgren
f739841497
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
bc0249b501
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
78d8524138
bugfix in the Java binding. it was causing a crash in the Android app
2014-05-23 10:52:00 +00:00
kr.angelov
2c04554be5
small fix in tabularLinearize
2014-05-22 13:33:18 +00:00
kr.angelov
c2aad9e313
added tabularLinearize in the python binding
2014-05-22 13:30:14 +00:00
hallgren
33af15e803
Haskell binding: free memory pool to avoid space leak when readPGF fails
2014-05-13 14:07:36 +00:00
kr.angelov
802a106b3e
fix the literals API in Java for strings with non-latin characters
2014-05-08 14:56:46 +00:00