Commit Graph

5463 Commits

Author SHA1 Message Date
hallgren
fa4c327463 Fix Issue 60: Weird output when executing system commands from the gf shell
The system_pipe (aka "?") command creates a temporary file _tmpi containing
the input of the system command. It *both* appends _tmpi as an extra argument
to the system command line *and* adds an input redirection "< _tmpi". (It
also uses and output redirection "> _tmpo" to captures the output of the
command.)

With this patch, the _tmpi argument is no longer appended to the command line.
This allows system_pipe to work with pure filters, such as the "tr" commands,
but it will no longer work with commands that require an input file name.
(It is possible to use write_file instead...)

TODO: it would also be fairly easy to eliminate the creation of the _tmpi and
_tmpo files altogether.
2013-11-12 18:07:38 +00:00
kr.angelov
0090b85002 document the four new language features in the reference manual 2013-11-12 16:05:02 +00:00
hallgren
709b2bb067 Fix Issue 68: Cannot use an overloaded operator in table defined using square brackets
Add proper type checking of course-of-values tables:

 + Make sure that all subterms have the same type.
 + Resolve overloaded operators.

Note though that the GF book states in C.4.12 that the "course-of-values
table [...] format is not recommended for GF source code, since the
ordering of parameter values is not specified and therefore a
compiler-internal decision."
2013-11-12 13:55:38 +00:00
hallgren
31d7a9f73c GF.System.Chatch: remove redundant #include 2013-11-12 13:51:11 +00:00
kr.angelov
0095119ec0 added Predef.SOFT_BIND. This special token allows zero or more spaces between ordinary tokens. It is also used in the English RGL to attach the commas to the previous word. 2013-11-12 09:54:57 +00:00
hallgren
b111b476a7 Fix Issue 41: "," in context-free rules causes parsing failure
The CF parser in GF.Grammar.CF assigns function names to the rules, but they
are not always unique, causing rules to be dropped in the follwing CF->GF
conversion. So a pass has been added before the CF->GF conversion, to make
sure that function names are unique.

A comment says "rules have an amazingly easy parser", but the parser looks
like quick hack. It is very sloppy and silently ignores many errors, e.g.
- Explicitly given function names should end with '.', but if the do not, the
  last character in the function name is silently dropped.
- Everything following a ';' is silently dropped.
2013-11-11 16:50:43 +00:00
hallgren
47e04656fb Fix issue 61: GF shell cannot parse a system command ending with a space
Trailing spaces caused the command line parse to be ambiguous, and
ambiguous parses were rejected by function readCommandLine, causing
the cryptic error message "command not parsed".
2013-11-11 15:13:24 +00:00
kr.angelov
af4a1f628d factor of 3 speedup for the translation without slowing down the grammar loading. The parser still seems to be 8 times slower than before I introduced the BIND. At least the Android UI now feels a lot more comfortable 2013-11-07 11:14:32 +00:00
kr.angelov
3f5ae22a0c bugfix in the binary search implementation in libgu 2013-11-07 11:13:47 +00:00
kr.angelov
7160a06a30 remove redundant type signature in gu/seq.h 2013-11-07 09:47:07 +00:00
kr.angelov
71744f7642 fix for the memory allocation in the jitter which should work for Windows. 2013-11-07 08:47:35 +00:00
kr.angelov
89ff9a0db4 the 'Release' configuration in Eclipse is renamed to 'Release (posix)'. In addition now there is 'Release (mingw)' for Windows. 2013-11-07 08:36:17 +00:00
kr.angelov
62dee6c805 added #ifdef to detect MinGW in the Java binding and to import the right header for alloca 2013-11-07 08:08:41 +00:00
kr.angelov
e79f39b774 more compact inflection tables for Swedish 2013-11-06 20:24:36 +00:00
aarne
fe4242275a changed startcat in Translate to get robustness; typo in DictEngSwe 2013-11-06 17:25:39 +00:00
aarne
a927944c80 added robustness flags to Translate; added or fixed a number of words in DictEngSwe detected in PhD regulations 2013-11-06 16:26:58 +00:00
hallgren
667a1c0ef0 minibar: fix a mistake the previous bracket fix 2013-11-06 16:54:21 +00:00
hallgren
72a58a8114 minibar: adapt to changed bracket structure in linearization output 2013-11-06 16:45:24 +00:00
kr.angelov
f9d044d294 fix in the parsing with pre 2013-11-06 16:25:25 +00:00
kr.angelov
2aea7ae3d5 added inflection_sv.xml 2013-11-06 14:46:57 +00:00
kr.angelov
7caf89b382 bugfix in the Java binding 2013-11-06 14:41:42 +00:00
hallgren
48660c219a Make PGF.Tree internal
The only use of PGF.Tree outside the PGF library was in GF.Command.Commands,
and it was eliminated by using PGF.Expr directly instead.
PGF.Paraphrase still uses PGF.Tree.
2013-11-06 14:29:17 +00:00
hallgren
7a41b45f13 Remove PGF.Signature
This module should not be part of the public PGF library API, and it was only
used in GF.CompileToAPI, so the code was moved there. The module defined
constFuncs and syntaxFuncs, but only syntaxFuncs was used.
2013-11-06 13:27:29 +00:00
kr.angelov
a710e90c0b fix the deserialization of flags from the GFO files 2013-11-06 13:05:51 +00:00
kr.angelov
b8fd12e5e4 use the inflection_cmn.xml in the Android translator 2013-11-06 11:00:39 +00:00
kr.angelov
2483dc7728 the content of ParseEngAbs3.probs is now merged with ParseEngAbs.probs. The later is now retrained. Once the grammar is compiled with the .probs file now it doesn't need anything more to do robust parsing. The robustness itself is controlled by the flags 'heuristic_search_factor', 'meta_prob' and 'meta_token_prob' in ParseEngAbs.gf 2013-11-06 10:21:46 +00:00
kr.angelov
84ef5fa5fa when printing floating literals use %lg instead of %lf for better output 2013-11-06 09:46:29 +00:00
aarne
e4c6ca41a7 added a -treebank option to the lc command 2013-11-05 20:42:22 +00:00
aarne
027ea81552 restored old language codes in android/.../Translator.java (committed by accident in previous patch) 2013-11-05 17:36:21 +00:00
aarne
aba666c5bc linearization by chunks in the GF shell: a new command 'lc' needed because 'l' requires type checking and trees with metavariable function heads don't type check. This will hopefully be a temporary command. 2013-11-05 17:28:47 +00:00
hallgren
3814841d7d Eliminate mutual dependencies between the GF compiler and the PGF library
+ References to modules under src/compiler have been eliminated from the PGF
  library (under src/runtime/haskell). Only two functions had to be moved (from
  GF.Data.Utilities to PGF.Utilities) to make this possible, other apparent
  dependencies turned out to be vacuous.

+ In gf.cabal, the GF executable no longer directly depends on the PGF library
  source directory, but only on the exposed library modules. This means that
  there is less duplication in gf.cabal and that the 30 modules in the
  PGF library will no longer be compiled twice while building GF.

  To make this possible, additional PGF library modules have been exposed, even
  though they should probably be considered for internal use only. They could
  be collected in a PGF.Internal module, or marked as "unstable", to make
  this explicit.

+ Also, by using the -fwarn-unused-imports flag, ~220 redundant imports were
  found and removed, reducing the total number of imports by ~15%.
2013-11-05 13:11:10 +00:00
kr.angelov
74357cdedf fix in gf.cabal. Data.Binary.IEEE754 needs to be in the other-modules list for the PGF library since otherwise building GF applications will fail 2013-11-05 09:42:22 +00:00
kr.angelov
6e1451e142 fix the debug mode of the JIT compiler after the refactoring in libgu 2013-11-04 19:33:29 +00:00
kr.angelov
546c7ac859 A simple type checker in the C runtime. Dependent types are not supported yet but HOAS is implemented. The API is accessible from Python as well 2013-11-04 17:10:46 +00:00
kr.angelov
585a192d0b bug fix in the linearizer 2013-11-04 12:40:53 +00:00
kr.angelov
a7d245fb25 linearization for HOAS trees. It should word but we need a type checker in order to test it properly 2013-11-02 12:34:00 +00:00
kr.angelov
4e7781b606 remove the include of lexer.h from pgf-parse 2013-11-02 11:28:55 +00:00
kr.angelov
523259b06d fix the parseval metric after the redesign in the C runtime 2013-11-01 17:36:22 +00:00
kr.angelov
fda1416c4d bugfix in the linearizer 2013-11-01 17:26:35 +00:00
kr.angelov
8073f9abf5 make gu_exn_is_raised non inlined. this is useful to make it callable from Haskell 2013-11-01 16:38:16 +00:00
aarne
d454165f24 left AR's translation project names in android/.../Translator.java as comments instead of leaving the changes uncommitted 2013-11-01 13:46:51 +00:00
kr.angelov
981a728d13 fix the robust parser for unknown tokens 2013-11-01 13:05:17 +00:00
kr.angelov
ad7d18a448 bugfix in linearizer.c 2013-11-01 11:02:12 +00:00
kr.angelov
a0505da063 remove the include to mman.h in jit.c since it doesn't seem to be used 2013-11-01 07:46:24 +00:00
kr.angelov
e1710542b4 add the forgoten close_arrow.png 2013-10-31 19:04:53 +00:00
kr.angelov
8325802c22 trim the input string in the conversation view for better lexical matching 2013-10-31 18:04:02 +00:00
kr.angelov
594c71f35d make the input mode in the Android translator persistent 2013-10-31 17:34:01 +00:00
hallgren
83a10ce25a Add a cabal flag to use the standard binary package
The standard binary package has improved efficiency and error handling [1], so
in the long run we should consider switching to it. At the moment, using it is
possible but not recommended, since it results in incomatible PGF files.

The modified modules from the binary package have been moved from
src/runtime/haskell to src/binary.

[1] http://lennartkolmodin.blogspot.se/2013/03/binary-07.html
2013-10-31 15:43:12 +00:00
kr.angelov
a7a1563b79 update the TAG for the MainActivity 2013-10-31 14:18:39 +00:00
kr.angelov
80143459c6 store the source and target languages for the Android UI in a preference file 2013-10-31 14:16:37 +00:00