|flex/yacc--many multiple parsers in same program email@example.com (1996-05-13)|
|Re: flex/yacc--many multiple parsers in same program firstname.lastname@example.org (1996-05-14)|
|Re: flex/yacc--many multiple parsers in same program email@example.com (1996-05-19)|
|Re: flex/yacc--many multiple parsers in same program firstname.lastname@example.org (1996-05-19)|
|Re: flex/yacc--many multiple parsers in same program email@example.com (1996-05-19)|
|Re: flex/yacc--many multiple parsers in same program firstname.lastname@example.org (1996-05-19)|
|Re: flex/yacc--many multiple parsers in same program email@example.com (1996-05-19)|
|From:||firstname.lastname@example.org (John Lilley)|
|Date:||19 May 1996 18:33:27 -0400|
|Keywords:||lex, yacc, parallel|
>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
Return to the
Search the comp.compilers archives again.