Subject:
|
Re: OO programing in RCX
|
Newsgroups:
|
lugnet.robotics.rcx
|
Date:
|
Thu, 13 Jan 2000 02:34:11 GMT
|
Viewed:
|
1850 times
|
| |
| |
In article <387C8058.AF9FC49A@noga.de>, "Markus L. Noga" <markus@noga.de> wrote:
> Dave Baum schrieb:
>
> > Also the preprocessor needed its own parser (for #if) which is fairly
> > simple recursive descent parser built by hand. Expressions (for #if
> > directives) are parsed using a hand built operator precedence parser.
> > Neithr of these tasks were complicated enough to warrant creating another
> > bison generated LALR parser.
>
> Prof. Goos rather convincingly advocates generation as the do-all and
> cure-all here in Karlsruhe. Great maintainability, a supportive formal
> framework and less code to write - and less code means less errors.
If I were writing NQC from scratch, I'd agree. However, several years ago
I was writing a preprocessor and bison wasn't available to me, so I
hand-coded the parser. When NQC was started, I just reused about 90% of
this parser. Of coruse, along the way I had also put in the effort to
port Bison (and Flex) to CodeWarrior, so at this point using bison is more
practical.
> > Code generation is completely custom. Optimization is done in the same <snip>
>
> I thought so, from the way NQC evolved. It was a one-pass compiler
> initially, wasn't it? Did you already chose an intermediate
> representation?
Yes, one pass. Actually about 90% of the work was originally in the
preprocessor.
No, not yet. I was concentrating on getting 2.1 final, then I was going
to look pretty heavily at code genereation.
Dave
--
reply to: dbaum at enteract dot com
|
|
Message is in Reply To:
| | Re: OO programing in RCX
|
| Dave Baum schrieb: (...) Yes, definitely so. Many concepts in parser generators are actually OO (bison result types, for example), but they aren't implemented that way. (...) Prof. Goos rather convincingly advocates generation as the do-all and (...) (25 years ago, 12-Jan-00, to lugnet.robotics.rcx)
|
14 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|