Related articles |
---|
Tcl/Tk grammar for lex/yacc/bison ? gerwalin@aixd1.rhrk.uni-kl.de (Elmar Gerwalin) (1999-08-24) |
Re: Tcl/Tk grammar for lex/yacc/bison ? tgl@netcom.com (Tom Lane) (1999-08-27) |
Re: Tcl/Tk grammar for lex/yacc/bison ? paule@martex.gen.oh.us (Paul Evans) (1999-09-05) |
From: | Tom Lane <tgl@netcom.com> |
Newsgroups: | comp.compilers |
Date: | 27 Aug 1999 01:50:13 -0400 |
Organization: | Netcom Online Communications Services |
References: | 99-08-096 |
Keywords: | parse, analysis |
Elmar Gerwalin <gerwalin@aixd1.rhrk.uni-kl.de> writes:
> I'm looking for the Tcl/Tk grammar to use it with lex/yacc/ bison.
Our esteemed moderator responds:
> [TCL is so simple that it seems like overkill to parse with yacc. -John]
More to the point, Tcl has no grammar, by definition. What it's got
is some simple lexical rules for identifying words and grouping words
into commands, plus lexical rules for substituting variable values and
command results into words of commands. Everything beyond that is a
matter of how a particular command execution routine chooses to
interpret its argument words. (Tcl 8 bastardizes this simple design
in the name of speed, a choice I think Ousterhout will eventually
regret if he doesn't already...)
The Tcl lexical rules are probably too complicated for lex, since the
fact that command substitutions can be nested means a finite- state
automaton can't do the job. But yacc/bison don't seem like
appropriate tools either. I'd suggest borrowing the lexing code that
already exists in the Tcl distribution ;-)
regards, tom lane
Return to the
comp.compilers page.
Search the
comp.compilers archives again.