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~

Reply via email to