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)
commit5e1cf70b5dd98215cd06d33910242e965d7515db
tree0ce2393f213e9ed6e3aa27b9c06aa5a87f8a5b77
parent6f0974d127a3b42aad864e1878d84a6d068b9d96
In ansi_c:
* 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