Commit Graph

122 Commits

Author SHA1 Message Date
Krasimir Angelov
8926a4f4c2 alloca.h -> malloc.h 2023-01-26 08:35:11 +01:00
Krasimir Angelov
b138d0c89b use alloca for compatibility with MSVC 2023-01-26 08:31:44 +01:00
Krasimir Angelov
8f7e4c084c an API to create unique function names 2022-12-05 08:11:43 +01:00
Krasimir Angelov
e2a7974853 partial support for epsilon rules 2022-10-04 11:44:22 +02:00
Krasimir Angelov
cd280272f3 bottom up prediction and maximal chunks 2022-09-23 11:33:16 +02:00
Krasimir Angelov
3e0cc91a02 first rudimentary version of a parser 2022-09-16 12:34:46 +02:00
Krasimir Angelov
96304a52d1 added checks to control compilation with emscripten 2022-07-04 14:26:04 +02:00
Krasimir Angelov
5594679a83 first draft of the new allocator with transactions support 2022-05-20 13:55:45 +02:00
Krasimir Angelov
4d240f7260 working fullFormLexicon. Slows down loading and compilation 2022-02-08 16:38:30 +01:00
Krasimir Angelov
c36d804c11 an attempt to fix the compilation on Mac 2022-01-11 14:57:41 +01:00
Krasimir Angelov
d87b3ce166 get rid of the destructive updates for seq_ids 2022-01-10 10:27:09 +01:00
Krasimir Angelov
00f857559d restore the sharing of sequences. Shrinks the grammar by ~45% 2022-01-08 19:49:42 +01:00
krangelov
d274f4856e compile lindef & linref rules 2021-12-06 15:47:57 +01:00
krangelov
4a68ea93b3 generate and store the ranges for all linearization rules 2021-11-26 14:05:03 +01:00
krangelov
857e85c8a1 implement pre {..} 2021-11-25 19:04:35 +01:00
krangelov
1107b245da remove obsolete code 2021-11-19 09:38:04 +01:00
krangelov
06980404a9 correctly distinguish between fun and data judgements 2021-11-18 13:50:09 +01:00
krangelov
c806ce2d26 minimal changes to make the runtime compilable on Windows 2021-11-10 15:52:02 +01:00
krangelov
9eb88f9281 a number of new API functions for the concrete syntax. 2021-11-09 09:16:20 +01:00
krangelov
a4ad17a478 pgf_create_lin now has access to the abstract function 2021-11-09 08:50:54 +01:00
krangelov
2bed0b708c PgfVector -> Vector 2021-11-09 02:10:17 +01:00
krangelov
6552bcf909 Unify the data model between the C runtime and the Haskell binding 2021-11-09 02:04:36 +01:00
krangelov
b3ef14c39b another fix for MacOS 2021-11-08 10:41:09 +01:00
krangelov
02b9915d11 attempt to fix compilation on Mac 2021-11-07 20:22:41 +01:00
krangelov
06b59b1f10 fix 2021-11-07 19:48:35 +01:00
krangelov
3f261c2854 first draft of the data model for the concrete syntax 2021-11-07 19:45:11 +01:00
krangelov
309a16d471 reference counting for concrete syntaxes 2021-11-03 10:48:20 +01:00
krangelov
1413c273cc API for adding concrete syntaxes. Garbage collection to be fixed! 2021-10-21 19:18:14 +02:00
John J. Camilleri
3bdfe1a336 Minor cleanup 2021-10-12 23:27:49 +02:00
John J. Camilleri
ead1160a75 More changes to compile on macOS (incomplete) 2021-10-12 15:29:29 +02:00
krangelov
c6d6914688 switch to using FILE * in the reader 2021-09-15 08:06:18 +02:00
krangelov
ae0a6aa6b6 clean up everything after revision is not needed anymore. 2021-09-11 16:33:22 +02:00
krangelov
bcc33af36b added support for branches and explicit transaction commit 2021-09-08 14:09:23 +02:00
krangelov
2e846cdf59 added safeguard to ensure that PgfRevision is an actual object 2021-09-08 09:17:12 +02:00
krangelov
a843ddba55 better error handling which always reports the right file name 2021-09-07 15:54:27 +02:00
krangelov
9cea2cc70e change the API to allow different grammar revisions 2021-09-06 15:49:39 +02:00
krangelov
b28e891a6b a type annotated version of marshaller/unmarshaller 2021-08-26 17:27:34 +02:00
krangelov
69f74944e2 The unmarshaller is no longer stored in the PGF object but is passed explicitly to each function that needs it. 2021-08-26 16:14:56 +02:00
krangelov
221f0b7853 PgfUnmarshaller now mimics a C++ class. Allows for keeping state 2021-08-13 18:14:56 +02:00
krangelov
2c1700776e implemented readExpr & readType 2021-08-11 22:07:01 +02:00
krangelov
a5008c2fe1 implemented functionType and marshalling for types and expressions 2021-08-10 15:07:41 +02:00
krangelov
91f183ca6a move the C sources to the subfolder pgf again for backwards compatibility 2021-08-08 18:29:16 +02:00
krangelov
8f0a1b8fee started a new database-backed runtime from scratch 2021-07-30 12:08:28 +02:00
krangelov
26361b3692 fix the parsing for literals after the latest changes in the parser 2019-10-09 14:18:05 +02:00
krangelov
e2ddea6c7d first version of a parser which returns chunks in case of failure 2019-08-30 13:31:57 +02:00
Krasimir Angelov
d103fe6755 make pgf_production_is_lexical public since it will be needed in the Haskell binding 2017-09-25 12:20:48 +02:00
Krasimir Angelov
bcb97a336e make the API for indexing in the parser and the linearizer public since it will be needed in the Haskell binding 2017-09-14 18:11:24 +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
a8eaa2f2e5 a patch from Bjørnar Luteberget for compatibility with MSVC 2017-04-12 10:24:56 +00:00
krasimir
192b1cc018 the reasoner's states are now closures just like the code for the def rules. This means more compact JIT compiled code and uniformity with the code for def rules 2015-07-04 15:06:34 +00:00