Related articles |
---|
flex/yacc--many multiple parsers in same program cowden@leitess.com (1996-05-13) |
Re: flex/yacc--many multiple parsers in same program gclind01@starbase.spd.louisville.edu (1996-05-14) |
Re: flex/yacc--many multiple parsers in same program qjackson@mail.direct.ca (1996-05-19) |
Re: flex/yacc--many multiple parsers in same program zucco@world.std.com (1996-05-19) |
Re: flex/yacc--many multiple parsers in same program vadim@mercury.co.il (1996-05-19) |
Re: flex/yacc--many multiple parsers in same program pardo@cs.washington.edu (1996-05-19) |
Re: flex/yacc--many multiple parsers in same program jlilley@ix.netcom.com (1996-05-19) |
From: | jlilley@ix.netcom.com (John Lilley) |
Newsgroups: | comp.unix.programmer,comp.compilers |
Date: | 19 May 1996 18:33:27 -0400 |
Organization: | Netcom |
References: | 96-05-089 |
Keywords: | lex, yacc, parallel |
cowden@leitess.com says...
>I'm looking to write a single interpreter that can simultaneously
>parse up to 96 separate programs. Due to other restraints in the
>program I cannot fork a process to handle each parser. What are my
>options using lex and yacc? It seems like a real hack to get either
>of them to handle more than one program.
PCCTS, which includes ANTLR (parser) and DLG(lexer), generates C++ classes.
You can instantiate as many as you like, assuming you haven't coded any
static variables in the actions used to process productions. PCCTS is LL(k)
with predicates, arbitrary lookahead, and backtracking. PCCTS is free, with
source code, and runs almost anywhere that has a real address space.
There is also a product called Visual Parse++, from SandStone Technology,
that generates C++ classes for LALR(k) grammars. It runs under
Windows3.1/95/NT (maybe others), but supposedly generates parser code that
can be compiled everywhere, if you buy the source to the run-time support
from Sandstone.
john lilley
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.