On 2/11/21 1:50 PM, Alessandro Di Federico via wrote: > From: Alessandro Di Federico <a...@rev.ng> > > This patchset introduces the idef-parser for target/hexagon. > It is based on "[PATCH v8 00/35] Hexagon patch series". > > `idef-parser` is a build-time tool built using flex and bison. Its aim > is to generate a large part of the tiny code generator frontend for > Hexagon. The prototype of idef-parser has been presented at KVM Forum > 2019 ("QEMU-Hexagon: Automatic Translation of the ISA Manual Pseudcode > to Tiny Code Instructions"): > > https://www.youtube.com/watch?v=3EpnTYBOXCI > > `target/hexagon/idef-parser/README.rst` provides an overview of the > parser and its inner working. > > Please consider this an RFC, this is our first large patchset. Feedback > is more than welcome.
Well, first off, this fails to build with our gitlab CI. There are several problems, apart from the new bison parse.error option previously reported: (1) bison and flex not added to dockerfiles, so the packages are not available to CI. (2) idef-parser program not marked with "native: true", so we get an early meson error about that. (3) flex = generator() does not specify both output files, so the proper dependency on idef-parser.yy.h is not present. (4) idef-parser.yy.h is placed in the wrong directory, because you used '%option header-file="xyz"' instead of the command-line '--headerfile=@OUTPUT1@'. This results in an immediate compilation failure, because the file isn't found. (5) There's an odd mismatch in file naming, in which you have idef-lexer.lex.yy.c but idef-parser.yy.h. Not a bug, really, but it looks odd when fixing 3 & 4. I can provide a patch for these if you like, but they're fairly obvious when you try it. r~