﻿grammar TestActionFeatures;

options {
    language=CSharp3;
    TokenLabelType=CommonToken;
    output=AST;
    ASTLabelType=CommonTree;
}

@lexer::namespace{Antlr3.Runtime.Test}
@parser::namespace{Antlr3.Runtime.Test}

@parser::header{using Console = System.Console;}

/*
 * Parser Rules
 */

public
compileUnit
    :   EOF
    ;

// SET_DYNAMIC_SCOPE_ATTR

setDynamicScopeAttr
scope {int i;}
	:	EOF {$setDynamicScopeAttr::i=3; $setDynamicScopeAttr[0]::i=3; $setDynamicScopeAttr[-0]::i=3;}
	;

// DYNAMIC_SCOPE_ATTR

dynamicScopeAttr
scope {int i;}
	:	EOF {Console.WriteLine($dynamicScopeAttr::i);}
	;

// DYNAMIC_NEGATIVE_INDEXED_SCOPE_ATTR

dynamicNegativeIndexedScopeAttr
scope {int i;}
	:	EOF {Console.WriteLine($dynamicNegativeIndexedScopeAttr[-1]::i);}
	;

// DYNAMIC_ABSOLUTE_INDEXED_SCOPE_ATTR

dynamicAbsoluteIndexedScopeAttr
scope {int i;}
	:	EOF {Console.WriteLine($dynamicNegativeIndexedScopeAttr[0]::i);}
	;

// ISOLATED_DYNAMIC_SCOPE

isolatedDynamicScope
scope {int i;}
	:	EOF {Console.WriteLine($isolatedDynamicScope.Count);}
	;

/*
 * Lexer Rules
 */

WS
    :   ' '
    ;
