Commit Graph

6567 Commits

Author SHA1 Message Date
aarne 27a3f8584b fixes in PhrasebookChi 2014-11-07 14:29:03 +00:00
hallgren ad36dbc0ed gf.cabal: when compiling with ghc>=7.8 require cgi>=3001.2.2.0 2014-11-05 15:38:10 +00:00
kr.angelov 70c70fa791 a skeletal module for higher-order pattern unification in the C runtime 2014-10-31 19:57:56 +00:00
kr.angelov b1e6a21c56 now (+) in the abstract syntax works, i.e. it knows how to deal with partial sums 2014-10-31 14:16:11 +00:00
kr.angelov 9b0f354c7c a more efficient tail call by using the new TUCK instruction 2014-10-30 13:09:50 +00:00
hallgren 0519493ca9 Use terminfo to highlight warnings and errors in blue and red
This replaces the hardwired ANSI escape codes that were accidentally included
in a previous patch.

This adds a dependency on terminfo, but this should be unproblematic, since
haskeline already depends on the same underlying C library.

The color highlighting is omitted on Windows.
2014-10-28 19:04:48 +00:00
hallgren e41d9e34bb Show paths relative to the current directory in progress reports
It is much nicer to see something like

- compiling FoodsSwe.gf...   write file FoodsSwe.gfo
- compiling FoodsTha.gf...   write file FoodsTha.gfo
- compiling FoodsTsn.gf...   write file FoodsTsn.gfo
- compiling FoodsTur.gf...   write file FoodsTur.gfo
- compiling FoodsUrd.gf...   write file FoodsUrd.gfo
linking ... OK
Writing Foods.pgf...

instead of

- compiling /Users/hallgren/src/GF/gf/examples/foods/FoodsSwe.gf...   write file /Users/hallgren/src/GF/gf/examples/foods/FoodsSwe.gfo
- compiling /Users/hallgren/src/GF/gf/examples/foods/FoodsTha.gf...   write file /Users/hallgren/src/GF/gf/examples/foods/FoodsTha.gfo
- compiling /Users/hallgren/src/GF/gf/examples/foods/FoodsTsn.gf...   write file /Users/hallgren/src/GF/gf/examples/foods/FoodsTsn.gfo
- compiling /Users/hallgren/src/GF/gf/examples/foods/FoodsTur.gf...   write file /Users/hallgren/src/GF/gf/examples/foods/FoodsTur.gfo
- compiling /Users/hallgren/src/GF/gf/examples/foods/FoodsUrd.gf...   write file /Users/hallgren/src/GF/gf/examples/foods/FoodsUrd.gfo
linking ... OK
Writing Foods.pgf...
2014-10-28 15:02:29 +00:00
hallgren f085b807eb A couple of haddock documentation improvements 2014-10-28 14:58:43 +00:00
kr.angelov efedec187c an explicit SAVE instruction 2014-10-26 11:40:12 +00:00
kr.angelov 6986f1acd7 comment out a few assertions in bits.h. this code is run too often to have explicit assertions 2014-10-24 11:15:40 +00:00
kr.angelov 8abbd2f67e make it possible to specify the initial size of a map in libgu 2014-10-24 09:17:22 +00:00
kr.angelov dc62e52636 simplify gu/map 2014-10-24 08:56:39 +00:00
kr.angelov 550c747941 fix memory leak in the pgf-parse tool 2014-10-24 08:42:32 +00:00
kr.angelov 5cae930723 add extern declarations for all inline functions in seq.h. this ensures that everything works even when the compiler's optimizations are off 2014-10-24 08:26:58 +00:00
kr.angelov e169f225cf a simple optimization in cmp_item_prob with great effect on the parser's speed 2014-10-23 21:22:22 +00:00
kr.angelov 18f8f2e4f4 remove some deadcode in gu/seq.h 2014-10-23 21:21:21 +00:00
kr.angelov aff68e7422 inline a number of functions in gu/seq.c. this has a noticeable effect on the parser's speed 2014-10-23 21:19:29 +00:00
kr.angelov 3aaeb7a156 a cosmetic optimization in mem.c 2014-10-23 15:45:14 +00:00
kr.angelov fc6658c2e7 fix the debug mode in the reasoner 2014-10-23 08:15:12 +00:00
kr.angelov 578df576ef fix warning in ucs.c 2014-10-23 07:44:41 +00:00
hallgren 6ee67cd04f Various small changes for improved documentation 2014-10-22 15:45:52 +00:00
kr.angelov 00922153aa CAPIT is now naturally supported in the C runtime 2014-10-22 15:05:55 +00:00
kr.angelov df113f9cc4 add Unicode classification routines to libgu. ported from the base package in Haskell. 2014-10-22 14:36:58 +00:00
kr.angelov c8b3865338 an explicit PUSH_FRAME instruction 2014-10-22 14:11:41 +00:00
kr.angelov 71d5cae4e3 make the fields of BracketedString in the Python binding read/write 2014-10-22 12:18:07 +00:00
hallgren 391b301881 ModuleName and Ident are now distinct types
This makes the documentation clearer, and can potentially catch more
programming mistakes.
2014-10-21 19:20:31 +00:00
hallgren 3bfcfa157d Renaming SourceGrammar to Grammar and similarly for some related types
Included renamings:

	SourceGrammar -> Grammar
	SourceModule -> Module
	SourceModInfo -> ModuleInfo
	emptySourceGrammar -> emptyGrammar

Also introduces a type synonym (which might be good to turn into a newtype):

	type ModuleName = Ident

The reason is to make types like the following more self documenting:

	type Module = (ModuleName,ModuleInfo)
	type QIdent = (ModuleName,Ident)
2014-10-21 14:42:31 +00:00
aarne f6441b2292 use of 'head' in TypeCheck/RConcrete created an uncomprehensible error message. Now checking for the emptiness of the list concerned, so that the error can be found. 2014-10-20 20:06:46 +00:00
hallgren a9bc116052 Some small documentation improvements 2014-10-20 19:45:43 +00:00
hallgren 8337a19b40 type IOE a = IO a
IOE used to be a monad with extra error handling built on top of the IO monad,
But the IO monad already supports error handling, so this construction was a
superfluous.

The new 'instance ErrorMonad IOE' is defined to preserve the previous error
handling behaviour, i.e. the function 'handle' only catches errors thrown with
'raise' (or 'fail') and not other errors in the IO monad.
2014-10-20 19:32:46 +00:00
hallgren 55aebadd5a Remove some dead code
* The following modules are no longer used and have been removed completely:

	GF.Compile.Compute.ConcreteLazy
	GF.Compile.Compute.ConcreteStrict
	GF.Compile.Refresh

* The STM monad has been commented out. It was only used in
  GF.Compile.SubExpOpt, where could be replaced with a plain State monad,
  since no error handling was needed. One of the functions was hardwired to
  the Err monad, but did in fact not use error handling, so it was turned
  into a pure function.

* The function errVal has been renamed to fromErr (since it is analogous to
  fromMaybe).

* Replaced 'fail' with 'raise' and 'return ()' with 'done' in a few places.

* Some additional old code that was already commented out has been removed.
2014-10-20 15:05:43 +00:00
kr.angelov bb1f0f3368 get rid of gu/str.(c|h) 2014-10-20 07:50:42 +00:00
aarne 84bce336fd (un)lexmixed: added the other math environments than $ used in latex 2014-10-19 17:43:39 +00:00
aarne 6c2e0d5ce2 ps -lines preserves line-by-line structure when preprocessing files for parsing line by line 2014-10-17 15:50:03 +00:00
aarne 5c862a3c7b one general case in dealing with backslash in latex lexing is enough 2014-10-17 15:49:23 +00:00
kr.angelov 3f11f3d602 the C runtime now supports reading and writing expressions with indexed meta variables. The type checker generates fresh indices 2014-10-17 09:27:37 +00:00
hallgren 955c4b6a23 Use http instead of https in the links to the build job in jenkins
The ci.zjyto.net web site uses an SSL certificate that is not recognized by
mainstream browsers (e.g. Firefox, Safari and the Android web browser).
2014-10-17 08:26:09 +00:00
aarne 2caf6fa125 unlexing latex code: no space between closing $ and punctuation 2014-10-17 07:04:50 +00:00
aarne 42cfacbf86 lexer for latex code: don't separate backslash from the macro name that it marks 2014-10-17 06:40:06 +00:00
hallgren 6375bacc73 Some work on the haddock documentation 2014-10-16 16:28:54 +00:00
gregoire.detrez 070057e695 Change the path to the build job in jenkins 2014-10-16 15:51:08 +00:00
hallgren 5a641ebe73 Rename src/programs/gf.hs to gf-main.hs to avoid confusing GHC
It appears that GHC can't keep GF.hs and gf.hs apart on systems with case
insensitive file names.
2014-10-16 15:21:00 +00:00
hallgren 2e2e7acf12 Turn the GF compiler into a library. Main program is now in src/programs/gf.hs
The module src/compiler/GF.hs now serves as a prelimiary compiler API. It just
exports a selection of functions and types from the compiler.

Haddock documentation can be generated with

	cabal haddock --hyperlink-source

Also bumbed the version number to 3.6.10.
2014-10-16 15:00:49 +00:00
hallgren c924491289 More haddock documentation improvements 2014-10-16 14:03:57 +00:00
kr.angelov c0ebbc4edf bugfix in the parser for abstract expressions in the C runtime 2014-10-16 11:40:47 +00:00
kr.angelov 26ad164cec finally proper stack unwind in the evaluator 2014-10-16 10:00:32 +00:00
hallgren b70dba87ba Rename modules GFI, GFC & GFServer...
... to GF.Interactive, GF.Compiler & GF.Server, respectively.
2014-10-15 21:04:29 +00:00
hallgren 393dde2eb9 Fixes for the haddock documentation 2014-10-15 20:42:36 +00:00
gregoire.detrez 8381c7b0c0 Make cabal sdist fail with an informative error message` 2014-10-15 08:51:39 +00:00
gregoire.detrez 503a29e002 Add a make target to create the source distribution
`make sdist` will create a `dist/gf-<version>.tar.gz package
with the source files (using the `darcs dist` command).
2014-10-15 08:51:25 +00:00