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

Reply via email to