Commit Graph

2145 Commits

Author SHA1 Message Date
hallgren 330d42296c PGF2: export BindType(..) and two new functions: showType & categories
showType :: Type -> String
categories :: PGF -> [Cat]

But both are implemented as quick hacks: categories is implemented by listing
all functions and taking the target categories from their types. showType uses
ppType copied & modified from PGF.Type, and needs a ppExpr, which is currently
implemented by wrapping showExpr...

TODO: need something correpsonding to PGF.categoryContext.
2015-08-20 15:55:24 +00:00
krasimir 2f9704a624 add the initial sketches of the semantic graph storage 2015-08-20 13:31:43 +00:00
krasimir 6b90024d09 pickling/unpickling for types 2015-08-12 10:11:00 +00:00
krasimir ac6ce58777 support for transparent pickling/unpickling of abstract expressions in Python 2015-08-12 09:21:23 +00:00
hallgren 8d6e61a8df gf -cshell: preliminary support for the C run-time system in the GF shell
Some C run-time functionality is now available in the GF shell, by starting
GF with 'gf -cshell' or 'gf -crun'. Only limited functionality is available
when running the shell in these modes:

- You can only import .pgf files, not source files.
- The -retain flag can not be used and the commands that require it to work
  are not available.
- Only 18 of the 40 commands available in the usual shell have been
  implemented. The 'linearize' and 'parse' commands are the only ones
  that call the C run-time system, and they support only a limited set of
  options and flags. Use the 'help' commmands for details.
- A new command 'generate_all', that calls PGF2.generateAll, has been added.
  Unfortuntaly, using it causes 'segmentation fault'.

This is implemented by adding two new modules: GF.Command.Commands2 and
GF.Interactive2. They are copied and modified versions of GF.Command.Commands
and GF.Interactive, respectively. Code for unimplemented commands and other
code that has not been adapted to the C run-time system has been left in
place, but commented out, pending further work.
2015-08-10 14:12:51 +00:00
krasimir 9b0cb5adad bugfix for the word prediction in the App 2015-08-06 12:51:42 +00:00
krasimir f6796ced2d bugfix in lookup_morpho in the C runtime 2015-08-06 11:51:23 +00:00
krasimir 880f0a63d0 make the virtual machine instructions more uniform 2015-07-16 15:43:18 +00:00
krasimir d22c07dcfb refine the GNU lightning patch to avoid generating unnecessary code 2015-07-16 15:29:14 +00:00
krasimir fac48d43e8 bugfixes in the JIT compiler for x86_64. One of the fixes is actually in GNU lightning 2015-07-16 15:21:09 +00:00
aarne 3ad6e0c6bc added a space after the tag in word alignment to work around a graphviz bug shown with Chinese characters 2015-07-16 08:36:14 +00:00
krasimir aa6b6d3155 fixed missing do in the Haskell binding 2015-07-12 15:37:45 +00:00
krasimir 192b1cc018 the reasoner's states are now closures just like the code for the def rules. This means more compact JIT compiled code and uniformity with the code for def rules 2015-07-04 15:06:34 +00:00
krasimir b3680b6025 merge the states for reasoning and evaluation into a single structure 2015-07-03 11:53:52 +00:00
krasimir 22773909bf add function 'functions' in the Haskell binding to the C runtime 2015-06-30 20:42:19 +00:00
krasimir 6f2afdd53e bugfix in the parser for lexical lookup 2015-06-30 12:54:19 +00:00
hallgren 2643f3cee6 Documentation updates for the release of GF 3.7 2015-06-25 12:10:47 +00:00
krasimir c7f1803410 bugfix in the bottom-up prediction for the parser 2015-06-25 09:46:43 +00:00
hallgren c6cdb66cf2 runtime/c/pf/jit.c: silence warning about alloca on MINGW32 2015-06-23 15:49:31 +00:00
hallgren 22ba8d34ff Bump version of .gfo and .pgf files, improve error messages on version mismatch
Becacuse of the new special tokens added to the Symbol type, .gfo and .pgf
files produced with the current version of GF can not always be used with
older versions of GF and the PGF run-time system.

The PGF version number was increased from (2,0) to (2,1). GF can still
read version (2,0) and (1,0), so old PGF files continue to work.

The GFO version was increased from "GF03" to "GF04".
2015-06-23 12:58:14 +00:00
krasimir 2f2f459a89 forgot changes in the serialization in the Haskell runtime 2015-06-17 12:58:46 +00:00
krasimir e352742b8c the orthographic tokens were broken when they appear inside a dictionary entry. Now this is fixed by treating those as syntactic rules 2015-06-12 13:03:19 +00:00
krasimir ac01e5019a fixed typo in the Haskell runtime 2015-06-11 07:41:28 +00:00
krasimir 9b0edaacdb print error message for missing abstract categories in the C runtime 2015-06-05 07:41:59 +00:00
krasimir 786da46a99 added callback in C for unknown words 2015-05-19 09:15:48 +00:00
krasimir 616a24cba4 the NERC in C is now fully up-to-date with the other NERCs. In addition the NERC in Haskell and Java now refuses to recognize names that match words in the lexicon. The latest is useful for German 2015-05-19 07:26:56 +00:00
krasimir 09a57b34a8 bugfix in the NERC in C 2015-05-18 15:02:44 +00:00
krasimir ce05465365 the callbacks in C now take the concrete syntax as a parameter 2015-05-18 14:41:33 +00:00
krasimir 773a33979b pgf_lookup_morpho and pgf_lookup_word_prefix are now also case insensitive if case_sensitive=off 2015-05-18 14:20:35 +00:00
krasimir b4e41cabdd "flags case_sensitive=off" makes the parser case insensitive 2015-05-11 14:11:42 +00:00
krasimir 1e0d7be4f4 added all orthographic primitives 2015-05-11 13:01:39 +00:00
krasimir 13998e3287 implemented CAPIT in parsing 2015-05-08 18:54:50 +00:00
krasimir 483df35954 fix in the dictionary lookup 2015-05-08 18:12:24 +00:00
krasimir ea0f74d455 a new nice and elegant algorithm for dictionary lookup in the parser 2015-05-08 14:38:24 +00:00
krasimir 365c7bb1d8 the parser is now fully Unicode compatible 2015-05-08 09:23:29 +00:00
krasimir b961e9a255 fix gu_ucs_is_space in libgu 2015-05-07 15:50:55 +00:00
krasimir bf3b6f2794 fix the NERC in C to work for PN as literal 2015-05-07 15:16:55 +00:00
krasimir 7e43e5727a fix pgf-translate to use the NERC again 2015-05-07 14:49:30 +00:00
krasimir 01c4836d4d fix the UTF8 implementation in libgu 2015-05-06 15:51:12 +00:00
krasimir 3649412ce2 use a temporary pool for linearizeAll in Haskell too 2015-04-27 19:39:16 +00:00
krasimir 82eeb3ef2b fix a memory management error in linearizeAll in the python binding. a new temporary pool is used on every iteration to keep memory allocation to constant 2015-04-27 19:27:11 +00:00
krasimir c1129e15fa fix warning in the Python binding 2015-04-27 18:33:18 +00:00
krasimir 5f25804b73 mark two more functions as static in the Python binding 2015-04-27 18:24:21 +00:00
krasimir fc4b39d65f make linearizeAll in the Haskell binding lazy 2015-04-27 16:28:45 +00:00
prasanth.kolachina 8efff76703 K translations in pipeline 2015-04-27 15:59:49 +00:00
prasanth.kolachina 53f0307404 K Linearizations 2015-04-27 15:59:25 +00:00
prasanth.kolachina dedad558a8 Python linearizeAll with lazyness
linearizeAll function will take an expression and an optional
n keyword argument and return an iterator to the n-variant 
linearizations of the expression.
2015-04-27 15:47:57 +00:00
prasant.kolachina 9b723af995 remove parsing for long sentences, to stop pipeline from crashing/hanging 2015-04-27 13:05:14 +00:00
prasant.kolachina 2555891654 bug fix in python examples 2015-04-26 11:00:17 +00:00
prasant.kolachina 3ec571b03d bug fix python examples 2015-04-26 10:18:21 +00:00