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)
commit8ade567440672f7f333581fe14015e579313fe81
tree72bf44f778a05a5f998f8619c31d883ddf8ba0aa
parent5e1cf70b5dd98215cd06d33910242e965d7515db
In ansi_c:
* 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