Commit Graph

46 Commits

Author SHA1 Message Date
Krasimir Angelov
1c04fa4897 the parser for abstract expressions in the C runtime now supports partial parses 2017-09-28 13:57:13 +02:00
Krasimir Angelov
30b7ba04c7 added exprFunctions in the Haskell binding 2017-09-05 10:07:43 +02:00
Krasimir Angelov
85cf2d9f5a added exprSize in the Haskell binding 2017-09-05 09:50:29 +02:00
Krasimir Angelov
71c4b4a246 instance Eq Expr in the Haskell binding 2017-09-04 14:49:44 +02:00
Krasimir Angelov
d5a7945ba0 complete details for the "ai" command in the C shell 2017-09-01 09:57:00 +02:00
Krasimir Angelov
5a37660811 added function treeProbability in the Haskell binding 2017-09-01 08:46:52 +02:00
krasimir
7d72d99c2f explicitly classify all functions in libpgf as either internal or API functions 2017-04-19 09:34:23 +00:00
krasimir
2588a6f016 gu_string_buf -> gu_new_string_buf in libgu 2017-04-13 13:43:48 +00:00
krasimir
9aeb45e1cc full support for Latin1 GF identifiers in the C runtime 2017-04-13 12:57:11 +00:00
krasimir
6af632dd18 added mkMeta and unMeta in the Haskell binding 2017-01-26 10:17:02 +00:00
krasimir
41a3054e9b when expressions with Float literals are printed, we should use the same format that is used by the linearizer 2016-05-25 09:34:40 +00:00
krasimir
e8e52de6b9 locale independent printing for doubles when they are part of an abstract expression 2016-04-13 14:30:40 +00:00
krasimir
c0344e936a fix for reading PgfExpr with a double literal 2016-04-13 14:08: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
79ea4af960 added readTriple in libsg and its Haskell binding 2015-11-25 10:37:13 +00:00
krasimir
9f9b23d0dd added mkInt and mkFloat in the Haskell binding to make it easy to create literal expressions 2015-11-19 13:18:19 +00:00
krasimir
d83316d7c6 add readTriple in the Haskell binding 2015-09-08 13:04:31 +00:00
krasimir
da11a7127f implemented escape characters when reading/printing an abstract expression with string literals 2015-02-24 09:35:12 +00:00
kr.angelov
f44f9a1b00 added mkStr to the Haskell binding 2014-12-19 08:58:02 +00:00
kr.angelov
bb1c1dd27c added mkApp to the Haskell binding 2014-12-19 08:47:00 +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
kr.angelov
c0ebbc4edf bugfix in the parser for abstract expressions in the C runtime 2014-10-16 11:40:47 +00:00
kr.angelov
86e9acc7a7 throw away the long obsolete runtime type information in the C runtime 2014-10-09 13:44:26 +00:00
kr.angelov
6be25aa872 fix in pgf_print_expr for lambda abstractions with more than one argument 2014-09-30 09:42:18 +00:00
kr.angelov
8bcc70eac8 the GF syntax for identifiers is exteded with quoted forms, i.e. you could write for instance 'ab.c' and then everything between the quites is identifier. This includes Unicode characters and non-ASCII symbols. This is useful for automatically generated GF grammars. 2013-11-22 13:30:18 +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
kr.angelov
e8335806af GuString is now an ordinary C string - it makes live easier. In addition PgfSymbolKS, PgfExprFun and PgfLiteralStr now keep their strings as embedded flexible arrays. The latest change gives us the same compactness as the old representation but it is a lot easier to use. 2013-10-04 12:04:39 +00:00
kr.angelov
2a49e4e1d6 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
14f8b96b56 remove the string internalization since it slows down grammar loading with little benefit 2013-09-05 13:34:49 +00:00
kr.angelov
7c0bad5092 remove the read and write modules from libgu. this simplifies the i/o layer 2013-09-05 11:20:39 +00:00
kr.angelov
f0c703d42f complete pgf_expr_eq in the C runtime 2013-07-02 20:12:57 +00:00
kr.angelov
2948231e0f hash function for abstract syntax trees 2013-07-02 19:12:53 +00:00
kr.angelov
155afdf9b7 a complete Python API for reading, printing and manipulation of abstract trees and types. This includes dependent types, high-order abstract syntax and implicit arguments 2013-06-27 09:39:15 +00:00
kr.angelov
b7cbee7940 fix the encoding problem with unicode literals in the Python binding 2013-05-21 10:53:20 +00:00
kr.angelov
542dcaa0ec the C runtime and the Python binding now have an API for parser evaluation. The API computes PARSEVAL and Exact Match for a given tree. As a side effect the abstract trees in Python are now compared for equality by value and not by reference 2013-04-19 10:57:46 +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
kr.angelov
403420be2b the C runtime now can read abstract expressions with literals and meta variables 2012-12-18 12:29:30 +00:00
kr.angelov
14e721dda9 a top-level API for parsing in the C runtime 2012-12-13 14:44:33 +00:00
kr.angelov
2dc8236170 bugfix: pgf_read_expr no longer requires a semicolon at the end of an abstract expression 2012-12-13 11:09:26 +00:00
kr.angelov
ed5de8335b libpgf: implementation for built in literal categories 2012-03-07 16:39:29 +00:00
kr.angelov
686fcca9a4 libpgf: pretty printing for expressions with metavaraibles 2012-02-27 13:50:35 +00:00
kr.angelov
4f8ad8c23f libpgf: added printer.c 2012-02-17 14:11:29 +00:00
kr.angelov
58de345f99 libpgf: few fixes to make the loading of grammars with def rules possible 2012-01-24 14:47:11 +00:00
kr.angelov
4e4881dba5 libpgf: printing of literals and flags 2012-01-23 10:17:20 +00:00
kr.angelov
28bce1cdc0 added an API for printing the PGF to human readable format 2012-01-21 10:27:55 +00:00
kr.angelov
2eee382a62 initial import of the C runtime 2012-01-20 13:41:10 +00:00