<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/branches/metaas-0.7/src/main/antlr/org/asdt/core/internal/antlr</tt></b></td></tr>
<tr><td><tt><a href="#file1"><span id="removed">as3.g</span></a></tt> </td><td></td><td></td><td align="right" id="removed">-881</td><td nowrap="nowrap">484 removed</td></tr>
</table>
<pre class="comment">
remove old grammar already removed from the trunk
</pre>
<hr /><a name="file1" /><div class="file">
<span class="pathname" id="removed">metaas/branches/metaas-0.7/src/main/antlr/org/asdt/core/internal/antlr</span><br />
<div class="fileheader" id="removed"><big><b>as3.g</b></big> <small id="info">removed after 484</small></div>
<pre class="diff"><small id="info">--- branches/metaas-0.7/src/main/antlr/org/asdt/core/internal/antlr/as3.g        2007-05-19 23:16:57 UTC (rev 484)
+++ branches/metaas-0.7/src/main/antlr/org/asdt/core/internal/antlr/as3.g        2007-05-20 00:24:56 UTC (rev 485)
@@ -1,881 +0,0 @@
</small></pre><pre class="diff" id="removed">-
-header{
-        
-/**********************************************************
- * 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
- * 
- **********************************************************/
-
-
-package org.asdt.core.internal.antlr;
-
-import uk.co.badgersinfoil.metaas.impl.OurCommonASTWithHiddenTokens;
-}
-
-/**
- *        @author Martin Schnabel
- */
-class AS3Parser extends Parser;
-
-options {
-        k = 2;
-        exportVocab = AS3;
-        buildAST = true;
-        defaultErrorHandler=false;
-}
-
-tokens {
-        COMPILATION_UNIT;
-        TYPE_BLOCK&lt;AST=uk.co.badgersinfoil.metaas.impl.ParentheticAST&gt;; METHOD_DEF;
-        MODIFIERS; NAMESPACE_DEF;
-        CLASS_DEF; INTERFACE_DEF;
-        PARAMS&lt;AST=uk.co.badgersinfoil.metaas.impl.ParentheticAST&gt;;
-        PARAM; TYPE_SPEC;
-        BLOCK&lt;AST=uk.co.badgersinfoil.metaas.impl.ParentheticAST&gt;; EXPR; ELIST;
-        EXPR_STMNT&lt;AST=uk.co.badgersinfoil.metaas.impl.ExprStmtAST&gt;;
-        ENCPS_EXPR&lt;AST=uk.co.badgersinfoil.metaas.impl.ParentheticAST&gt;;
-        VAR_INIT;
-        "import"&lt;AST=uk.co.badgersinfoil.metaas.impl.ExprStmtAST&gt;;
-        "return"&lt;AST=uk.co.badgersinfoil.metaas.impl.ExprStmtAST&gt;;
-        "break"&lt;AST=uk.co.badgersinfoil.metaas.impl.ExprStmtAST&gt;;
-        "continue"&lt;AST=uk.co.badgersinfoil.metaas.impl.ExprStmtAST&gt;;
-        "var"&lt;AST=uk.co.badgersinfoil.metaas.impl.ExprStmtAST&gt;;
-        METHOD_CALL&lt;AST=uk.co.badgersinfoil.metaas.impl.ParentheticAST&gt;;
-        ARRAY_ACC&lt;AST=uk.co.badgersinfoil.metaas.impl.ParentheticAST&gt;;
-        UNARY_PLUS; UNARY_MINUS; POST_INC; POST_DEC;
-        ARRAY_LITERAL&lt;AST=uk.co.badgersinfoil.metaas.impl.ParentheticAST&gt;;
-        ELEMENT; OBJECT_LITERAL&lt;AST=uk.co.badgersinfoil.metaas.impl.ParentheticAST&gt;;
-        OBJECT_FIELD; FUNC_DEF;
-        FOR_INIT; FOR_CONDITION; FOR_ITERATOR;
-}
-{
-        private void hoistHiddenTokens(AST ast) {
-                OurCommonASTWithHiddenTokens node = (OurCommonASTWithHiddenTokens)ast;
-                OurCommonASTWithHiddenTokens prev = (OurCommonASTWithHiddenTokens)ast.getFirstChild();
-                if (prev != null) {
-                        if (prev.getType() == AS3TokenTypes.MODIFIERS &amp;&amp; prev.getFirstChild() == null) {
-                                prev = (OurCommonASTWithHiddenTokens)prev.getNextSibling();
-                        }
-                        node.setHiddenBefore(prev.getHiddenBefore());
-                        prev.setHiddenBefore(null);
-                }
-        }
-}
-/**
- * this is the start rule for this parser
- */
-compilationUnit
-        :        (        as2CompilationUnit
-                |        as3CompilationUnit
-                )
-                {## = #(#[COMPILATION_UNIT,"COMPILATION_UNIT"],##);}
-        
-
-as2CompilationUnit
-        :        (importDefinition)*
-                classDefinition[null]
-        |        interfaceDefinition[null]
-        
-
-as3CompilationUnit
-        :        "package" (identifier)?
-                packageBlock
-                EOF!
-        
-
-packageBlock
-        :        s:LCURLY!
-                (        importDefinition
-                |        mods:modifiers!
-                        (        classDefinition[#mods]
-                        |        interfaceDefinition[#mods]
-                        |        variableDefinition[#mods]
-                        |        methodDefinition[#mods]
-                        |        namespaceDefinition[#mods]
-                        )
-                |        SEMI!
-                )*
-                e:RCURLY!
-                {## = #(#[BLOCK,"BLOCK"],##);
-                ((uk.co.badgersinfoil.metaas.impl.ParentheticAST)##).setStart(#s);
-                ((uk.co.badgersinfoil.metaas.impl.ParentheticAST)##).setEnd(#e);}
-        
-        
-
-endOfFile
-        :        EOF!
-        
-
-importDefinition
-        :        s:"import"^ e:identifierStar ({LA(1)==SEMI}?SEMI!)?
-        
-        
-
-classDefinition[AST mods]
-        :        "class" identifier
-                classExtendsClause
-                implementsClause
-                typeBlock
-                { ## = #([CLASS_DEF], mods, ##);
-                hoistHiddenTokens(##); }
-        
-
-interfaceDefinition[AST mods]
-        :        "interface" identifier
-                interfaceExtendsClause
-                typeBlock
-                { ## = #([INTERFACE_DEF], mods, ##);
-                hoistHiddenTokens(##); }
-        
-classExtendsClause
-        :        (s:"extends"^ e:identifier)?
-        
-interfaceExtendsClause
-        :        (s:"extends"^ e1:identifier ( COMMA! e2:identifier)*)?
-        
-implementsClause
-        :        (s:"implements"^ e1:identifier ( COMMA! e2:identifier)*)?
-        
-typeBlock
-        :        s:LCURLY!
-                (        m:modifiers!
-                        (        variableDefinition[#m]
-                        |        methodDefinition[#m] 
-                        )
-                        |SEMI!
-                        |importDefinition
-                )*
-                e:RCURLY!
-                {## = #([TYPE_BLOCK, "TYPE_BLOCK"], ##);
-                ((uk.co.badgersinfoil.metaas.impl.ParentheticAST)##).setStart(#s);
-                ((uk.co.badgersinfoil.metaas.impl.ParentheticAST)##).setEnd(#e);}
-        
-methodDefinition[AST mods]
-        :        s:"function" ("get"|"set")? IDENT
-                parameterDeclarationList
-                e1:typeExpression
-                (e2:block)?
-                {## = #([METHOD_DEF, "METHOD_DEF"],mods, ##);
-                hoistHiddenTokens(##);}
-        
-namespaceDefinition[AST mods]
-        :        namespaceKeyword IDENT
-                {## = #([NAMESPACE_DEF, "NAMESPACE_DEF"],##,mods);}
-        
-namespaceKeyword
-        :        {LT(1).getText().equals("namespace")}? IDENT
-        
-variableDefinition[AST mods]
-        :        ("var"^|"const"^) variableDeclarator
-                (COMMA!        variableDeclarator)*
-                {##.addChild(mods);}
-        
-        
-variableDeclarator
-    :   s:IDENT e1:typeExpression (e2:variableInitializer)?
-    ;
-declaration
-        :        "var"^ variableDeclarator
-                (COMMA!        variableDeclarator)*
-        
-variableInitializer
-        :        s:ASSIGN^ e:expression
-                
-// A list of formal parameters
-parameterDeclarationList
-        :        s:LPAREN!
-                (        ( parameterDeclaration | parameterRestDeclaration)
-                        (        COMMA! ( parameterDeclaration | parameterRestDeclaration))*
-                )?
-                e:RPAREN!
-                {## = #([PARAMS, "PARAMS"], ##);
-                ((uk.co.badgersinfoil.metaas.impl.ParentheticAST)##).setStart(#s);
-                ((uk.co.badgersinfoil.metaas.impl.ParentheticAST)##).setEnd(#e);}
-        
-        
-parameterDeclaration
-        :        ("const")? IDENT typeExpression (ASSIGN assignmentExpression)?
-                {## = #([PARAM,"PARAM"],##);}
-        
-parameterRestDeclaration
-        :        REST ("const")? IDENT
-                {## = #([PARAM,"PARAM"],##);}
-        
-block
-        :        s:LCURLY! (statement)* e:RCURLY!
-                {## = #([BLOCK, "BLOCK"], ##);
-                ((uk.co.badgersinfoil.metaas.impl.ParentheticAST)##).setStart(#s);
-                ((uk.co.badgersinfoil.metaas.impl.ParentheticAST)##).setEnd(#e);}
-        
-
-statement
-        :        {LA(1)==LCURLY}?(block)
-        |        s1:declaration ({LA(1)==SEMI}?(e1:SEMI!))?
-        |        s2:assignmentExpression ({LA(1)==SEMI}?(e2:SEMI!))?
-                {## = #([EXPR_STMNT, "EXPR_STMNT"], ##);
-                ((uk.co.badgersinfoil.metaas.impl.ExprStmtAST)##).setSemi(#e1==null?#e2:#e1);}
-        |        ifStatement
-        // For statement
-        |        forStatement
-
-        // While statement
-        |        "while"^ LPAREN! expression RPAREN! statement
-
-        // do-while statement
-        |        "do"^ statement "while"! LPAREN! expression RPAREN!
-        
-        // with statement
-        |        "with"^ LPAREN! expression RPAREN! 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
-
-        // empty statement
-        |        SEMI!
-        
-        
-ifStatement
-        :        s:"if"^ LPAREN! expression RPAREN! e1:statement
-                (        options {greedy=true;}: e2:elseStatement)*
-        
-
-elseStatement
-        :        s:"else"^ e:statement
-        
-throwStatement
-        :        s:"throw"^ e1:expression ({LA(1)==SEMI}?(e2:SEMI!))?
-        
-
-tryStatement
-        :        "try"
-                block
-                (        "catch" LPAREN! IDENT typeExpression RPAREN!
-                        block
-                )?
-                (
-                        "finally"
-                        block
-                )?
-        
-
-returnStatement
-        :        s:"return"^ (options {greedy=true;} :e1:expression)? ({LA(1)==SEMI}?(e2:SEMI!))?
-        
-                
-continueStatement
-        :        s:"continue"^ ({LA(1)==SEMI}?(e:SEMI!))?
-        
-
-breakStatement
-        :        s:"break"^( {LA(1)==SEMI}?(e:SEMI!))?
-        
-
-switchStatement
-        :        s:"switch"^ LPAREN! expression RPAREN!
-                e:switchBlock
-        
-
-switchBlock
-        :        s:LCURLY!
-                (caseStatement)*
-                (defaultStatement)?
-                e:RCURLY!
-                {## = #(#[BLOCK,"BLOCK"], ##);
-                ((uk.co.badgersinfoil.metaas.impl.ParentheticAST)##).setStart(#s);
-                ((uk.co.badgersinfoil.metaas.impl.ParentheticAST)##).setEnd(#e);}
-        
-
-caseStatement
-        :        s:"case"^ expression e1:COLON! (e2:statement)*
-        
-        
-defaultStatement
-        :        s:"default"^ e1:COLON! (e2:statement)*
-        
-forStatement
-        :        s:"for"^
-                (        (LPAREN forInit SEMI)=&gt;traditionalForClause
-                |        forInClause
-                )
-                e:statement                                         // statement to loop over
-        
-traditionalForClause
-        :        s:LPAREN!
-                forInit SEMI!        // initializer
-                forCond SEMI!        // condition test
-                forIter                        // updater
-                e:RPAREN!
-        
-
-forInClause
-        :        s:LPAREN!
-                declaration "in" expression
-                e:RPAREN!
-        
-// The initializer for a for loop
-forInit        
-        :        ((declaration)=&gt; s1:declaration | s2:expressionList )?
-                {## = #(#[FOR_INIT,"FOR_INIT"],##);}
-        
-
-forCond
-        :        (s:expression)?
-                {## = #(#[FOR_CONDITION,"FOR_CONDITION"],##);}
-        
-
-forIter
-        :        (s:expressionList)?
-                {## = #(#[FOR_ITERATOR,"FOR_ITERATOR"],##);}
-        
-
-typeExpression
-        :        (        COLON^
-                        (identifier | "void" | STAR)
-                        {##.setType(TYPE_SPEC);}
-                )?
-                
-
-identifier 
-        :        s:IDENT^
-                (        options{greedy=true;}
-                :         DOT! e:IDENT^ 
-                )*
-        
-
-identifierStar
-        :        s:IDENT^
-                (        options{greedy=true;}
-                :        DOT! e1:IDENT^ 
-                )* 
-                (        DOT! e2:STAR^
-                )?
-        
-modifiers
-        :        ( s:modifier (e:modifier)* )?
-                {## = #([MODIFIERS, "MODIFIERS"],##);
-                hoistHiddenTokens(##);}
-        
-modifier
-        :        "public"
-        |        "private"
-        |        "protected"
-        |        "internal"
-        |        "static"
-        |        "final"
-        |        "enumerable"
-        |        "explicit"
-        |        "override"
-        |        "dynamic"
-        
-arguments
-        :        (        expressionList
-                |        /*nothing*/
-                        {#arguments = #[ELIST,"ELIST"];}
-                )
-        
-// This is an initializer used to set up an array.
-arrayLiteral
-        :        s:LBRACK! (elementList)? e:RBRACK!
-                {## = #([ARRAY_LITERAL, "ARRAY_LITERAL"],##);
-                ((uk.co.badgersinfoil.metaas.impl.ParentheticAST)##).setStart(#s);
-                ((uk.co.badgersinfoil.metaas.impl.ParentheticAST)##).setEnd(#e);}
-        
-                
-elementList
-        :        COMMA!
-        |        nonemptyElementList
-        
-nonemptyElementList
-        :        assignmentExpression (COMMA! assignmentExpression)*
-        
-
-element
-        :        s:assignmentExpression
-                {## = #([ELEMENT,"ELEMENT"],##);}
-        
-
-// This is an initializer used to set up an object.
-objectLiteral
-        :        s:LCURLY! (fieldList)? e:RCURLY!
-                {## = #([OBJECT_LITERAL,"OBJECT_LITERAL"],##);
-                ((uk.co.badgersinfoil.metaas.impl.ParentheticAST)##).setStart(#s);
-                ((uk.co.badgersinfoil.metaas.impl.ParentheticAST)##).setEnd(#e);}
-        
-        
-fieldList
-        :        literalField (COMMA! (literalField)?)*
-        
-        
-literalField 
-        :         s:fieldName COLON! e:element
-                {## = #([OBJECT_FIELD,"OBJECT_FIELD"],##);}
-        
-        
-fieldName
-        :        IDENT
-        |        NUMBER
-        
-
-// the mother of all expressions
-expression
-        :        s:assignmentExpression
-                {## = #(#[EXPR,"EXPR"],##);}
-        
-
-// This is a list of expressions.
-expressionList
-        :        s:expression (COMMA! e:expression)*
-                {## = #(#[ELIST,"ELIST"], ##);}
-        
-
-// assignment expression (level 13)
-assignmentExpression
-        :        s:conditionalExpression
-        (        (        (        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
-                        )        ~ASSIGN
-                )=&gt;
-                        (        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^
-                        )
-                e:assignmentExpression
-        )?
-        
-// conditional test (level 12)
-conditionalExpression
-        :        s:logicalOrExpression 
-                (        options {greedy=true;} 
-                :        QUESTION^ 
-                        e:conditionalSubExpression
-                )*
-        
-conditionalSubExpression
-        :        s:assignmentExpression COLON^ e:assignmentExpression
-        
-// logical or (||)  (level 11)
-logicalOrExpression
-        :        logicalAndExpression (LOR^ logicalAndExpression)*
-        
-// logical and (&amp;&amp;)  (level 10)
-logicalAndExpression
-        :        bitwiseOrExpression (LAND^ bitwiseOrExpression)*
-        
-// bitwise or non-short-circuiting or (|)  (level 9)
-bitwiseOrExpression
-        :        bitwiseXorExpression (BOR^ bitwiseXorExpression)*
-                
-// exclusive or (^)  (level 8)
-bitwiseXorExpression
-        :        bitwiseAndExpression (BXOR^ bitwiseAndExpression)*
-        
-// bitwise or non-short-circuiting and (&amp;)  (level 7)
-bitwiseAndExpression
-        :        equalityExpression (BAND^ equalityExpression)*
-        
-// equality/inequality (==/!=) (level 6)
-equalityExpression
-        :        relationalExpression 
-        (        ( STRICT_EQUAL^ | STRICT_NOT_EQUAL^ | NOT_EQUAL^ | EQUAL^ )
-                relationalExpression
-        )*
-        
-        
-// boolean relational expressions (level 5)
-relationalExpression
-        :        shiftExpression ((LT^ | GT^ | LE^ | GE^ | "is"^ | "as"^) shiftExpression)*
-        
-                
-// bit shift expressions (level 4)
-shiftExpression
-        :        additiveExpression ((SL^ | SR^ | BSR^) additiveExpression)*
-        
-                
-// binary addition/subtraction (level 3)
-additiveExpression
-        :        multiplicativeExpression (options {greedy=true;} :(PLUS^ | MINUS^) multiplicativeExpression)*
-        
-// multiplication/division/modulo (level 2)
-multiplicativeExpression
-        :        unaryExpression ((STAR^ | DIV^ | MOD^) unaryExpression)*
-        
-//        (level 1)
-unaryExpression
-        :        INC^ unaryExpression
-        |        DEC^ unaryExpression
-        |        MINUS^ {#MINUS.setType(UNARY_MINUS);} unaryExpression
-        |        PLUS^ {#PLUS.setType(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
-        :        s:primaryExpression
-                (        options{greedy=true;} :
-                        (        DOT! 
-                                (        options {generateAmbigWarnings=false;}
-                                :        e11:IDENT^        
-                                |        e12:e4xExpression
-                                )
-                        |        (        t1:LBRACK! expression e2:RBRACK!
-                                        {## = #([ARRAY_ACC,"ARRAY_ACC"],##);
-                                        ((uk.co.badgersinfoil.metaas.impl.ParentheticAST)##).setStart(#t1);
-                                        ((uk.co.badgersinfoil.metaas.impl.ParentheticAST)##).setEnd(#e2);}
-                                )
-                        |        E4X_DESC^ e4xExpression
-                        )
-                        methodCall
-                )*
-                (        options {greedy=true;} 
-                :         in:INC^ {#in.setType(POST_INC);}
-                 |        de:DEC^ {#de.setType(POST_DEC);}
-                )?
-         
-
-methodCall
-        :        (        options {greedy=true;}
-                        :        t2:LPAREN! arguments! e3:RPAREN! 
-                                {## = #([METHOD_CALL,"METHOD_CALL"],##);
-                                ((uk.co.badgersinfoil.metaas.impl.ParentheticAST)##).setStart(#t2);
-                                ((uk.co.badgersinfoil.metaas.impl.ParentheticAST)##).setEnd(#e3);}
-                                (        options {greedy=true;}
-                                :        t3:LPAREN! arguments e4:RPAREN! 
-                                        {## = #([METHOD_CALL,"METHOD_CALL"],##);
-                                        ((uk.co.badgersinfoil.metaas.impl.ParentheticAST)##).setStart(#t3);
-                                        ((uk.co.badgersinfoil.metaas.impl.ParentheticAST)##).setEnd(#e4);}
-                                )*
-                        )?
-        
-e4xExpression
-        :        IDENT
-        |        e12:STAR^
-        |        e13:E4X_ATTRI^ 
-                (        IDENT
-                |        (STAR)? t1:LBRACK^ expression e2:RBRACK!        
-                )
-        
-primaryExpression
-        :        identPrimary
-        |        "null"
-        |        "true"
-        |        "false"
-        |        "undefined"
-    |   constant
-        |        arrayLiteral
-        |        objectLiteral
-    |        functionDefinition
-    |        newExpression
-    |        encapsulatedExpression
-        
-identPrimary
-        :        s:IDENT
-                (        options{greedy=true;}
-                :        DOT! e1:IDENT^
-                |        (        t1:LBRACK! expression e2:RBRACK!
-                                {## = #([ARRAY_ACC,"ARRAY_ACC"],##);
-                                ((uk.co.badgersinfoil.metaas.impl.ParentheticAST)##).setStart(#t1);
-                                ((uk.co.badgersinfoil.metaas.impl.ParentheticAST)##).setEnd(#e2);}
-                        )
-                )*
-                (        options {greedy=true;}
-                :        t2:LPAREN! a:arguments! e3:RPAREN! 
-                        {## = #([METHOD_CALL,"METHOD_CALL"],##,#a);
-                        ((uk.co.badgersinfoil.metaas.impl.ParentheticAST)##).setStart(#t2);
-                        ((uk.co.badgersinfoil.metaas.impl.ParentheticAST)##).setEnd(#e3);}
-                )*
-    ;
-    
-constant
-        :        NUMBER
-        |        STRING_LITERAL
-        |        REGEX_LITERAL
-        |        XML_LITERAL
-        
-newExpression
-        :        s:"new"^ e:postfixExpression
-        
-encapsulatedExpression
-        :        s:LPAREN assignmentExpression e:RPAREN
-                {## = #([ENCPS_EXPR,"ENCPS_EXPR"],##);}
-        
-functionDefinition
-        :        s:"function" parameterDeclarationList typeExpression e:block
-                {## = #([FUNC_DEF,"FUNC_DEF"],##);}
-        
-class AS3Lexer extends Lexer;
-
-options {
-        exportVocab=AS3;              // call the vocabulary "AS3"
-        testLiterals=false;            // don't automatically test for literals
-        k=4;                           // four characters of lookahead
-        charVocabulary='\u0003'..'\u7FFE';
-        codeGenBitsetTestThreshold=20;
-        defaultErrorHandler=false;
-}
-
-// OPERATORS
-QUESTION                :        '?'                
-LPAREN                        :        '('                
-RPAREN                        :        ')'                
-LBRACK                        :        '['                
-RBRACK                        :        ']'                
-LCURLY                        :        '{'                
-RCURLY                        :        '}'                
-COLON                        :        ':'                
-DBL_COLON                :        "::"        
-COMMA                        :        ','                
-ASSIGN                        :        '='                
-EQUAL                        :        "=="        
-STRICT_EQUAL        :        "==="        
-LNOT                        :        '!'                
-BNOT                        :        '~'                
-NOT_EQUAL                :        "!="        
-STRICT_NOT_EQUAL:        "!=="        
-DIV                                :        '/'                
-DIV_ASSIGN                :        "/="        
-PLUS                        :        '+'                
-PLUS_ASSIGN                :        "+="        
-INC                                :        "++"        
-MINUS                        :        '-'                
-MINUS_ASSIGN        :        "-="        
-DEC                                :        "--"        
-STAR                        :        '*'                
-STAR_ASSIGN                :        "*="        
-MOD                                :        '%'                
-MOD_ASSIGN                :        "%="        
-SR                                :        "&gt;&gt;"        
-SR_ASSIGN                :        "&gt;&gt;="        
-BSR                                :        "&gt;&gt;&gt;"        
-BSR_ASSIGN                :        "&gt;&gt;&gt;="        
-GE                                :        "&gt;="        
-GT                                :        '&gt;'                
-SL                                :        "&lt;&lt;"        
-SL_ASSIGN                :        "&lt;&lt;="        
-LE                                :        "&lt;="        
-LT                                :        '&lt;'                
-BXOR                        :        '^'                
-BXOR_ASSIGN                :        "^="        
-BOR                                :        '|'                
-BOR_ASSIGN                :        "|="        
-LOR                                :        "||"        
-BAND                        :        '&amp;'                
-BAND_ASSIGN                :        "&amp;="        
-LAND                        :        "&amp;&amp;"        
-LAND_ASSIGN                :        "&amp;&amp;="        
-LOR_ASSIGN                :        "||="        
-E4X_ATTRI                :        '@'                 
-SEMI                        :        ';'                
-
-
-private DOT                        :        '.'                 //declared in NUMBER
-private E4X_DESC        :        ".."         //declared in NUMBER
-private REST                :        "..."         //declared in NUMBER
-// an identifier.  Note that testLiterals is set to true!  This means
-// that after we match the rule, we look in the literals table to see
-// if it's a literal or really an identifer
-IDENT options {testLiterals=true;}
-        :        ('a'..'z'|'A'..'Z'|'_'|'$') 
-        (        options {generateAmbigWarnings=false;}
-        :        'a'..'z'|'A'..'Z'|'_'|'0'..'9'|'$')*
-        
-
-STRING_LITERAL
-        :        '"' (ESC|~('"'|'\\'|'\n'|'\r'))* '"'
-        |        '\'' (ESC|~('\''|'\\'|'\n'|'\r'))* '\''
-        
-/*  TODO: need a way to signal to the lexer that context allows XML literal to be recognised
-XML_LITERAL
-        :        '&lt;' (WS)* IDENT (WS|XML_ATTRIBUTE)*
-                (        '&gt;' 
-                        (options {generateAmbigWarnings=false;}
-                        :WS|XML_LITERAL|XML_TEXTNODE|XML_COMMENT|XML_CDATA)* 
-                        "&lt;/" (WS)* IDENT (WS)* '&gt;'
-                |        "/&gt;"
-                )
-                
-protected XML_ATTRIBUTE
-        :        IDENT (WS)* ASSIGN (WS)* STRING_LITERAL
-        
-        
-protected XML_TEXTNODE
-        :        (        options {generateAmbigWarnings=false;}
-                :        NL
-                |        { LA(2)!='&gt;' }? '/'
-                |        ~('&lt;'|'{'|'/'|'\n'|'\r')
-                )
-        
-protected XML_COMMENT
-        :        "&lt;!--"
-                (options {generateAmbigWarnings=false;}
-                :        NL
-                |        ~('-'|'\n'|'\r')
-                |        { LA(2)!='-' }? '-'
-                )*
-                "--&gt;"
-        
-protected XML_CDATA
-        :        "&lt;![CDATA["
-                (options {generateAmbigWarnings=false;}
-                :        NL
-                |        { LA(2)!=']'}? ']'
-                |        ~(']'|'\n'|'\r')
-                )*
-                "]]&gt;"
-        
-*/
-NUMBER {Token t=null;} // dot could start a number
-        :        "..." {_ttype = REST;}
-        |        ".." {_ttype = E4X_DESC;}
-        |        '.' {_ttype = DOT;} (('0'..'9')+ (EXPONENT)? {_ttype = NUMBER;})?
-        |        (        '0' 
-                        (        ('X'|'x') (options {warnWhenFollowAmbig = false;}:HEX_DIGIT)+
-                        |        (('0'..'9')* ('.' ('0'..'9')+)?  (EXPONENT)?) 
-                        =&gt;   ('0'..'9')* ('.' ('0'..'9')+)?  (EXPONENT)?
-                        |        ('0'..'7')+
-                        )?
-                |        ('1'..'9') ('0'..'9')* ('.' ('0'..'9')+)?  (EXPONENT)?
-                {_ttype = NUMBER;}
-                )
-        
-/* TODO: need a way to signal to the lexer that context allows regexp literal to be recognised
-REGEX_LITERAL
-        : '/'REGEX_BODY'/' ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'$')*
-        
-protected REGEX_BODY
-        :        (        (~('\n'|'\r'|'*'|'/'|'\\'))
-                |        '\\'(~('\n'|'\r'))
-                )
-                (        (~('\n'|'\r'|'/'|'\\'))
-                |        '\\'(~('\n'|'\r'))
-                )*
-        
-*/
-// whitespace -- ignored
-WS        :        (        options {generateAmbigWarnings=false;}
-                :        ' '
-                |        '\t'
-                |        '\f'
-                        // handle newlines
-                |        NL
-                )+
-        
-protected NL        
-        :        (        options {generateAmbigWarnings=false;}
-                :        '\r' '\n'          // DOS
-                |        '\r'            // Mac
-                |        '\n'            // Unix
-                )
-                { newline(); }
-        
-        
-// skip BOM bytes
-BOM        :        '\u00EF'  '\u00BB' '\u00BF' { _ttype = Token.SKIP; };
-// single-line comments
-SL_COMMENT
-        :        "//" (~('\n'|'\r'))* ('\n'|'\r'('\n')?)?
-                {newline();}
-        
-// multiple-line comments
-ML_COMMENT
-        :        "/*"
-                (        options {generateAmbigWarnings=false;}
-                :
-                        { LA(2)!='/' }? '*'
-                |        NL
-                |        ~('*'|'\n'|'\r')
-                )*
-                "*/"
-        
-/* protected will not directly be 
- * returned to the parser
- */
-protected EXPONENT
-        :        ('e'|'E') ('+'|'-')? ('0'..'9')+
-        
-protected HEX_DIGIT
-        :        ('0'..'9'|'A'..'F'|'a'..'f')
-        
-        
-protected ESC
-        :        '\\'
-                ('n'|'r'|'t'|'b'|'f'|'"'|'\''|'\\'
-                |        ('u')+ HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT
-                |        '0'..'3'
-                        ( options{warnWhenFollowAmbig = false;}
-                        :        '0'..'7'( options{warnWhenFollowAmbig = false;}:'0'..'7')?
-                        )?
-                |        '4'..'7'
-                        ( options{warnWhenFollowAmbig = false;}
-                        :        '0'..'7'
-                        )?
-                | .
-                )
-        
</pre><pre class="diff"><small id="info">\ No newline at end of file
</small></pre></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>