Hi all, I have reverse-engineered a jamexp.y from urjtag/src/stapl/jamexp.c. The following patch series will provide this file and the unit tests I wrote to verify the grammar in the file.
Patch 1 instruments the existing jamexp.c to report shift/reduce actions. Patch 2 adds files to allow writing unit tests with C TAP Harness [1]. Patch 3 adds a unit test program to exercise all productions in the grammar encoded in the tables of the current jamexp.c. Patch 4 provides the reverse-engineered jamexp.y and another test program to verify the grammar in jamexp.y with the test vectors introduced in patch 3. In jamexp.y I added an Altera copyright header, because the Lexer- and calculator code is theirs (the headers are reuse [2] compliant). Unfortunately, I have zero experience with Automake, so the integration in the build system is missing. Hopefully somebody from the list will be able to achieve that. Integration hints are in the commit messages of patches 3 and 4. Notes: * jamexp.y currently uses GNU extensions of the YACC syntax, thus requires bison. The reason was to keep the differences between the old jamexp.c and the new jamexp.y as small as possible. * The ordering of the productions in the grammar is suboptimal (the grammar would be much clearer if the productions were ordered differently). The reason is to replicate the production order of the old jamexp.c grammar. * For integration I propose to keep the old jamexp.c and jamytab.h by moving them to tests/stapl/nongen/. This would allow to run the test with both the old and new parser. Can anybody tell me * which packets to install and * how to call ./configure to generate 32-bit executables on an amd64 Debian Linux system (bookworm/testing)? This is my first foray into the multiarch/multilib area. I developed the tests with a home-grown build system and managed to create 32- bit binaries by linking with files from libc6-dev-i386-x32-cross and lib32gcc-11-dev. After './configure --host x86_64-linux-gnux32 --enable-stapl', however, a make does not produce the desired 32-bit binaries. Best Regards, Peter Pöschl [1] https://www.eyrie.org/~eagle/software/c-tap-harness [2] https://reuse.software/tutorial _______________________________________________ UrJTAG-development mailing list UrJTAG-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/urjtag-development