Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.compilers > #1118
| From | Hans-Peter Diettrich <DrDiettrich1@aol.com> |
|---|---|
| Newsgroups | comp.compilers |
| Subject | Re: Best tools for writing an assembler? |
| Date | 2014-02-25 04:09 +0100 |
| Organization | Compilers Central |
| Message-ID | <14-02-039@comp.compilers> (permalink) |
| References | <14-02-018@comp.compilers> <14-02-021@comp.compilers> <14-02-023@comp.compilers> <14-02-030@comp.compilers> <14-02-031@comp.compilers> |
Sibastien Fricker schrieb: >> I think that by hand-writing your own scanner and parser, you'll get >> to know your assembly syntax better. And unless you have something >> really strange, simple recursive descent will work fine for the >> parser. >> > > Sorry, but even if Flex/Bison are difficult to setup, writing a parser > by hand is not a good way to work. > Tools like Flex/Bison give several advantages that you cannot cover by > writing a parser by hand: [...] With an LL grammar it's not a big problem to write a recursive-descent parser by hand. LL grammars also can be written in EBNF, which typically results in both shorter and better readable/writeable grammars (and parsers?). Also the (grammars for) recursive descent parsers are easier to debug than table-driven parsers. This IMO makes it safe enough to write LL parsers by hand. Grammar checks then are performed by the compiler (for missing productions) and linker (for unreachable productions). > In other words, saying that writing parser by hand is better is the same > as saying "why using object oriented programming? I can do the same in C > with struct!" Yes, but the result is less readable, the compiler does > does less verifications. Which verifications do you have in mind? A compiler cannot check the validity of an table driven lexer or parser, it only can find syntactical errors in the generated code. Such errors either result from a buggy generator, in which case you had to fix the generator yourself or wait for bug fixes by its maintainer. Or they result from syntax errors in the semantic code of the grammar, which have to be fixed anyhow. > [Yacc or bison provides the pleasant assurance that the langauge your > program parses is exactly the one in the grammar, and not some > superset due to missing error checks. -John] Grammars often (typically?) are supersets of a language, with semantic checks added manually to the parser code. Using an parser generator does not assure anything about sub-/supersets, then. This also makes it very hard to switch the implementation language for such a grammar, because the generated lexer and semantic code is encoded in a specific language. I'm still waiting for an parser generator creating code for a different or multiple implementation languages, from the same grammar. That's not a big problem with languages *not* intended for the generation of executable code (file format parsers...), but when you ever want to develop an compiler *in* your new language, you have to translate the entire parser generator and the grammar into that language as well. I've used (and sometimes modified) several parser generators myself, and found only one goodie with them: an (interactive) grammar debugger like in MetaS or TextTransformer. Such extensions IMO contribute much more to the development of an language-conforming grammar than the use of an mere lexer/parser code generator. DoDi
Back to comp.compilers | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Best tools for writing an assembler? tpphysik@gmail.com - 2014-02-18 16:04 -0800
Re: Best tools for writing an assembler? "C. Bergström" <cbergstrom@pathscale.com> - 2014-02-19 11:14 +0700
Re: Best tools for writing an assembler? glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2014-02-19 04:25 +0000
Re: Best tools for writing an assembler? Ivan Godard <ivan@ootbcomp.com> - 2014-02-18 23:23 -0800
Re: Best tools for writing an assembler? Robert A Duff <bobduff@TheWorld.com> - 2014-02-19 18:20 -0500
Re: Best tools for writing an assembler? Sébastien Fricker <sebastien.fricker@gmail.com> - 2014-02-21 12:00 +0100
Re: Best tools for writing an assembler? "BartC" <bc@freeuk.com> - 2014-02-22 00:28 +0000
Re: Best tools for writing an assembler? noitalmost <noitalmost@cox.net> - 2014-02-23 11:22 -0500
Re: Best tools for writing an assembler? Sébastien Fricker <sebastien.fricker@gmail.com> - 2014-02-24 07:32 +0100
Re: Best tools for writing an assembler? Louis Krupp <lkrupp@pssw.com> - 2014-02-24 15:39 -0700
Re: Best tools for writing an assembler? Ivan Godard <ivan@ootbcomp.com> - 2014-02-24 15:04 -0800
Re: Best tools for writing an assembler? rpw3@rpw3.org (Rob Warnock) - 2014-02-25 13:00 +0000
Re: Best tools for writing an assembler? Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2014-02-25 04:09 +0100
Re: Best tools for writing an assembler? "James Harris" <james.harris.1@gmail.com> - 2014-02-24 23:18 +0000
Re: Best tools for writing an assembler? noitalmost <noitalmost@cox.net> - 2014-02-27 18:11 -0500
Re: Best tools for writing an assembler? George Neuner <gneuner2@comcast.net> - 2014-03-01 13:09 -0500
Re: Best tools for writing an assembler? federation2005@netzero.com - 2014-03-26 17:57 -0700
Re: Best tools for writing an assembler? federation2005@netzero.com - 2014-04-13 12:24 -0700
Re: Best tools for writing an assembler? Sébastien Fricker <sebastien.fricker@gmail.com> - 2014-02-19 09:59 +0100
Re: Best tools for writing an assembler? Robert A Duff <bobduff@shell01.TheWorld.com> - 2014-02-19 18:27 -0500
Re: Best tools for writing an assembler? Patrik Túri <tpphysik@gmail.com> - 2014-02-20 17:15 -0800
Re: Best tools for writing an assembler? Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2014-02-21 12:09 +0100
Re: Best tools for writing an assembler? glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2014-02-24 20:42 +0000
Re: Best tools for writing an assembler? Ivan Godard <ivan@ootbcomp.com> - 2014-02-24 15:13 -0800
Re: Best tools for writing an assembler? hu47121@usenet.kitty.sub.org (Hannah) - 2014-02-25 00:43 +0000
Re: Best tools for writing an assembler? Walter Banks <walter@bytecraft.com> - 2014-02-27 14:14 -0500
Re: Best tools for writing an assembler? Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2014-02-25 04:23 +0100
Re: Best tools for writing an assembler? glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2014-02-24 20:35 +0000
csiph-web