Compiler construction in C++ and OOD

vivek@sequent.com (Vivek Buzruk)
Wed, 3 Feb 1993 00:39:37 GMT

          From comp.compilers

Related articles
Compiler construction in C++ and OOD vivek@sequent.com (1993-02-03)
Re: Compiler construction in C++ and OOD cliffc@rice.edu (1993-02-04)
Re: Compiler construction in ... and OOD kalsow@src.dec.com (1993-02-04)
Re: Compiler construction... tj00+@andrew.cmu.edu (Todd Jonker) (1993-02-05)
Re: Compiler construction in C++ and OOD vaillant@fermina.informatik.rwth-aachen.de (1993-02-08)
| List of all articles for this month |

Newsgroups: comp.compilers
From: vivek@sequent.com (Vivek Buzruk)
Summary: Is any research done on object oriented design of compiler?
Keywords: OOP, C++, question, comment
Organization: Sequent Computer Systems, Inc.
Date: Wed, 3 Feb 1993 00:39:37 GMT

Some time back I read in Software Practice and Experience an article on
compiler construction using O-O methodology (I don't remember the name, it
must be within the last year). The article was not that complete, and
concentrated only on the front end. Obviously one can not go away from
traditional phase structured design to define the functionality of a
compiler.


But the same article gave me some thoughts about considering object
oriented design of a compiler. Does anyone know about research done on
this topic? OR any practical compilers using this methodology, and how
they do it? Till now I thought a compiler is not a good application for
O-O design. If the parser and lexer are hand written, one can consider
them state machine. But what happens if you use LEX and YACC?


I will be happy if any one tells whether any complete compiler is written
in C++ either. Also in what way C++ is used, only as a better C or flavor
of OOD.


    -- Vivek -> vivek@gateway.sequent.com
[There have been C++ derivatives of yacc, some just fixing the syntax a
little, others making parsing classes. Flex produces legal C++ code but
doesn't do anything OOPish. -John]
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.