<html>
<head>
<style><!--
  body {background-color:#ffffff;}
  .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;}
  .pathname {font-family:monospace; float:right;}
  .fileheader {margin-bottom:.5em;}
  .diff {margin:0;}
  .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;}
  .tasklist ul {margin-top:0;margin-bottom:0;}
  tr.alt {background-color:#eeeeee}
  #added {background-color:#ddffdd;}
  #addedchars {background-color:#99ff99;font-weight:bolder;}
  tr.alt #added {background-color:#ccf7cc;}
  #removed {background-color:#ffdddd;}
  #removedchars {background-color:#ff9999;font-weight:bolder;}
  tr.alt #removed {background-color:#f7cccc;}
  #copied {background-color:#ccccff;}
  tr.alt #copied {background-color:#bbbbf7;}
  #info {color:#888888;}
  #context {background-color:#eeeeee;}
  td {padding-left:.3em;padding-right:.3em;}
  tr.head {border-bottom-width:1px;border-bottom-style:solid;}
  tr.head td {padding:0;padding-top:.2em;}
  .task {background-color:#ffff00;}
  .comment {white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;white-space:pre-wrap;word-wrap:break-word;padding:4px;border:1px dashed #000000;background-color:#ffffdd}
  .error {color:red;}
  hr {border-width:0px;height:2px;background:black;}
--></style>
</head>
<body>
<table cellspacing="0" cellpadding="0" border="0" rules="cols">
<tr class="head"><td colspan="5">Commit in <b><tt>metaas/trunk/src/main/antlr/org/asdt/core/internal/antlr</tt></b></td></tr>
<tr><td><tt><a href="#file1"><span id="removed">as3.g3</span></a></tt> </td><td></td><td></td><td align="right" id="removed">-1151</td><td nowrap="nowrap">377 removed</td></tr>
</table>
<pre class="comment">
changed case of filename to match grammar name
</pre>
<hr /><a name="file1" /><div class="file">
<span class="pathname" id="removed">metaas/trunk/src/main/antlr/org/asdt/core/internal/antlr</span><br />
<div class="fileheader" id="removed"><big><b>as3.g3</b></big> <small id="info">removed after 377</small></div>
<pre class="diff"><small id="info">--- trunk/src/main/antlr/org/asdt/core/internal/antlr/as3.g3        2007-01-31 00:20:19 UTC (rev 377)
+++ trunk/src/main/antlr/org/asdt/core/internal/antlr/as3.g3        2007-02-01 08:39:42 UTC (rev 378)
@@ -1,1151 +0,0 @@
</small></pre><pre class="diff" id="removed">-
-        
-/**********************************************************
- * ActionScript Development Tool 
- * Copyright (C) 2005 asdt.org 
- * 
- * http://www.asdt.org
- * http://sourceforge.net/projects/aseclipseplugin/
- *
- * This program 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.
- *
- * This program 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 this program; if not, write to the 
- * Free Software Foundation, Inc., 
- * 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. 
- * 
- * Created on 29 sept 2005
- * 
- **********************************************************
-
-
-**
- *        @author Martin Schnabel
- */
-grammar AS3Parser;
-
-options {
-        k = 2;
-        output=AST;
-        ASTLabelType=LinkedListTree;
-}
-
-tokens {
-        COMPILATION_UNIT;
-        TYPE_BLOCK; METHOD_DEF; VAR_DEF;
-        ANNOTATIONS; ANNOTATION; ANNOTATION_PARAMS; ANNOTATION_PARAM;
-        MODIFIERS; NAMESPACE_DEF;
-        CLASS_DEF; INTERFACE_DEF;
-        PARAMS;
-        PARAM; TYPE_SPEC;
-        BLOCK; EXPR; ELIST;
-        EXPR_STMNT;
-        ENCPS_EXPR;
-        VAR_INIT;
-        METHOD_CALL; PROPERTY_OR_IDENTIFIER; PROPERTY_ACCESS; TYPE_NAME;
-        ARRAY_ACC;
-        UNARY_PLUS; UNARY_MINUS; POST_INC; POST_DEC;
-        ARRAY_LITERAL;
-        ELEMENT; OBJECT_LITERAL;
-        OBJECT_FIELD; FUNC_DEF;
-        FOR_INIT; FOR_CONDITION; FOR_ITERATOR;
-        FOR_EACH;
-        SWITCH_STATEMENT_LIST;
-        IDENTIFIER;
-        GET; SET; IS; DYNAMIC; USE;
-        DEFAULT_XML_NAMESPACE;
-}
-
-@parser::header {
-package org.asdt.core.internal.antlr;
-
-import uk.co.badgersinfoil.metaas.impl.antlr.LinkedListTree;
-import uk.co.badgersinfoil.metaas.impl.antlr.LinkedListTreeAdaptor;
-import uk.co.badgersinfoil.metaas.impl.antlr.LinkedListToken;
-import uk.co.badgersinfoil.metaas.impl.antlr.LinkedListTokenStream;
-import uk.co.badgersinfoil.metaas.impl.antlr.LinkedListTokenSource;
-import java.io.StringReader;
-import java.io.Reader;
-import java.io.IOException;
-import uk.co.badgersinfoil.metaas.impl.parser.E4XHelper;
-import uk.co.badgersinfoil.metaas.impl.parser.RegexSimpleHelper;
-import uk.co.badgersinfoil.metaas.impl.ASTUtils;
-}
-@lexer::header {
-package org.asdt.core.internal.antlr;
-}
-
-// disable standard error handling; be strict
-@rulecatch { }
-
-@parser::members {
-
-        public static final int ALLOW_IN = 1;
-        public static final int NO_IN = 2;
-
-        protected void mismatch(IntStream input, int ttype, BitSet follow)
-                throws RecognitionException
-        {
-                throw new MismatchedTokenException(ttype, input);
-        }
-        
-        private AS3ParserLexer lexer;
-        private CharStream cs;
-
-        public void setInput(AS3ParserLexer lexer, CharStream cs) {
-                this.lexer = lexer;
-                this.cs = cs;
-        }
-
-        /**
-         * Handle 'island grammar' for embeded XML-literal elements.
-         */
-        private LinkedListTree parseXMLLiteral(LinkedListToken startMarker) throws RecognitionException {
-                return E4XHelper.parseXMLLiteral(startMarker, lexer, cs, (LinkedListTokenStream)input);
-        }
-
-        /**
-         * Handle 'island grammar' for skipping over embeded
-         * regular-expression-literal values.
-         */
-        private LinkedListTree parseRegexpLiteral(LinkedListToken startMarker) throws RecognitionException {
-                return RegexSimpleHelper.parseRegexpLiteral(startMarker, lexer, cs, (LinkedListTokenStream)input);
-        }
-}
-
-
-/**
- * this is the start rule for this parser
- */
-compilationUnit
-        :        (        as2CompilationUnit
-                |        as3CompilationUnit
-                ) -&gt; ^(COMPILATION_UNIT as2CompilationUnit? as3CompilationUnit?)
-        
-
-as2CompilationUnit
-        :        importDefinition*
-                as2Type
-        
-
-as2Type
-        :        annos=annotations! mods=modifiers!
-        (        as2ClassDefinition[$annos.tree,$mods.tree]
-        |        as2InterfaceDefinition[$annos.tree,$mods.tree]
-        )
-        
-
-as3CompilationUnit
-        :        packageDecl
-                packageBlockEntry*
-                EOF!
-        
-
-packageDecl
-        :        PACKAGE^ identifier?
-                packageBlock
-        
-
-packageBlock
-        :        LCURLY
-                packageBlockEntry*
-                RCURLY
-                -&gt; ^(BLOCK packageBlockEntry*)
-        
-
-packageBlockEntry
-        :        (        importDefinition
-                |        includeDirective
-                |        annos=annotations! mods=modifiers!
-                        (        classDefinition[$annos.tree,$mods.tree]
-                        |        interfaceDefinition[$annos.tree,$mods.tree]
-                        |        variableDefinition[$annos.tree,$mods.tree]
-                        |        methodDefinition[$annos.tree,$mods.tree]
-                        |        namespaceDefinition[$annos.tree,$mods.tree]
-                        |        useNamespaceDirective
-                        )
-                |        SEMI!
-//                |        statement
-                )
-        
-
-endOfFile
-        :        EOF!
-        
-
-importDefinition
-        :        IMPORT^ identifierStar semi
-        
-
-semi
-        :        ((SEMI)=&gt;SEMI!)?
-                
-
-classDefinition[LinkedListTree annos, LinkedListTree mods]
-        :        CLASS IDENT
-                classExtendsClause
-                implementsClause
-                typeBlock
-                -&gt; ^(CLASS_DEF {$mods} CLASS IDENT classExtendsClause implementsClause typeBlock)
-        
-
-as2ClassDefinition[LinkedListTree annos, LinkedListTree mods]
-        :        CLASS identifier
-                classExtendsClause
-                implementsClause
-                typeBlock
-                -&gt; ^(CLASS_DEF {$mods} CLASS IDENT classExtendsClause implementsClause typeBlock)
-        
-
-interfaceDefinition[LinkedListTree annos, Tree mods]
-        :        INTERFACE IDENT
-                interfaceExtendsClause
-                typeBlock
-                -&gt; ^(INTERFACE_DEF INTERFACE IDENT interfaceExtendsClause typeBlock) // TODO: mods?
-        
-
-as2InterfaceDefinition[LinkedListTree annos, Tree mods]
-        :        INTERFACE identifier
-                interfaceExtendsClause
-                typeBlock
-                -&gt; ^(INTERFACE_DEF INTERFACE IDENT interfaceExtendsClause typeBlock) // TODO: mods?
-        
-
-classExtendsClause
-        :        (EXTENDS^ identifier)?
-        
-interfaceExtendsClause
-        :        (EXTENDS^ identifier ( COMMA! identifier)*)?
-        
-implementsClause
-        :        (IMPLEMENTS^ identifier ( COMMA! identifier)*)?
-        
-typeBlock
-        :        LCURLY
-                typeBlockEntry*
-                RCURLY
-                -&gt; ^(TYPE_BLOCK typeBlockEntry*)
-        
-
-typeBlockEntry
-        :        annos=annotations! m=modifiers!
-                (        variableDefinition[$annos.tree,$m.tree]
-                |        methodDefinition[$annos.tree,$m.tree]
-                )
-        |        SEMI
-        |        importDefinition
-        |        as2IncludeDirective
-        |        includeDirective
-        
-
-
-as2IncludeDirective
-        :        INCLUDE_DIRECTIVE
-                STRING_LITERAL
-        
-
-includeDirective
-        :        'include'
-                STRING_LITERAL
-                semi
-        
-
-
-methodDefinition[LinkedListTree annos, Tree mods]
-        :        functionDecl IDENT
-                parameterDeclarationList
-                typeExpression?
-                (block)?
-                -&gt; ^(METHOD_DEF {$annos} {$mods}
-                                functionDecl IDENT
-                                parameterDeclarationList
-                                typeExpression?
-                                block?)
-        
-
-functionDecl
-        :        FUNCTION^ (role=accessorRole)?
-        
-
-accessorRole
-        :        getKeyword | setKeyword
-        
-
-getKeyword
-        :        {input.LT(1).getText().equals("get")}? i=IDENT
-                -&gt; GET[$i]
-        
-
-setKeyword
-        :        {input.LT(1).getText().equals("set")}? i=IDENT
-                -&gt; SET[$i]
-        
-
-namespaceDefinition[LinkedListTree annos, Tree mods]
-        :        namespaceKeyword IDENT
-                -&gt; ^(NAMESPACE_DEF {$annos} {$mods} namespaceKeyword IDENT)
-        
-namespaceKeyword
-        :        {input.LT(1).getText().equals("namespace")}? IDENT
-        
-
-useNamespaceDirective
-        :        useKeyword namespaceKeyword IDENT semi
-        
-
-useKeyword
-        :        {input.LT(1).getText().equals("use")}? i=IDENT
-                -&gt; USE[$i]
-        
-
-xmlKeyword
-        :        {input.LT(1).getText().equals("xml")}? IDENT
-        
-
-variableDefinition[LinkedListTree annos, Tree mods]
-        :        decl=varOrConst variableDeclarator[ALLOW_IN]
-                (COMMA variableDeclarator[ALLOW_IN])*
-                -&gt; ^(VAR_DEF {$annos} {$mods} $decl variableDeclarator+)
-        
-
-varOrConst
-        :        VAR | CONST
-        
-
-variableDeclarator[int inAllowed]
-        :        IDENT^ typeExpression? variableInitializer[inAllowed]?
-        
-declaration[int inAllowed]
-        :        varOrConst^ variableDeclarator[inAllowed]
-                (COMMA! variableDeclarator[ALLOW_IN])*
-        
-variableInitializer[int inAllowed]
-        :        ASSIGN^ assignmentExpression[inAllowed]
-                
-// A list of formal parameters
-// TODO: shouldn't the 'rest' parameter only be allowed in the last position?
-parameterDeclarationList
-        :        LPAREN
-                (        parameterDeclaration
-                        (COMMA parameterDeclaration)*
-                )?
-                RPAREN
-                -&gt; ^(PARAMS parameterDeclaration*)
-        
-
-
-parameterDeclaration
-        :        basicParameterDeclaration | parameterRestDeclaration
-        
-
-basicParameterDeclaration
-        :        CONST? IDENT typeExpression? parameterDefault?
-                -&gt; ^(PARAM CONST? IDENT typeExpression? parameterDefault?)
-        
-
-parameterDefault
-                // TODO: can we be more strict about allowed values?
-        :        ASSIGN^ assignmentExpression[ALLOW_IN]
-        
-
-parameterRestDeclaration
-        :        REST CONST? IDENT
-                -&gt; ^(PARAM REST CONST? IDENT)
-        
-block
-        :        LCURLY (statement)* RCURLY
-                -&gt; ^(BLOCK statement*)
-        
-
-condition
-        :        LPAREN! expression RPAREN!
-        
-
-statement
-        :        {input.LA(1)==LCURLY}?(block)
-        |        declarationStatement
-        |        expressionStatement
-        |        ifStatement
-        // For statement
-        |        forEachStatement
-        |        forStatement
-
-        // While statement
-        |        WHILE condition statement
-
-        // do-while statement
-        |        DO statement WHILE! condition
-        
-        // with statement
-        |        'with' condition statement
-        
-        // switch statement
-        |        switchStatement
-        
-        // get out of a loop (or switch)
-        |        breakStatement
-
-        // do next iteration of a loop
-        |        continueStatement
-
-        // Return an expression
-        |        returnStatement
-
-        // throw an exception
-        |        throwStatement
-        
-        // handle exceptions
-        |        tryStatement
-        
-        // handle 'default xml namespace = "foo"'
-        |        defaultXMLNamespaceStatement
-
-        // empty statement
-        |        SEMI!
-        
-
-declarationStatement
-        :        declaration[ALLOW_IN] semi
-        
-
-expressionStatement
-        :        expressionList[ALLOW_IN] semi
-                -&gt; ^(EXPR_STMNT expressionList)
-        
-        
-ifStatement
-        :        IF^ condition statement
-                (ELSE statement)?
-        
-
-throwStatement
-        :        'throw'^ expression semi
-        
-
-tryStatement
-        :        'try'
-                block
-                catchBlock*
-                finallyBlock?
-        
-
-catchBlock
-        :        'catch' LPAREN! IDENT typeExpression? RPAREN!
-                block
-        
-
-finallyBlock
-        :        'finally' block
-        
-
-returnStatement
-        :        'return'^ (expression)? semi
-        
-                
-continueStatement
-        :        'continue'^ semi
-        
-
-breakStatement
-        :        'break'^ semi
-        
-
-switchStatement
-        :        SWITCH^ condition
-                switchBlock
-        
-
-switchBlock
-        :        LCURLY
-                (caseStatement)*
-                (defaultStatement)?
-                RCURLY
-                -&gt; ^(BLOCK caseStatement* defaultStatement?)
-        
-
-caseStatement
-        :        CASE^ expression COLON! switchStatementList
-        
-        
-defaultStatement
-        :        DEFAULT^ COLON! switchStatementList
-        
-
-switchStatementList
-        :        statement* -&gt; ^(SWITCH_STATEMENT_LIST statement*)
-        
-
-forEachStatement
-        :        FOR EACH
-                LPAREN
-                forInClause
-                RPAREN
-                statement
-                -&gt; ^(FOR_EACH forInClause statement)
-        
-forStatement
-        :        FOR^
-                LPAREN!
-                (        ((declaration[NO_IN] | IDENT) IN)=&gt;forInClause
-                |        traditionalForClause
-                )
-                RPAREN!
-                statement                                         // statement to loop over
-        
-traditionalForClause
-        :        forInit SEMI!        // initializer
-                forCond SEMI!        // condition test
-                forIter                        // updater
-        
-
-forInClause
-        :        (declaration[NO_IN] | IDENT) IN expressionList[ALLOW_IN]
-        
-// The initializer for a for loop
-forInit        
-        :        ((declaration)=&gt; declaration[NO_IN] | expressionList[NO_IN] )?
-                -&gt; ^(FOR_INIT $forInit)
-        
-
-forCond
-        :        expressionList[ALLOW_IN]?
-                -&gt; ^(FOR_CONDITION expressionList?)
-        
-
-forIter
-        :        expressionList[ALLOW_IN]?
-                -&gt; ^(FOR_ITERATOR expressionList?)
-        
-
-
-defaultXMLNamespaceStatement
-        :        DEFAULT xmlKeyword namespaceKeyword ASSIGN expression semi
-                -&gt; ^(DEFAULT_XML_NAMESPACE expression)
-        
-
-typeExpression
-        :        c=COLON
-                // TODO: identifier allows namespaces, and I suspect a type:spec shouldn't
-                (identifier | 'void' | STAR)
-                -&gt; ^(TYPE_SPEC[$c] identifier? 'void'? STAR?)
-                
-
-identifier 
-        :        qualifiedIdent
-                (        options{greedy=true;}
-                :         DOT qualifiedIdent
-                )*
-                -&gt; ^(IDENTIFIER qualifiedIdent+)
-        
-
-qualifiedIdent
-        :        IDENT (DBL_COLON^^ IDENT)?
-        
-
-identifierStar
-        :        IDENT
-                (        options{greedy=true;}
-                :        DOT IDENT
-                )* 
-                (        DOT STAR
-                )?
-                -&gt; ^(IDENTIFIER IDENT+ STAR?)
-        
-
-annotations
-        :        (        annotation
-                |        includeDirective
-                )*
-                -&gt; ^(ANNOTATIONS annotation*)
-        
-
-annotation
-        :        LBRACK
-                IDENT
-                annotationParamList?
-                RBRACK
-                -&gt; ^(ANNOTATION IDENT annotationParamList?)
-        
-
-annotationParamList
-        :
-                LPAREN
-                (        annotationParam
-                        (COMMA annotationParam)*
-                )?
-                RPAREN
-                -&gt; ^(ANNOTATION_PARAMS annotationParam*)
-        
-
-/*
-[Inspectable(name="Icon Offset", verbose = 1,type=Boolean, defaultValue=true)]
-[Inspectable(defaultValue="circular")]
-[Bindable]
-[ChangeEvent("event")]
-[Inspectable("danger", 1, true, maybe)] 
-[InspectableList("flavorStr","colorStr")]
-[Event("click")]
-[Collection (name="name", variable="varname", collectionClass="mx.utils.CollectionImpl", collectionItem="coll-item-classname", identifier="string")] 
-*/
-
-annotationParam
-        :
-                IDENT ASSIGN constant -&gt; ^(ASSIGN IDENT constant)
-        |        constant -&gt; constant
-        |        IDENT -&gt; IDENT
-        
-
-modifiers
-        :        modifier*
-                -&gt; ^(MODIFIERS modifier*)
-        
-
-modifier
-        :        PUBLIC
-        |        PRIVATE
-        |        'protected'
-        |        'internal'
-        |        STATIC
-        |        'final'
-        |        'enumerable'
-        |        'explicit'
-        |        'override'
-        |        dynamicKeyword
-        |        'intrinsic'
-        |        IDENT        // a namespace
-        
-
-dynamicKeyword
-        :        {input.LT(1).getText().equals("dynamic")}? i=IDENT
-                -&gt; DYNAMIC[$i]
-        
-
-arguments
-        :        LPAREN
-                (        expressionList[ALLOW_IN]
-                |        /*nothing*/
-                )
-                RPAREN
-                -&gt; ^(ELIST $arguments)
-        
-// This is an initializer used to set up an array.
-arrayLiteral
-        :        LBRACK elementList? RBRACK
-                -&gt; ^(ARRAY_LITERAL elementList?)
-        
-                
-elementList
-        :        COMMA!
-        |        nonemptyElementList
-        
-nonemptyElementList
-        :        assignmentExpression[ALLOW_IN] (COMMA! assignmentExpression[ALLOW_IN])*
-        
-
-element
-        :        assignmentExpression[ALLOW_IN]
-                -&gt; ^(ELEMENT assignmentExpression)
-        
-
-// This is an initializer used to set up an object.
-objectLiteral
-        :        LCURLY fieldList? RCURLY
-                -&gt; ^(OBJECT_LITERAL fieldList?)
-        
-        
-fieldList
-        :        literalField (COMMA! literalField?)*
-        
-        
-literalField 
-        :         fieldName COLON element
-                -&gt; ^(OBJECT_FIELD fieldName element)
-        
-        
-fieldName
-        :        IDENT
-        |        number
-        
-
-// the mother of all expressions
-expression
-        :        assignmentExpression[ALLOW_IN]
-                -&gt; ^(EXPR assignmentExpression)
-        
-
-// This is a list of expressions.
-expressionList[int inAllowed]
-        :        assignmentExpression[inAllowed] (COMMA assignmentExpression[inAllowed])*
-                -&gt; ^(ELIST assignmentExpression+)
-        
-
-// assignment expression (level 13)
-assignmentExpression[int inAllowed]
-        :        conditionalExpression[inAllowed]
-        (        (assignmentOperator)=&gt; assignmentOperator
-                assignmentExpression[inAllowed]
-        )*
-        
-
-assignmentOperator
-        :        ASSIGN
-        |         STAR_ASSIGN
-        |        DIV_ASSIGN
-        |        MOD_ASSIGN
-        |        PLUS_ASSIGN
-        |        MINUS_ASSIGN
-        |        SL_ASSIGN
-        |        SR_ASSIGN
-        |        BSR_ASSIGN
-        |        BAND_ASSIGN
-        |        BXOR_ASSIGN
-        |        BOR_ASSIGN
-        |        LAND_ASSIGN
-        |        LOR_ASSIGN
-        
-
-// conditional test (level 12)
-conditionalExpression[int inAllowed]
-        :        logicalOrExpression[inAllowed]
-                (
-                        QUESTION^^
-                        conditionalSubExpression[inAllowed]
-                )?
-        
-conditionalSubExpression[int inAllowed]
-        :        assignmentExpression[inAllowed] COLON^^ assignmentExpression[inAllowed]
-        
-
-// TODO: should 'and'/'or' have same precidence as '&amp;&amp;'/'||' ?
-
-// logical or (||)  (level 11)
-logicalOrExpression[int inAllowed]
-        :        logicalAndExpression[inAllowed] (logicalOrOperator^^ logicalAndExpression[inAllowed])*
-        
-
-logicalOrOperator
-        :        LOR | 'or'
-        
-
-// logical and (&amp;&amp;)  (level 10)
-logicalAndExpression[int inAllowed]
-        :        bitwiseOrExpression[inAllowed] (logicalAndOperator^^ bitwiseOrExpression[inAllowed])*
-        
-
-logicalAndOperator
-        :        LAND | 'and'
-        
-
-// bitwise or non-short-circuiting or (|)  (level 9)
-bitwiseOrExpression[int inAllowed]
-        :        bitwiseXorExpression[inAllowed] (BOR^^ bitwiseXorExpression[inAllowed])*
-                
-// exclusive or (^)  (level 8)
-bitwiseXorExpression[int inAllowed]
-        :        bitwiseAndExpression[inAllowed] (BXOR^^ bitwiseAndExpression[inAllowed])*
-        
-// bitwise or non-short-circuiting and (&amp;)  (level 7)
-bitwiseAndExpression[int inAllowed]
-        :        equalityExpression[inAllowed] (BAND^^ equalityExpression[inAllowed])*
-        
-// equality/inequality (==/!=) (level 6)
-equalityExpression[int inAllowed]
-        :        relationalExpression[inAllowed]
-        (        equalityOperator^^
-                relationalExpression[inAllowed]
-        )*
-        
-
-equalityOperator
-        :        STRICT_EQUAL | STRICT_NOT_EQUAL | NOT_EQUAL | EQUAL
-        
-        
-// boolean relational expressions (level 5)
-relationalExpression[int inAllowed]
-        :        shiftExpression (relationalOperator[inAllowed]^^ shiftExpression)*
-        
-
-relationalOperator[int inAllowed]
-        :        {inAllowed==ALLOW_IN}? IN
-        |        LT | GT | LE | GE | isKeyword | asKeyword | 'instanceof'
-        
-
-isKeyword
-        :        {input.LT(1).getText().equals("is")}? i=IDENT
-                -&gt; IS[$i]
-        
-
-asKeyword
-        :        {input.LT(1).getText().equals("as")}? i=IDENT
-                -&gt; IS[$i]
-        
-
-// bit shift expressions (level 4)
-shiftExpression
-        :        additiveExpression (shiftOperator^^ additiveExpression)*
-        
-
-shiftOperator
-        :        SL | SR | BSR
-        
-
-// binary addition/subtraction (level 3)
-additiveExpression
-        :        multiplicativeExpression (additiveOperator^^ multiplicativeExpression)*
-        
-
-additiveOperator
-        :        PLUS | MINUS
-        
-
-// multiplication/division/modulo (level 2)
-multiplicativeExpression
-        :        unaryExpression (multiplicativeOperator^^ unaryExpression)*
-        
-
-multiplicativeOperator
-        :        STAR | DIV | MOD
-        
-
-//        (level 1)
-unaryExpression
-        :        INC^^ unaryExpression
-        |        DEC^^ unaryExpression
-        |        MINUS unaryExpression -&gt; ^(UNARY_MINUS unaryExpression)
-        |        PLUS unaryExpression -&gt; ^(UNARY_PLUS unaryExpression)
-        |        unaryExpressionNotPlusMinus
-        
-
-unaryExpressionNotPlusMinus
-        :        'delete'^^ postfixExpression
-        |        'void'^^ unaryExpression
-        |        'typeof'^^ unaryExpression
-        |        LNOT^^ unaryExpression
-        |        BNOT^^ unaryExpression
-        |        postfixExpression
-        
-
-// qualified names, array expressions, method invocation, post inc/dec
-postfixExpression
-        :        (primaryExpression -&gt; primaryExpression)
-                (        options{greedy=true;} :
-                        (        DOT
-                                (
-                                        qualifiedIdent
-                                |        e4xExpression
-                                )
-                        |        (        LBRACK expression RBRACK
-                                        -&gt; ^(ARRAY_ACC  $postfixExpression expression)
-                                )
-                        |        E4X_DESC e4xExpression
-                        )
-                        methodCall
-                )*
-                (        options {greedy=true;}
-                :         in=INC -&gt; ^(POST_INC[$in] $postfixExpression)
-                 |        de=DEC -&gt; ^(POST_DEC[$de] $postfixExpression)
-                )?
-         
-
-methodCall
-        :        (        options {greedy=true;}
-                :        arguments
-                        -&gt; ^(METHOD_CALL arguments)
-                )*
-        
-e4xExpression
-        :        IDENT
-        |        STAR^
-        |        e4xAttributeIdentifier
-        |        e4xFilterPredicate
-        
-
-e4xAttributeIdentifier
-        :        E4X_ATTRI
-                (        qualifiedIdent
-                |        STAR
-                |        LBRACK expression RBRACK
-                )
-        
-
-e4xFilterPredicate
-        :        LPAREN!
-                expression
-                RPAREN!
-        
-
-primaryExpression
-        :        identPrimary
-        |        'undefined'
-        |        constant
-        |        arrayLiteral
-        |        objectLiteral
-        |        functionDefinition
-        |        newExpression
-        |        encapsulatedExpression
-        |        e4xAttributeIdentifier
-        
-
-
-identPrimary
-        :        (qualifiedIdent -&gt; qualifiedIdent)
-                (        options{greedy=true;}
-                        /* yuk! tree building doesn't set the start/stop values
-                           we need without some hand-holding, */
-                :        (        poi=propOrIdent[root_0, retval.start] -&gt; $poi
-                        )
-                |        (        LBRACK expr=expression RBRACK
-                                -&gt; ^(ARRAY_ACC $identPrimary $expr)
-                        )
-                )*
-                (        options {greedy=true;}
-                :        a=arguments
-                        -&gt; ^(METHOD_CALL $identPrimary $a)
-                )*
-    ;
-
-propOrIdent[LinkedListTree identPrimary, Token startToken]
-        :        
-                { retval.start = startToken; }
-                DOT propId=qualifiedIdent
-                /* without further semantic analysis, we can't
-                   tell if a.b is an access of the property 'b'
-                   from the var 'a' or a reference to the type
-                   'b' in the package 'a'.  (This could be
-                   resolved in an AST post-processing step) */
-                -&gt; ^(PROPERTY_OR_IDENTIFIER {$identPrimary} $propId)
-        
-
-constant
-        :        xmlLiteral
-        |        regexpLiteral
-        |        number
-        |        STRING_LITERAL
-        |        TRUE
-        |        FALSE
-        |        'null'
-        
-
-number        :        HEX_LITERAL
-        |        DECIMAL_LITERAL
-        |        OCTAL_LITERAL
-        |        FLOAT_LITERAL
-        
-
-        
-xmlLiteral
-        @init {
-                LinkedListTree xml = null;
-        }
-        :        s=LT { xml=parseXMLLiteral((LinkedListToken)$s); }
-                -&gt; ^({xml})
-        
-
-regexpLiteral
-        @init {
-                LinkedListTree regexp = null;
-        }
-        :        s=DIV { regexp=parseRegexpLiteral((LinkedListToken)$s); }
-                -&gt; ^({regexp})
-        
-
-newExpression
-        :        'new'^ postfixExpression
-        
-encapsulatedExpression
-        :        LPAREN assignmentExpression[ALLOW_IN] RPAREN
-                -&gt; ^(ENCPS_EXPR assignmentExpression)
-        
-
-// TODO: should anonymous and named functions have seperate definitions so that
-// we can dissallow named functions in expressions?
-
-functionDefinition
-        :        FUNCTION IDENT? parameterDeclarationList typeExpression? block
-                -&gt; ^(FUNC_DEF IDENT? parameterDeclarationList typeExpression? block)
-        
-
-
-PACKAGE                :        'package';
-PUBLIC                :        'public';
-PRIVATE                :        'private';
-FUNCTION        :        'function';
-EXTENDS                :        'extends';
-IMPLEMENTS        :        'implements';
-VAR                :        'var';
-STATIC                :        'static';
-IF                :        'if';
-IMPORT                :        'import';
-FOR                :        'for';
-EACH                :        'each';
-IN                :        'in';
-WHILE                :        'while';
-DO                :        'do';
-SWITCH                :        'switch';
-CASE                :        'case';
-DEFAULT                :        'default';
-ELSE                :        'else';
-CONST                :        'const';
</pre></pre>
<strong class="error">[truncated at 1000 lines; 154 more skipped]</strong>
</div>
<center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -&gt; email">CVSspam</a> 0.2.12</small></center>
</body></html>