[antlr-interest] Question on embedding other languages (grammars)
Jim Idle
jimi at temporal-wave.com
Sun Jun 24 21:00:44 PDT 2012
Look up "Island grammars" and follow the example in the downloadable
examples. That should get you going.
Jim
-----Original Message-----
From: antlr-interest-bounces at antlr.org
[mailto:antlr-interest-bounces at antlr.org] On Behalf Of Dean Sheehan
Sent: Monday, June 25, 2012 1:56 AM
To: antlr-interest at antlr.org
Subject: [antlr-interest] Question on embedding other languages (grammars)
Hi ANTLR Interest,
I was wondering how I would go about embedding one language within
another.
For example, if I have a grammar developed for language X but I want to be
able to embed segments of another language that I do not want to be parsed
or processed by ANTLR at this stage, basically just receive a string of
unprocessed text for passing off to something else to look at, how might I
go about that?
Consider the classic case of wanting to embedded some SQL in a piece of
Javav code (just an example). I have the grammar for Java and all of the
parsing and processing behind that but I also have a SQL interpreter. I
want to be able to write something like:
void foo ( ) {
int a = 5;
sql {
insert into table x ...
} sql
}
The 'sql {' and '} sql' start and end tokens would be part of the
'extended' Java grammar but the stuff between is just text that I want to
extract to pass off to a SQL interpreter.
Obviously I could do simple things like define a grammar than has 'sql {'
STRING '} sql' but that wouldn't account for the STRING having newlines,
white space etc.
Thanks for any pointers.
cheers,
- Dean
List: http://www.antlr.org/mailman/listinfo/antlr-interest
Unsubscribe:
http://www.antlr.org/mailman/options/antlr-interest/your-email-address
More information about the antlr-interest
mailing list