[antlr-interest] ANTLR-based Java grammar for javac compiler

Yang Jiang yang.jiang.z at gmail.com
Thu Nov 13 14:12:03 PST 2008


Yeah, that is the reason.
The javac tree is more than just nodes, it also has info like position, 
javadoc and line maps etc..
It would be pretty easy to simply use the Antlr tree rewrite to build a 
tree, but not that easy if
the tree structure/specification has already been defined.

Yang

Simon wrote:
> You could have written a custom TreeAdaptor to build the javac tree. 
> Or was that simply not possible / too tedious?
>
> On Nov 13, 2008, at 19:23 , Yang Jiang wrote:
>
>> That is because we are talking about two kinds of tree here.
>> The one build by Antlr's tree construction mechanisms is different 
>> than the one needed by javac.
>>
>> Of course you could build an Antlr tree, but that's how far a grammar 
>> can go. But if you want to
>> take advantages of javac's code validation, code generation etc., you 
>> have to build a javac tree
>> to hook into the javac's system.
>>
>> Yang
>>
>> Simon wrote:
>>> Why do they not use the tree construction mechanisms available in  
>>> Antlr? As far as I can tell, they build the tree by using custom  
>>> actions. The link to the full grammar is shown below:
>>>
>>> http://hg.openjdk.java.net/compiler-grammar/compiler-grammar/langtools/file/e37d7d5df672/src/share/classes/com/sun/tools/javac/antlr/Java.g 
>>>
>>>
>>> When would you choose not to use the tree construction mechanisms?
>>>
>>> Simon
>>>
>>> On Nov 10, 2008, at 21:45 , Terence Parr wrote:
>>>
>>>
>>>> http://openjdk.java.net/projects/compiler-grammar/
>>>>
>>>> Direct link to the grammar:
>>>>
>>>> http://openjdk.java.net/projects/compiler-grammar/antlrworks/Java.g
>>>>
>>>> USF MSCS student Yang Jiang built this as an intern for Sun.
>>>>
>>>> Terence
>>>>
>>>> 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 
>>>
>>>
>>>
>



More information about the antlr-interest mailing list