In ansi_c:
authorNick Downing <nick@ndcode.org>
Sun, 3 Dec 2023 16:09:26 +0000 (03:09 +1100)
committerNick Downing <nick@ndcode.org>
Sun, 3 Dec 2023 16:09:26 +0000 (03:09 +1100)
* Add /nbench containing source for the nbench benchmark from http://www.math.utah.edu/~mayer/linux/nbench-byte-2.2.3.tar.gz preprocessed with musl-gcc from https://musl.libc.org/releases/musl-1.2.4.tar.gz, make the analysis cope with all constructs in this code except for some very tiny workarounds labeled /* Nick */
* Make DeclaratorIdentifier store the identifier text directly in the same way as ExpressionIdentifier does, make specifier list processing slightly more strict
* Refactor parsing of function definitions so that the function is added to the scope as soon as we see the definition, hence can call itself without a prototype
* Add the lex_yy.mask_typedefs flag so that typedef processing can be masked for the identifier following a "struct", "union", "enum", "." or "->" keyword, fix a bug where the scope_(struct|union|enum)_tag was not declared and saved in XML
* Upgrade lexical analyzer to implement the C90 rules explicitly and to add markup to the individual parts of constants, strings etc, add number handling facilities so that we can store the type and (if constant) the value on an expression

In pilex:
* Make some notes in /ndcode/pilex/nfa.py after reverse-engineering the algorithm

ansi_c
pilex

diff --git a/ansi_c b/ansi_c
index 9d7a38d..0b6abdd 160000 (submodule)
--- a/ansi_c
+++ b/ansi_c
@@ -1 +1 @@
-Subproject commit 9d7a38dfc23b9128e2333622a101c59de9a6bf05
+Subproject commit 0b6abdd8a3d8e1316beafde49beb97054f037feb
diff --git a/pilex b/pilex
index 5374c41..1393021 160000 (submodule)
--- a/pilex
+++ b/pilex
@@ -1 +1 @@
-Subproject commit 5374c4167b55447ea43fc5b308d99cbe12d2db02
+Subproject commit 13930211ccfdab1feda159a939cb8e27b8c1854c