[antlr-interest] visual basic 6 grammar
Anakreon
anakreonmejdi at yahoo.gr
Wed Apr 28 06:55:42 PDT 2004
ronald.petty at milliman.com wrote:
>
> Anakreon (or anyone else),
> Good Morning,
> I was wondering could you explain in the Visual Basic Script grammar
> what the constructs of the form
>
> <lexer_init>
> <lexer_typedot>
> <lexer_lasttoken>
> ..
>
> are for?
>
> I don't see them defined in the grammar or in the documentation of antlr
> (that I can find).
>
> Thanks
> Ron
>
>
I use annotation tool which separates the grammar definition from actions code.
The idea is simple. Place <some_name> in the grammar where action code would be
and in an other file write: @some_name : {/*action code*/}.
The tool will insert the action code where <some_name> exists and generate a new
grammar file with actions included.
That file processed by antlr.
The annotation tool can be found at antlr.org.
I send you a sample build file for ant, and the VbConstants class which I
omitted sending last time.
Anakreon.
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/antlr-interest/
<*> To unsubscribe from this group, send an email to:
antlr-interest-unsubscribe at yahoogroups.com
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: build.xml
Type: text/xml
Size: 6982 bytes
Desc: not available
Url : http://www.antlr.org/pipermail/antlr-interest/attachments/20040428/7e8b8870/build.xml
-------------- next part --------------
/*
This file is part of Aspa.
Aspa is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
Aspa is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Aspa; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
package gr.omadak.leviathan.asp;
import java.util.Map;
import java.util.TreeMap;
public final class VbsConstants {
public static Map KEYWORDS;
static {
KEYWORDS = new TreeMap();
//----- ENTER KEYWORDS -----//
KEYWORDS.put("AND", new Integer(VbsTokenTypes.AND));
KEYWORDS.put("CALL", new Integer(VbsTokenTypes.CALL));
KEYWORDS.put("CASE", new Integer(VbsTokenTypes.CASE));
KEYWORDS.put("CONST", new Integer(VbsTokenTypes.CONST));
KEYWORDS.put("CLASS", new Integer(VbsTokenTypes.CLASS));
KEYWORDS.put("DIM", new Integer(VbsTokenTypes.DIM));
KEYWORDS.put("DO", new Integer(VbsTokenTypes.DO));
KEYWORDS.put("EACH", new Integer(VbsTokenTypes.EACH));
KEYWORDS.put("ELSE", new Integer(VbsTokenTypes.ELSE));
KEYWORDS.put("ELSEIF", new Integer(VbsTokenTypes.ELSEIF));
KEYWORDS.put("EMPTY", new Integer(VbsTokenTypes.EMPTY));
KEYWORDS.put("END", new Integer(VbsTokenTypes.END));
KEYWORDS.put("EQV", new Integer(VbsTokenTypes.EQV));
KEYWORDS.put("ERASE", new Integer(VbsTokenTypes.ERASE));
KEYWORDS.put("ERROR", new Integer(VbsTokenTypes.ERROR));
KEYWORDS.put("EXIT", new Integer(VbsTokenTypes.EXIT));
KEYWORDS.put("EXPLICIT", new Integer(VbsTokenTypes.EXPLICIT));
KEYWORDS.put("FALSE", new Integer(VbsTokenTypes.FALSE));
KEYWORDS.put("FOR", new Integer(VbsTokenTypes.FOR));
KEYWORDS.put("FUNCTION", new Integer(VbsTokenTypes.FUNCTION));
KEYWORDS.put("IF", new Integer(VbsTokenTypes.IF));
KEYWORDS.put("IS", new Integer(VbsTokenTypes.IS));
KEYWORDS.put("IMP", new Integer(VbsTokenTypes.IMP));
KEYWORDS.put("IN", new Integer(VbsTokenTypes.IN));
KEYWORDS.put("LOOP", new Integer(VbsTokenTypes.LOOP));
KEYWORDS.put("MOD", new Integer(VbsTokenTypes.MOD));
KEYWORDS.put("NEXT", new Integer(VbsTokenTypes.NEXT));
KEYWORDS.put("NEW", new Integer(VbsTokenTypes.NEW));
KEYWORDS.put("NOT", new Integer(VbsTokenTypes.NOT));
KEYWORDS.put("NOTHING", new Integer(VbsTokenTypes.NOTHING));
KEYWORDS.put("NULL", new Integer(VbsTokenTypes.NULL));
KEYWORDS.put("ON", new Integer(VbsTokenTypes.ON));
KEYWORDS.put("OPTION", new Integer(VbsTokenTypes.OPTION));
KEYWORDS.put("OR", new Integer(VbsTokenTypes.OR));
KEYWORDS.put("REDIM", new Integer(VbsTokenTypes.REDIM));
KEYWORDS.put("REM", new Integer(VbsTokenTypes.REM));
KEYWORDS.put("RESUME", new Integer(VbsTokenTypes.RESUME));
KEYWORDS.put("SELECT", new Integer(VbsTokenTypes.SELECT));
KEYWORDS.put("SET", new Integer(VbsTokenTypes.SET));
KEYWORDS.put("STEP", new Integer(VbsTokenTypes.STEP));
KEYWORDS.put("SUB", new Integer(VbsTokenTypes.SUB));
KEYWORDS.put("THEN", new Integer(VbsTokenTypes.THEN));
KEYWORDS.put("TO", new Integer(VbsTokenTypes.TO));
KEYWORDS.put("TRUE", new Integer(VbsTokenTypes.TRUE));
KEYWORDS.put("WEND", new Integer(VbsTokenTypes.WEND));
KEYWORDS.put("WHILE", new Integer(VbsTokenTypes.WHILE));
KEYWORDS.put("WITH", new Integer(VbsTokenTypes.WITH));
KEYWORDS.put("XOR", new Integer(VbsTokenTypes.XOR));
KEYWORDS.put("UNTIL", new Integer(VbsTokenTypes.UNTIL));
KEYWORDS.put("PUBLIC", new Integer(VbsTokenTypes.PUBLIC));
KEYWORDS.put("PRIVATE", new Integer(VbsTokenTypes.PRIVATE));
KEYWORDS.put("DEFAULT", new Integer(VbsTokenTypes.DEFAULT));
KEYWORDS.put("PROPERTY", new Integer(VbsTokenTypes.PROPERTY));
KEYWORDS.put("GET", new Integer(VbsTokenTypes.GET));
KEYWORDS.put("LET", new Integer(VbsTokenTypes.LET));
KEYWORDS.put("BYREF", new Integer(VbsTokenTypes.BYREF));
KEYWORDS.put("BYVAL", new Integer(VbsTokenTypes.BYVAL));
KEYWORDS.put("RANDOMIZE", new Integer(VbsTokenTypes.RANDOMIZE));
//----- FINISHED KEYWORDS -----//
}
private VbsConstants() {}
}
More information about the antlr-interest
mailing list