Commit Graph

4200 Commits

Author SHA1 Message Date
krasimir
4ce95de1bc the Literals API in Haskell no longer offers the sentence as an argument to the callbacks. It is just as easy to save the sentence in a closure and by doing that we save the repeated round about from C to Haskell strings 2016-05-11 11:10:22 +00:00
krasimir
ff11f2f963 many of the uses of peekCString and withCString in the Haskell binding were incorrect since they encode the string in the system locale while the C runtime is always using UTF8 2016-05-11 07:11:45 +00:00
krasimir
82a0634103 fix the offset for oracles in Haskell 2016-05-10 19:41:44 +00:00
krasimir
7cb772ffdb an API for oracles in the GF parser 2016-05-10 17:11:39 +00:00
krasimir
44d7ccf6de a prototype for complex queries over expressions in libsg 2016-04-29 14:06:24 +00:00
krasimir
652cd2d297 added methods for accessing the last element of a buffer in libgu 2016-04-29 14:05:42 +00:00
krasimir
6cf80c0769 a version of sqlite3.c which is prunned to one third of the original size and now it contains only the database storage engine withough the SQL compiler and interpreter 2016-04-28 14:14:04 +00:00
hallgren
1c2ab94ec5 Fix a problem building the Java binding when creating binary packages
Pass -I and -L flags to gcc so that the C run-time system can be found.

Also added a line in src/runtime/java/Makefile to install jpgf.jar.
2016-04-25 14:21:04 +00:00
krasimir
f626472527 more fixes for GNU Lightning for ARM 2016-04-14 13:47:56 +00:00
krasimir
3188e603db fix in evaluator.c 2016-04-14 13:47:29 +00:00
krasimir
727a94329c added PGF.inferExpr and Type.toString in the Java binding 2016-04-14 13:12:22 +00:00
krasimir
75d808ab1f bugfix in GNU Lightning for ARM 2016-04-14 08:26:07 +00:00
krasimir
46d83b2132 bugfix in the JIT compiler for 64bit machines 2016-04-13 14:58:12 +00:00
krasimir
a1fe57d69b locale independent printing for doubles when they are part of an abstract expression 2016-04-13 14:30:40 +00:00
krasimir
e74a008296 fix for reading PgfExpr with a double literal 2016-04-13 14:08:49 +00:00
hallgren
1ca5e51707 Minibar: don't show dependency information in parse trees.
This was fixed by adding "&nodep=true" in the minibar when it requests a
parse tree from the server. The reason dependency information got included
in the first place was that all rendering options are on by default in
command=parsetree requests in PGF service API.
2016-04-13 13:18:18 +00:00
krasimir
6f0159e08e added PGF.compute in the Java binding 2016-04-13 12:57:06 +00:00
krasimir
289957db74 added getFunctionsByCat 2016-04-13 12:49:08 +00:00
krasimir
18a5548b2b added getCategories() and getFunctions() in the Java binding 2016-04-13 12:02:42 +00:00
hallgren
ca97f6d217 GF.Command.Commands2: adapt gf -cshell to the changes in the previous patch 2016-04-07 14:55:13 +00:00
hallgren
58cd043fa8 GF shell: fix a parsing problem with the cc command
This patch fixes a problem introduced last year when the GF shell was
refactored to allow more commands to be treated uniformly and be part
of pipes. The cc command was one of those commands, but unfortunately this
introduced a parsing problem, e.g.

	> cc "last"
	constant not found: last

	> cc "last"++"year"
	command not parsed: cc "last"++"year"

This happened because the generic command line parser in
GF.Command.{Abstract,Parse} assumes that all commands have an argument of
type PGF.Expr. Commands that expect other types of arguments have to
use PGF.showExpr combined with other conversion to the argument type they
expect. The cc command excpets a GF.Grammar.Term, and unfortunately not 
all terms survice the roundtrip through PGF.Expr, in part because of
an additional hack to allow strings to be roundtripped through PGF.Expr
without adding superfluous double quotes.

To solve the problem, this patch

 + makes room for arguments of type Term in the Argument type in
   GF.Command.Abstract.
   
 + makes a special case for the cc command in GF.Command.Parse, by
   calling the partial parser 'runPartial pTerm' recently added in
   GF.Grammar.Lexer and GF.Grammar.Parser. Care was taken so that
   that "|" and ";" can be used both inside terms and as separators between
   commands in the shell, e.g. things like the following now work:

       > cc ("a"|"b") | ps -lexcode
       variants { "a" ; "b" }

 + introduces a type CommandArgument that replaces [Expr] as the
   type of values passed between commands in pipes. It has room for
   values of type [Expr], [String] and Term, thus eliminating the need
   to roundtrip through the Expr type all the time.
   The hack to avoid adding superfluous quotes when strings are
   roundtripped through Expr has been left in place for now,
   but can probably be removed.
2016-04-07 13:40:05 +00:00
hallgren
6d5ecf7c3f Lexer.x & Parser.y: add a partial parser for terms
Lexer.x: Change the parser monad type P to allow the remaining input to
	 be returned after a partial parse. Add function

           runPartial :: P t -> String -> Either (Posn, String) (String, t)

Parser.y: Add a partial parser pTerm for nonterminal Exp1.
          Re-export runPartial.
2016-04-07 13:32:14 +00:00
hallgren
c4ea470eb1 Lexer.x: fix cyclic Functor instance
It looks like I introduced this cyclic definition in August 2014, but since
it isn't used, it hasn't been a problem...
2016-04-06 13:46:48 +00:00
hallgren
bd8c96efb3 src/tools: update GFDoc.hs and Htmls.hs for compatibility with current libraries and add gf-tools.cabal to compile them 2016-04-05 13:29:56 +00:00
hallgren
4b103f248e GFSE: add Latvian to the list of RGL languages 2016-04-03 17:29:10 +00:00
hallgren
9f7593734a src/runtime/c/INSTALL: add automake to the list of needed packages on Linux
The automake package contains aclocal, which is needed when running
autoreconf -i.

I never needed to install automake explicitly on Linux, presumably because it
got installed anyway because of some other dependency, but apparently you
can't take this for granted.
2016-03-30 11:43:16 +00:00
krasimir
3e8ec361d8 fix the handling of separators in BNFC which are not nonempty 2016-03-22 13:13:35 +00:00
krasimir
4fb187b49c CFGtoPGF is now extended to support context-free grammars with primitive parameters 2016-03-22 10:28:15 +00:00
krasimir
9780b38469 added missing module GF.Grammar.BNFC 2016-03-21 20:03:28 +00:00
krasimir
2bd4f2ef04 fix comment in GF.Grammar.CFG 2016-03-21 19:33:14 +00:00
krasimir
8cd59c6d98 initial support for BNFC syntax in context-free grammars for GF. Not all features are supported yet. Based on contribution from Gleb Lobanov 2016-03-21 13:27:44 +00:00
krasimir
651eab05d8 bugfix: GF.Compile.CFGtoPGF now supports literal categories 2016-03-21 13:26:32 +00:00
krasimir
27313fb336 more progress on the typechecker 2016-03-15 14:16:17 +00:00
krasimir
f4cf7493e3 current state of the experimental typechecker 2016-03-07 20:20:47 +00:00
krasimir
bd337427eb add missing cases in vapply in the partial evaluator 2016-03-03 06:59:50 +00:00
krasimir
c6218d768a fix in the typechecker 2016-03-02 21:28:54 +00:00
krasimir
9d71727545 a better interface between the type checker and the partial evaluator 2016-03-02 16:22:56 +00:00
krasimir
e51ad77836 the experimental type checker in GF.Compile.TypeCheck.ConcreteNew is now rewriten to use the complete evaluator in GF.Compile.Compute.ConcreteNew. The old sketchy implementation in GF.Compile.Compute.ConcreteNew1 is now removed. 2016-03-02 13:38:02 +00:00
leiss
bcb237793e add forgotten file src/runtime/haskell/PGF/LexingAGreek.hs 2016-02-23 17:32:19 +00:00
leiss
398212bd65 add lexer and unlexer for Ancient Greek accent normalization 2016-02-23 16:30:39 +00:00
krasimir
8acbc6ba45 Now we even test in two different places for the JNI headers. Once for Linux and once for Mac OS. This is still not ideal since different Linux distributions might use different locations. 2016-02-17 14:52:48 +00:00
krasimir
6a50ccb48b typo in the new Makefile 2016-02-17 14:40:46 +00:00
krasimir
be9a8f5a1f a version of the Makefile for the Java binding which should work on Linux and Mac OS 2016-02-17 14:37:55 +00:00
krasimir
453ad134b5 some progress on complex queries in libsg 2016-02-09 10:59:18 +00:00
krasimir
db523ff200 fix a rather intricate bug where coercions in the PMCFG grammar didn't interact properly with the lazy parser 2016-01-26 14:29:06 +00:00
hallgren
a0f6cd1f74 GFSE: add Afrikaans to the list of available RGL languages. 2016-01-19 13:59:17 +00:00
krasimir
b77a0d6801 javadoc comments in the Java binding 2016-01-14 19:03:13 +00:00
krasimir
9483ad219b added API for reading a list of tuples in the SG module 2015-12-22 13:50:01 +00:00
krasimir
e584be964c pgf_read should close the input file. 2015-12-22 09:29:14 +00:00
krasimir
6bf691c3af added a primitive full-text search index in libsg. This can be use for finding an abstract tree whose linearization matches given keywords 2015-12-20 14:04:52 +00:00