if you get <...>That means that somehow ST is interpreting it using $...$ not 
<...> I think. not sure why that would be.
Ter
On Apr 28, 2011, at 10:42 AM, Kim Slattery wrote:

> Sorry: incomplete thought. Every time, it translates it to simply:
> 
> <pack>
> 
> What am I not getting?
> 
> On Thu, Apr 28, 2011 at 12:41 PM, Kim Slattery <[email protected]>wrote:
> 
>> I have been trying to parse this and translate it using a .stg file, and it
>> does not work.  Every time, it parses  I have no idea what's going on.
>> Help!?
>> 
>> Hop.stg:
>> 
>> group Hop;
>> start(p) ::= "<pack>"
>> package(name) ::= "packagedafdjk <name>"
>> qualified_name(name) ::= "<name>"
>> 
>> 
>> HopSymbolTableWalker.g:
>> 
>> tree grammar HopSymbolTableWalker;
>> 
>> options {
>> tokenVocab=Hop;
>> ASTLabelType=CommonTree;
>> output = template;
>> }
>> ...
>> start
>> @after{$st = %start(p={$pack.text});}
>> : (pack = package_rule ref = reference+          // -> start(pack={$
>> pack.st})
>> | ref = reference+ pack = package_rule
>> | pack = package_rule                                  // -> start(pack={$
>> pack.st})
>> | ref = reference+
>> | )
>> cl = class_declaration  EOF //Declaring a class name
>> ;
>> 
>> package_rule
>> @after{$st = %package(name={$qn.text});}
>> : PACKAGE_NAME qn=qualified_name
>> {
>> thisPackage = $qn.type;
>> }
>> ;
>> 
>> qualified_name returns [QualifiedNameDescriptor type]
>> @after {$st = %{result};}
>> @init {
>> String result = "";
>> }
>> : ^(QUALIFIED_NAME ids+= ID (PERIOD ids+=ID)*)
>> {
>> QualifiedNameDescriptor t = new QualifiedNameDescriptor();
>> t.setLineBegin(((CommonTree)$ids.get(0)).token.getLine());
>> 
>> t.setColumnBegin(((CommonTree)$ids.get(0)).token.getCharPositionInLine());
>> /*t.setNameFromList($ids);
>> */
>> String name = "";
>> Iterator it = $ids.iterator();
>> 
>>         while(it.hasNext()) {
>>             name += ((CommonTree) it.next()).getText();
>> 
>>             if(it.hasNext()) {
>>                 name += $PERIOD.text;
>>           }
>> 
>>             }
>>             t.setName(name);
>> 
>> result = name;
>> 
>> t.setLineEnd(((CommonTree)$ids.get($ids.size() - 1)).token.getLine());
>> t.setColumnEnd(((CommonTree)$ids.get($ids.size() -
>> 1)).token.getCharPositionInLine());
>> $type = t;
>> }                                                                //->
>> qualified_name(name={result})
>> ;
>> 
>> 
>> 
>> Thanks for your ideas.  I'm absolutely stuck.
>> 
>> Kim
>> 
> 
> List: http://www.antlr.org/mailman/listinfo/antlr-interest
> Unsubscribe: 
> http://www.antlr.org/mailman/options/antlr-interest/your-email-address


List: http://www.antlr.org/mailman/listinfo/antlr-interest
Unsubscribe: 
http://www.antlr.org/mailman/options/antlr-interest/your-email-address

-- 
You received this message because you are subscribed to the Google Groups 
"il-antlr-interest" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/il-antlr-interest?hl=en.

Reply via email to