1
0
mirror of https://github.com/twiglet/cs2j.git synced 2025-01-18 13:15:17 +01:00

Collect namespace name from rules

This commit is contained in:
Kevin Glynn 2010-07-17 15:06:54 -05:00
parent d07d2fca94
commit 37ceaf2bef

View File

@ -42,22 +42,23 @@ options {
/////////////////////////////////////////////////////// ///////////////////////////////////////////////////////
compilation_unit: compilation_unit:
{ Debug("Debug: start"); } using_directives { Debug("start"); } using_directives
; ;
using_directives: using_directives:
^(USING_DIRECTIVE 'using' { Console.Out.WriteLine("Debug: using"); } namespace_name ';') ^(USING_DIRECTIVE 'using' namespace_name ';' { Debug("using " + $namespace_name.namespaceText); })
; ;
namespace_name: namespace_name returns [string namespaceText]:
^(NAMESPACE_OR_TYPE_NAME namespace_component) ^(NAMESPACE_OR_TYPE_NAME nsc=namespace_component { namespaceText = $nsc.idText; }
(nscp=namespace_component { namespaceText = namespaceText + "." + $nscp.idText; } )* )
; ;
namespace_component: namespace_component returns [string idText]:
^(NSTN identifier) ^(NSTN identifier { idText=$identifier.idText; } )
; ;
identifier: identifier returns [string idText]:
^(ID id=IDENTIFIER { Console.Out.WriteLine("Identifier: " + id.Text);}) ^(ID IDENTIFIER { idText = $IDENTIFIER.Text; Debug("Identifier: " + $IDENTIFIER.Text); } )
; ;