Commit Graph

7110 Commits

Author SHA1 Message Date
hallgren
94b8ebf402 debian/rules: workaround for a problem on Ubuntu 15.10 and 16.04
dh_shlibdeps has a problem finding which package some of the Haskell
libraries come from, even though dpkg-query -S has no problem finding them.
But the gf executable is statically linked against the Haskell libraries, so
it will work even if these shared libraries aren't installed. But there will
be a problem if other shared libraries are missing (.e.g. libtinfo, libgmp),
so we need a better solution than simply ignoring all dependency problems...

See also http://stackoverflow.com/questions/11238134/dpkg-shlibdeps-error-no-dependency-information-found-for
2016-04-12 13:25:17 +00:00
hallgren
31df4a6c46 GF.Command.Commands2: adapt gf -cshell to the changes in the previous patch 2016-04-07 14:55:13 +00:00
hallgren
ab3cc77656 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
65e675d8e2 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
krasimir
c130d28ae3 fixed Foods grammar for Macedonian 2016-04-07 10:49:35 +00:00
hallgren
c8b7ebc163 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
ad22a4d899 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
krasimir
9db5139e23 Foods grammar for Macedonian. Probably not quite correct 2016-04-05 15:33:44 +00:00
hallgren
7d509d6933 GFSE: add Latvian to the list of RGL languages 2016-04-03 17:29:10 +00:00
hallgren
465a83cd02 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
a393c1a246 fix the handling of separators in BNFC which are not nonempty 2016-03-22 13:13:35 +00:00
krasimir
ce70720859 CFGtoPGF is now extended to support context-free grammars with primitive parameters 2016-03-22 10:28:15 +00:00
krasimir
fbdf21d862 added missing module GF.Grammar.BNFC 2016-03-21 20:03:28 +00:00
krasimir
8f80e5451e fix comment in GF.Grammar.CFG 2016-03-21 19:33:14 +00:00
krasimir
c8ebe09315 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
da10bb33c7 bugfix: GF.Compile.CFGtoPGF now supports literal categories 2016-03-21 13:26:32 +00:00
krasimir
07cf4d6509 more progress on the typechecker 2016-03-15 14:16:17 +00:00
krasimir
c1671d43e2 current state of the experimental typechecker 2016-03-07 20:20:47 +00:00
krasimir
4ba9712f16 add missing cases in vapply in the partial evaluator 2016-03-03 06:59:50 +00:00
krasimir
508bc346e5 fix in the typechecker 2016-03-02 21:28:54 +00:00
hallgren
a2922e35fd gf.cabal: Remove GF.Compile.Compute.ConcreteNew1 2016-03-02 16:29:13 +00:00
krasimir
13ff91bbb9 a better interface between the type checker and the partial evaluator 2016-03-02 16:22:56 +00:00
krasimir
47eb774cdf 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
672c1e8df5 add forgotten file src/runtime/haskell/PGF/LexingAGreek.hs 2016-02-23 17:32:19 +00:00
leiss
df2901c9c0 add lexer and unlexer for Ancient Greek accent normalization 2016-02-23 16:30:39 +00:00
krasimir
8548979d1c 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
9e3944951c typo in the new Makefile 2016-02-17 14:40:46 +00:00
krasimir
279f66c950 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
55a7fdc4a5 some progress on complex queries in libsg 2016-02-09 10:59:18 +00:00
hallgren
114dc54bf9 demos/index.html: a couple of fixes 2016-02-08 16:41:50 +00:00
krasimir
4a38cc1e7b 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
9bed116878 GFSE: add Afrikaans to the list of available RGL languages. 2016-01-19 13:59:17 +00:00
krasimir
5576688410 javadoc comments in the Java binding 2016-01-14 19:03:13 +00:00
inari
9aeefe6925 add link to irc channel 2016-01-14 05:59:49 +00:00
krasimir
8dda2dfbff added API for reading a list of tuples in the SG module 2015-12-22 13:50:01 +00:00
krasimir
028de0468b pgf_read should close the input file. 2015-12-22 09:29:14 +00:00
krasimir
bef9d8c5fc 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
0b9395fd70 a fix that should solve the segmentation fault on MacOS with the exhaustive generator 2015-12-19 17:30:41 +00:00
krasimir
6947d36e1a 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
fe1ce8389c feedback.cgi: exclude empty submission when showing the feedback list 2015-12-11 13:08:46 +00:00
aarne
d41d512ae3 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
6b74a90bd4 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
bc644e643b 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
76bebb0656 fix in the App 2015-12-09 09:02:19 +00:00
krasimir
b1d0839650 some revisions in the list of topics 2015-12-03 21:46:12 +00:00
krasimir
0bc612f3f5 fix in the app 2015-12-03 09:03:59 +00:00
krasimir
f482300fd1 bugfixes in the app 2015-12-02 21:53:41 +00:00
krasimir
967b87d9d3 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
f2b057c078 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
5bb792be5e 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