Yes sure, I know, although I meant the rule name, not the token name. I just wanted to mention it.
Am 20.10.2011 17:46, schrieb Jim Idle: > You have to rename the token is all... > > KVOID: 'void' ; > > Jim > >> -----Original Message----- >> From: [email protected] [mailto:antlr-interest- >> [email protected]] On Behalf Of Christian >> Sent: Thursday, October 20, 2011 3:50 AM >> To: [email protected] >> Subject: Re: [antlr-interest] Rewriting a list of tokens to a list of >> custom tokens >> >> Works fine. Thanks, Jim ! >> >> I solely did not have to use keywords for the rule name, because 'void' >> is a keyword in Java. >> >> Many greetings, >> Christian >> >> Am 19.10.2011 23:38, schrieb Jim Idle: >>> Sorry, I did not see that list thing, but I was trying to get you on >>> the right track. >>> >>> First, don't use literals >>> Put the tokens in subrules >>> Change the token type in subrule (I usually just set the type field >> in >>> the token, but that is a bit of a cheat) I don't have time to test >>> every code snippet that I post here >>> >>> >>> x: t1+=void (t2+=star)* -> ^(LIST $t1 $t2*) ; >>> >>> void: t=VOID -> TYPE[$t]; >>> stat: t=STAR -> TYPE[$t]; >>> >>> VOID: 'void'; >>> STAR: '*'; >>> >>> Jim >>> >>> >>> >>>> -----Original Message----- >>>> From: [email protected] [mailto:antlr-interest- >>>> [email protected]] On Behalf Of Christian >>>> Sent: Wednesday, October 19, 2011 2:24 PM >>>> To: [email protected] >>>> Subject: Re: [antlr-interest] Rewriting a list of tokens to a list >> of >>>> custom tokens >>>> >>>> No, your solution still generates invalid java code for me. Did you >>>> test your solution? The TYPE token does not accept a list as >> parameter. >>>> It is a simple token defined within the token block at the top of >> the >>>> grammar. >>>> It seems that the construction of an implicit list is only possible >>>> for rules and read token within the rule, but not for imaginary >>>> tokens. I hope I am wrong. >>>> >>>> Please make more solution suggestions. >>>> >>>> Am 19.10.2011 17:40, schrieb Jim Idle: >>>>> t1+='void' (t2+='*')* -> ^(LIST TYPE[$t1]+ TYPE[$t2]+) >>>>> >>>>> By interpolating from your question. At least, that should get you >>>>> on the right track. >>>>> >>>>> >>>>> Jim >>>>> >>>>>> -----Original Message----- >>>>>> From: [email protected] [mailto:antlr-interest- >>>>>> [email protected]] On Behalf Of Christian >>>>>> Sent: Wednesday, October 19, 2011 5:40 AM >>>>>> To: [email protected] >>>>>> Subject: [antlr-interest] Rewriting a list of tokens to a list of >>>>>> custom tokens >>>>>> >>>>>> Hello ANTLR community, >>>>>> >>>>>> I want to get >>>>>> >>>>>> t+='void' (t+='*')* >>>>>> >>>>>> to a list of a custom token type, say TYPE. That is, each >>>>>> element/token of the list should change its original type to the >>>> type TYPE. >>>>>> The following approach does not work because invalid java code is >>>>>> generated: >>>>>> >>>>>> t+='void' (t+='*')* -> ^(TYPE[$t]+) >>>>>> >>>>>> The following implicit list generation works fine, however each >>>>>> element retains its original type: >>>>>> >>>>>> t+='void' (t+='*')* -> ^($t+) >>>>>> >>>>>> Can anyone tell me, whether and how this could be done? >>>>>> >>>>>> Thanks in advance, >>>>>> Christian >>>>>> >>>>>> 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 >>>> >>>> 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 >> >> 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 > 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.
