Commit Graph

3262 Commits

Author SHA1 Message Date
kr.angelov
be8bf64eb2 added assertion in the JIT compiler which checks that we are not going outside of the compilation window 2013-09-25 07:53:10 +00:00
kr.angelov
b2b5bda43d fix a typo in src/runtime/javascript/translator.html 2013-09-25 07:13:50 +00:00
kr.angelov
a1a4f7a1c1 a small fix in the python binding after the refactoring in the C runtime 2013-09-24 09:14:43 +00:00
kr.angelov
62d5dfb71b GrammarToPGF now looks only at the top modules for the PGF flags 2013-09-23 09:30:45 +00:00
kr.angelov
ae79e7c386 fix a warning in the compiler 2013-09-23 09:20:55 +00:00
kr.angelov
e6dbd74dc9 GF.Grammar.Grammar.allExtends now returns a list of source modules instead of just the module names. This saves extra lookups later 2013-09-23 09:18:27 +00:00
hallgren
a7469a694b Comment out identifier refreshing code only used by the removed refresh pass 2013-09-20 16:36:24 +00:00
hallgren
fd430a40fe Introduce type RawIdent; only 9 imports of Data.ByteString.Char8 remain
The fact that identifiers are represented as ByteStrings is now an internal
implentation detail in module GF.Infra.Ident. Conversion between ByteString
and identifiers is only needed in the lexer and the Binary instances.
2013-09-19 20:48:10 +00:00
hallgren
38fe30c610 Make Ident abstract; imports of Data.ByteString.Char8 down from 29 to 16 modules
Most of the explicit uses of ByteStrings were eliminated by using identS,

	identS = identC . BS.pack 

which was found in GF.Grammar.CF and moved to GF.Infra.Ident. The function

	prefixIdent :: String -> Ident -> Ident

allowed one additional import of ByteString to be eliminated. The functions

	isArgIdent :: Ident -> Bool
	getArgIndex :: Ident -> Maybe Int

were needed to eliminate explicit pattern matching on Ident from two modules.
2013-09-19 18:23:47 +00:00
kr.angelov
aea67b8109 the PGF reader now releases strings that are not used after the loading 2013-09-18 08:26:11 +00:00
kr.angelov
2b14fd2aae add type signature for gu_string_length in the headers of libgu 2013-09-18 08:03:37 +00:00
kr.angelov
016721d676 bugfix in the ordering of strings in libgu 2013-09-17 19:05:54 +00:00
kr.angelov
b6ba5e7493 gu_buf_binsearch -> gu_seq_binsearch. Improved API 2013-09-17 19:04:46 +00:00
kr.angelov
62019f0881 added order and equality for strings in libgu 2013-09-17 13:45:37 +00:00
kr.angelov
f984bfeb24 a major refactoring in the C runtime. GuList is now removed and replaced with GuSeq. The GuSeq/GuBuf API is simplified 2013-09-17 12:45:00 +00:00
kr.angelov
5f0b5ecf35 added BSD licenses to the Java binding and the android UI 2013-09-16 06:54:55 +00:00
kr.angelov
d5438439dc remove leftcorner_cat_idx which is now redundant 2013-09-13 13:49:17 +00:00
kr.angelov
605772fda1 minor optimization/refactoring in the grammar reader 2013-09-13 11:02:17 +00:00
kr.angelov
239eb22df5 the leftcorner indexing is now completely removed since it slowed down the loading without speeding up parsing a lot 2013-09-13 10:26:33 +00:00
kr.angelov
40baee9068 fix the debug mode of the parser after the changes in the libgu API 2013-09-13 09:58:20 +00:00
kr.angelov
540de9c2d0 tiny optimization in pgf/reader 2013-09-13 09:50:44 +00:00
kr.angelov
d39003f872 bugfix in utf8.c 2013-09-13 09:50:04 +00:00
kr.angelov
d6323291cd fix a warning in utf8.c 2013-09-13 08:30:57 +00:00
kr.angelov
fc038c5240 optimize the reading of strings in the grammar loader. 2013-09-13 08:28:20 +00:00
kr.angelov
1e17f768fc more UTF8 cleanup 2013-09-13 08:12:19 +00:00
kr.angelov
30f37feb57 clean up the UTF8 API in libgu 2013-09-13 07:44:45 +00:00
kr.angelov
6080a625f7 fix in Android.mk to make sure that the Android build will always see the ARM headers of GNU lightning 2013-09-12 12:55:55 +00:00
kr.angelov
d51b976d29 remove the logging from libgu 2013-09-12 09:30:02 +00:00
kr.angelov
d88084a2d5 enable the PGF JIT compiler for Android 2013-09-12 09:05:43 +00:00
kr.angelov
b3a644300c rewrite the ARM port of GNU lightning to a form compatible with the versions for the other CPUs 2013-09-11 20:17:50 +00:00
hallgren
9db040e0da Some code verbosity reduction 2013-09-10 14:19:11 +00:00
hallgren
51574b96ea Workaround for a problem with lock fields
This problem showed up after delaing eta expansion until just before partial
evaluation
2013-09-10 13:43:59 +00:00
hallgren
72fd7e821f new-comp: delay eta expansion until just before partial evaluation
This seems to work for the most part, but a problem showed up in WordsCat.gf in
the phrasebook.
2013-05-30 16:01:12 +00:00
hallgren
1846e6bf65 Nonlinear patterns in concrete syntax are now detected and reported as errors
Before, they were silently converted to linear patterns.
Nonlinear patterns in MorphoCat.gf, ParadigmsGre.gf and ParadigmsFin.gf have
been make linear by renaming pattern variables.
2013-09-09 19:52:08 +00:00
hallgren
f1386b3400 partial evaluator: prettier complaint about nonlinears patterns 2013-09-09 16:23:01 +00:00
hallgren
8479d06f4b partial evaluator: complain about nonlinear patterns 2013-09-09 15:53:14 +00:00
hallgren
7afdc2e139 Fix an old name shadowing bug in concrete syntax by removing the refresh pass
The refresh pass does not correctly keep track of the scope of local variables
and can convert things like \x->(\x->x) x into \x1->(\x2->x2) x2. Fortunately,
it appears that the refresh pass is not needed anymore, so it has been removed.
2013-09-09 14:29:57 +00:00
kr.angelov
4e328d1f33 added exhaustive generation in the Java binding 2013-09-06 07:21:38 +00:00
kr.angelov
fec8720f31 remove the string internalization since it slows down grammar loading with little benefit 2013-09-05 13:34:49 +00:00
kr.angelov
8e2de541b6 move src/runtime/android to src/ui/android/jni 2013-09-05 12:19:59 +00:00
hallgren
6d0c8eaa34 Fix an old bug that prevented pattern matching agains values containg tables
The function GF.Grammar.PatternMatch.isInConstantForm returned False for all
tables, causing matchPattern to fail, claiming that "variables occur in" the
term if it contains tables.

This problem is several years old, confirmed present in GF 3.2.10 (Oct 2010).
2013-09-05 15:20:41 +00:00
kr.angelov
993522eb5a added version readPGF in Java which takes as argument InputStream. This makes it easier to load grammars from the assets folder in Android 2013-09-05 12:12:01 +00:00
kr.angelov
f8c8194303 fix gu_in_bytes_ to use buffering 2013-09-05 12:10:55 +00:00
kr.angelov
83ca6c4f9f remove the read and write modules from libgu. this simplifies the i/o layer 2013-09-05 11:20:39 +00:00
kr.angelov
d0f527d0dd remove dump and yaml from libgu 2013-09-05 10:01:47 +00:00
kr.angelov
bb36597050 bugfix for gu_buffered_in 2013-09-05 09:50:57 +00:00
kr.angelov
cbc2ac1326 add gu and pgf in the library path for building the Java binding 2013-09-04 20:30:43 +00:00
kr.angelov
6e60e12aee added description file for building jpgf.jar 2013-09-04 18:48:51 +00:00
kr.angelov
4b9ae55925 fix the warnings from the Java binding 2013-09-04 18:23:49 +00:00
kr.angelov
76d1db7dc5 now it is possible to compile the C code for the Java binding from Eclipse. The old and broken Makefile is now removed 2013-09-04 18:09:06 +00:00