Brian Paul wrote:
> Zack Rusin wrote:
>> On Thursday 17 May 2007 05:36:45 pm Keith Whitwell wrote:
>>>>> I think the Zack/Roberto LLVM tree has done just this.  Unfortunately
>>>>> for this immediate problem, they target a whole new intermediate
>>>>> representation.
>>>> Zack, what tools did you use for the front-end/parser?  I've been
>>>> looking over LLVM but I haven't seen any sign of a parser generator.
>> Yeah, that's where Roberto came in :) We used QLALR which is simply amazing 
>> and for those who ever used Bison a lot more convenient than what we had 
>> right now.
>>
>> http://labs.trolltech.com/page/Projects/Compilers/QLALR
>>
>> Initially we used QLALR with Flex, then we just went only with QLALR (Flex 
>> is 
>> really bad when its come to its usage in libraries and there was no real 
>> reason for it). If you ever used yacc then you can use qlalr right away. 
>> QLALR generated files are simply so much better it was just worth it. I 
>> think 
>> Roberto could write a book about why QLALR just rocks and it makes sense to 
>> use it in this case (granted that the book would have limited audience and 
>> I'll let him do that once his back) rather than anything else.
>>
>>> In fact I think they've used Roberto's QLALR compiler-generator, which
>>> in itself raises some issues about licensing.
>>>
>>> QLALR is GPL'ed, what is the GPL-status of the sources it generates??
>> Technically I think by default they inherit the license of the grammar. Now 
>> having said that, it's of course up to developer to decide what is the 
>> license of the grammar. We'll license everything under the same standard 
>> Mesa 
>> MIT license. 
>> But yeah, the glsl.g grammar that we have there is extremely good, Roberto 
>> did 
>> a wonderful job and imho it would just make sense to use it with or without 
>> LLVM (of course I do love that code so I am very biased).
> 
> Zack, could you make your code (at least the parser) available somewhere 
> so I can take a look?
> 
> One problem with the current GLSL parser in Mesa is that it doesn't 
> report the position (line number) for errors in shaders.  The location 
> of each token from the input stream needs to get propogated up to the 
> AST so that errors can be properly reported.  It's not a huge deal now 
> because shaders are relatively small, but that'll change.


http://gitweb.freedesktop.org/?p=users/zack/mesa.git;a=shortlog;h=llvm

Keith

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to