hallgren
8200145513
Fix a bug that could cause "Prelude.head: empty list"
...
In Data.Operations, the function topoTest2 assumed too much about the form of
the input, compared to the older function topoTest.
2013-02-28 17:46:13 +00:00
hallgren
95d77e3c37
pattern match length estimation code simplication
2013-02-28 15:13:20 +00:00
hallgren
0feb386691
Faster regular expression pattern matching in the grammar compiler.
...
The sequence operator (x+y) was implemented by splitting the string to be
matched at all positions and trying to match the parts against the two
subpatterns. To reduce the number of splits, we now estimate the minimum and
maximum length of the string that the subpatterns could match. For common
cases, where one of the subpatterns is a string of known length, like
in (x+"y") or (x + ("a"|"o"|"u"|"e")+"y"), only one split will be tried.
2013-02-27 20:59:43 +00:00
hallgren
95c4cbb8f5
GF grammar pretty printer improvements
...
Allow line breaks in more places to make large terms more readable.
2013-02-27 14:22:47 +00:00
kr.angelov
026c198974
added gu_buf_flush in seq.c which removes all elements from a buffer
2013-02-26 09:48:09 +00:00
kr.angelov
9cb0b580d3
the parser in the C runtime should not crash if the start category is not defined
2013-02-19 12:08:48 +00:00
kr.angelov
13de2fafb4
bugfix in the grammar reader in the C runtime
2013-02-19 12:04:10 +00:00
kr.angelov
9940fe392e
bugfix in the linearizer for the C runtime
2013-02-13 15:39:01 +00:00
hallgren
4f243fbf12
Fix for a PGF portability problem
...
GF produced slightly different PGF files on 64-bit systems and 32-bit systems.
This could cause problems when a PGF was produced on a 32-bit system and used
on a 64-bit system.
To fix this, the GF compiler and the Haskell PGF run-time library now reads
and writes PGF files like the 32-bit version even when compiled on a 64-bit
system.
Note: the Haskell type Int is still used internally in GF, which could be
32 bits or 64 bits...
2013-02-13 14:28:06 +00:00
kr.angelov
4922ab6cc4
now the beam size for the statistical parser can be configured by using the flag beam_size in the top-level concrete module
2013-02-12 10:53:13 +00:00
kr.angelov
a4c9d20fc3
the statistical parser now uses a baseline lexical estimation of the beam size
2013-02-12 09:41:32 +00:00
hallgren
e5231eebbd
translator: add some menu padding for touch devices
2013-02-11 16:46:43 +00:00
hallgren
ae16e48d0d
translator: small style change
2013-02-11 16:33:48 +00:00
hallgren
4ee6a83369
translator: remove debug code
2013-02-11 16:13:39 +00:00
hallgren
0a8ccfe912
translator: "Open..." doesn't discard the current document anymore
...
It shows available documents and a Cancel button on top of the current
document.
2013-02-11 16:03:17 +00:00
kr.angelov
6a36ce77ff
the class PgfConcr from the Python binding now has a property name which returns the name of the concrete syntax
2013-02-11 15:51:26 +00:00
kr.angelov
d124fa9a12
refactoring: now all named objects in the C runtime have an explicit name field
2013-02-11 14:10:54 +00:00
kr.angelov
90c3304147
remove the pgf2yaml tool which was both broken and redundant. The declarations for generic programming from data.c are removed as well
2013-02-11 13:51:12 +00:00
kr.angelov
10ef298fa0
the grammar reader in the C runtime is completely rewritten and it doesn't use the generic programming API
2013-02-11 10:16:58 +00:00
aarne
f9a32dca3b
pg -lexc now writes a list of multichar symbols and a title ("Root") for the lexicon, as required by Xerox lexc
2013-02-03 10:03:15 +00:00
kr.angelov
5e2474e346
This patch removes Gregoire's parse_tokens function in the python binding and adds another implementation which builds on the existing API for lexers in the C runtime. Now it is possible to write incremental Lexers in Python
2013-02-01 09:29:43 +00:00
kr.angelov
c99ab058ea
implement gu_exn_caught in gu/exn.c. It was missing
2013-02-01 09:26:30 +00:00
hallgren
d4b6d1b6fe
Better error message for unsupported token gluing
...
Instead of "Internal error in ...", you now get a proper error message with
a source location and a function name.
2013-01-29 16:25:03 +00:00
hallgren
14c8da214c
Fix a bug with record extension
...
Add a conversion rule for ({ l1 = e } ** x).l2 in PMCFG generation. (A rule
for the symmetric case (x ** { l1 = e }).l2 was added some time ago.)
2013-01-29 14:59:16 +00:00
hallgren
211cd9bb25
Avoid crash in random generation with probabilities
2013-01-29 13:59:20 +00:00
kr.angelov
84fa796de4
bugfix in the reference counting for Python
2013-01-29 09:41:12 +00:00
kr.angelov
05cb74d14a
the Python binding is in pure C again
2013-01-29 09:20:32 +00:00
kr.angelov
b524c5d8b5
added an API for composing and decomposing abstract trees from Python
2013-01-29 09:07:41 +00:00
kr.angelov
8846648393
fixed typos in the python binding: in a few places pgf_ExprType was used instead of pgf_ExprIterType
2013-01-29 09:06:23 +00:00
hallgren
a559e51608
Quick fix to render some parser error messages from UTF-8-encoded source files correctly.
...
The parser works on raw byte sequences read from source files. If parsing
succeeds the raw byte sequences are converted to proper Unicode characters
in a later phase. But the parser calls the function buildAnyTree, which can
fail and generate error messages containing source code fragments, which might
then containing raw byte sequences. To render these error messages correctly,
they need to be converted in accordance with the coding flag in the source
file. This is now done for UTF-8-encoded source files, but should ideally also
be done for other character encodings. (Latin-1-encoded files never suffered
from this problem, since raw bytes are proper Unicode characters in this case.)
2013-01-28 17:23:02 +00:00
hallgren
713e883ad7
Better error message for Predef.error
...
+ Instead of "Internal error in ...", you now get a proper error message with
a source location and a function name.
+ Also added some missing error value propagation in the partial evaluator.
+ Also some other minor cleanup and error handling fixes.
2013-01-28 16:12:56 +00:00
aarne
1eb45d955b
improved error message for overloading in case the given signature looks the same as one of the expected ones: it shows full records rather than just lock fields.
2013-01-28 14:00:23 +00:00
gregoire.detrez
0aae4702ed
Python binding: add a parsing function that accepts directly a list of tokens.
...
Is allows to define a tokenizer in python (or use an existing one, from nltk for instance.)
2013-01-24 13:31:34 +00:00
john.j.camilleri
3d5d424fef
Add fun/cat printnames to PGF web service
...
This is accessible vis the `browse` command, by adding the flag `printnames`
e.g.: .../Letter.pgf?command=browse&id=Recipient&format=json&printnames=1
2013-01-18 09:39:50 +00:00
hallgren
35aedadc83
gf -server: fix bug in bug fix for current directory
2013-01-13 12:36:58 +00:00
hallgren
68c04cdd63
gf -server: small logging improvements
2013-01-12 18:48:23 +00:00
hallgren
b0228af26d
gf -server: defend against problems with the current directory caused unhandled errors
2013-01-12 17:11:31 +00:00
john.j.camilleri
b8e3fe7bc0
Syntax editor: initial support for string literals
...
Also a bug fix when switching to editor, although this still messes up
when using the letters grammar.
Also updated readme with options, and some style improvements.
2013-01-11 15:33:17 +00:00
john.j.camilleri
be5a313372
Syntax editor: add tooltips to buttons
2013-01-11 12:45:24 +00:00
john.j.camilleri
b5e8d06fba
Syntax editor: remove beta label
2013-01-11 11:38:45 +00:00
hallgren
a8f281491c
partial evaluator: fix token glueing bug
...
"a"+("b"++"c") was simplified to "bb"++"c" instead of "ab"++c.
2013-01-11 15:14:42 +00:00
hallgren
f2751ff9e1
Fixes for minibar offline
...
Tested it in Firefox 18 (which has the new Ionmonkey JavaScript engine).
Still get stack overflows.
2013-01-09 16:44:18 +00:00
hallgren
1497fd863a
PGF service: new command: download
...
This makes it possible to download PGF files from servers where the PGF service
is installed.
I am also considering making commmand=download the default instead of
command=grammar.
2013-01-09 13:28:45 +00:00
kr.angelov
580e443a5e
fix warnings in pgf-parse.c
2013-01-08 12:53:49 +00:00
peter.ljunglof
f74155ef6a
PGF installation instructions for Mac OSX
2013-01-08 10:23:25 +00:00
peter.ljunglof
49022f5849
Made meta probs an optional argument instead of hard-coded in pgf-translate
2013-01-08 10:20:46 +00:00
peter.ljunglof
599b51830f
New PGF utility: pgf-parse
2013-01-08 10:19:53 +00:00
kr.angelov
9b78da5357
now the Python binding has an alternative representation for abstract trees which is composed of Python objects. The new representation is not integrated with the core runtime yet
2013-01-07 15:11:12 +00:00
kr.angelov
2c169406fc
a new reasoner in the C runtime. It supports tabling which makes it decideable for propositional logic. dependent types and high-order types are not supported yet. The generation is still in decreasing probability order
2013-01-07 12:50:32 +00:00
kr.angelov
cade578d04
bugfix in the strings library from the C runtime
2012-12-27 21:18:46 +00:00