In ansi_c:
authorNick Downing <nick@ndcode.org>
Wed, 6 Dec 2023 11:51:26 +0000 (22:51 +1100)
committerNick Downing <nick@ndcode.org>
Wed, 6 Dec 2023 21:03:26 +0000 (08:03 +1100)
* Update ansi_c.t for latest pitree, it has default value bug fixed and adds MPFR
* Implement the value field for character constants and string literals
* Add an extra pass for type analysis and constant folding, doesn't support all operators and has just enough implementation to compile the example test.i file
* Implement build() in ansi_c.[ly] to make type analysis and constant folding occur during parsing instead, requires new skeleton code from latest pilex, pitree
* Implement (un)signed_int_value() and float_value() for constructing Value objects directly with a specified precision, instead of cumbersome Value.cast() idea
* Implement mostly complete type analysis and constant folding, compiles nbench

In pilex:
* Make the yy_group_element() routine in the skeleton for pilex --element --groups --python not construct the element until after the text and children are known

In pitree:
* Fix a bug which meant the user had to explictly specify the default value (rather than relying on the built-in null value of each type) if the type was mutable
* Add MPFR type, including default value and serialization/deserialization
* Make the concatenate() routine in the element.py installed by pitree --install-element not construct the element until after the text and children are known

ansi_c
pilex
pitree

diff --git a/ansi_c b/ansi_c
index 0b6abdd..4b0acdd 160000 (submodule)
--- a/ansi_c
+++ b/ansi_c
@@ -1 +1 @@
-Subproject commit 0b6abdd8a3d8e1316beafde49beb97054f037feb
+Subproject commit 4b0acdd8cfd4783354ed36a408fd8251b0a5601a
diff --git a/pilex b/pilex
index 1393021..d770ec4 160000 (submodule)
--- a/pilex
+++ b/pilex
@@ -1 +1 @@
-Subproject commit 13930211ccfdab1feda159a939cb8e27b8c1854c
+Subproject commit d770ec46e9e4d24230a26396b8ed8d8ae1070b24
diff --git a/pitree b/pitree
index e1a8ef4..8b06583 160000 (submodule)
--- a/pitree
+++ b/pitree
@@ -1 +1 @@
-Subproject commit e1a8ef41725ac657afe15c3d46a5d842e7fd46ed
+Subproject commit 8b0658375b7ff477857dd2ff17a586e03cca2cbe