1
0
forked from GitHub/gf-core
Commit Graph

4337 Commits

Author SHA1 Message Date
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
krasimir c6763c23e7 a fix that should solve the segmentation fault on MacOS with the exhaustive generator 2015-12-19 17:30:41 +00:00
krasimir 14769484a5 fix in the Python binding. The input sentence to the parser needs to be copied since otherwise the Python string may be discarded the garbage collector 2015-12-18 19:46:59 +00:00
hallgren f060ea7ea0 feedback.cgi: exclude empty submission when showing the feedback list 2015-12-11 13:08:46 +00:00
aarne bfe49e5fe1 tweaking Chi language codes to get both speech input and output in Android ; one fix in DictionaryChi 2015-12-11 10:56:07 +00:00
hallgren d0fc643951 Wide Coveage Translation Demo: sort parse results by probability
Because of the "heurisitc factor", the results returned by the parser might
not be in strict probability order. To compensate, a sorting pass has been
added to find and show the translation with the highest probability among the
10 first translations.

However, this means that the translation demo now immediately has to ask for
10 translations of every segment. Before, it initially asked for only one
translation of every segment, and then 9 more translations for a segment
when/if the user clicked on it. This change can slow down translation
noticeably (e.g. from 15s 30s to load an example with fiction in English).
2015-12-10 14:27:15 +00:00
hallgren b7e2ea30f5 Simple Translation Tool: bug fix
"File/Open In Wide Coverage Translation Demo" stopped working when support
for using different grammars in the Wide Coverage Translation Demo was added
On September 2.
2015-12-10 14:23:19 +00:00
krasimir 252f3e8b4e fix in the App 2015-12-09 09:02:19 +00:00
krasimir 96c1a520f2 some revisions in the list of topics 2015-12-03 21:46:12 +00:00
krasimir dcaf75d75e fix in the app 2015-12-03 09:03:59 +00:00
krasimir 5047596d94 bugfixes in the app 2015-12-02 21:53:41 +00:00
krasimir 01008a0162 now this is a working version of the app with topic disambiguation but it is still not optimal 2015-12-02 20:47:54 +00:00
hallgren a6c2ef97ff GF shell, cc command: try to compute pre{...} tokens in token sequences
This is implemented as a simple post-processing step after partial evaluation
to try compute pre{...} tokens in token sequences. Nothing is done to deal
with intervening free variants.

This was done in response to a query from René T on the gf-dev mailing list.
2015-12-02 16:41:18 +00:00
hallgren d5d4f11684 GF.Data.Str: change matchPrefix to agree with the GF book and the run-time system
The matchPrefix function is used in str2strings and the partial evaluator to
compute pre{...} tokens. But unlike the description in the GF book and
the implementation in the run-time system, matchPrefix looked at
the concatenation(!) of all following tokens and not just the next token
when deciding how to compute a pre{...} token.

This is a backwards incompatible change, but it is subtle and probably won't
cause any problems. In particular, the example grammars are unaffected.
2015-12-01 15:14:27 +00:00