Assembler using Lex/Yacc



Hi there,

I was working on an assembler for X64 architecture. I was wondering
what are the tradeoffs in designing an assembler using lex or re2c and
yacc? Why is that handwritten assemblers are more popular than those
developed using lex/yacc? Developing a grammar is the toughest part,
but once you have a grammar ready, I think the rest of the routines are

pretty strightforward? Is it that code generated by Lex/Yacc is not as
efficient?
YASM does get close, but again it resorts to hand written code at some
places.

Is it that Lex/Yacc is an overkill or is that Lex/Yacc are not the
right tools? I'm new to compiler and assembler design, and would be
helpful if anyone can guide.

Thanks!
[Lex and yacc only automate the front end of a compiler, not the code generator.
The main reasons I've seen that people don't use them is that they're overkill
for the very simple syntax of most assemblers, or that the assembler syntax is
an ancient hack that can't be changed for compatibility reasons and isn't
amenable to what lex and yacc do. I've written assemblers with lex and yacc,
works fine so long as you can define the syntax so that it's not too context
dependent. -John]
.



Relevant Pages

  • Re: Assembler in Lex/Yacc
    ... >I was working on an assembler for X64 architecture. ... Is it that code generated by Lex/Yacc is not as ... lex and yacc were designed to solve a different class of ...
    (comp.lang.asm.x86)
  • Re: Assembler using Lex/Yacc
    ... The only overhead I'd imagine is the learning curve. ... Getting yacc and lex to do same ... record-oriented processing is required for your assembler -- usually ...
    (comp.compilers)
  • Re: assembler in lex and yacc
    ... ankur chauhan wrote: ... My professor has given a project in which i have to make an assembler ... using lex and yacc. ...
    (comp.lang.misc)
  • Re: assembler in lex and yacc
    ... My professor has given a project in which i have to make an assembler ... using lex and yacc. ... Have you considered asking your professor? ...
    (comp.lang.misc)
  • assembler in lex and yacc
    ... My professor has given a project in which i have to make an assembler ... using lex and yacc. ... Can anyone help me out in this regard as to what exactly i have to ...
    (comp.lang.misc)