Re: Solving >> issue in templates

2013-02-07 Thread Ron Burk
Preferring a lexer that doesn't expose state to the parser: a) lexer emits TK_GT for "normal" '>' b) lexer emits two tokens for '>>': TK_GT1 TK_GT2 c) in non-template area of grammar, use non-terminal to refer to '>>' operator: rshift : TK_GT1 TK_GT2 d) in template area of grammar, use non

Re: Solving >> issue in templates

2013-02-06 Thread Hans Aberg
On 6 Feb 2013, at 11:32, John P. Hartmann wrote: > Isn't the point that <> are brackets (parentheses) in this context. > Clearly the lexer must determine this and emit an appropriate token. The ">>" token is context dependent, so the parser might set that context in a variable which the lexer r

Re: Solving >> issue in templates

2013-02-06 Thread John Horigan
What if you let the lexer emit the SHL token and have your grammar accept '>' tokens or SHL tokens for closing template lists? The action would check if SHL closed the template list and issue a call to the lexer telling it to flush its input and insert another '>' token. -- john On Wed, Feb 6, 20

Re: Solving >> issue in templates

2013-02-06 Thread John P. Hartmann
Isn't the point that <> are brackets (parentheses) in this context. Clearly the lexer must determine this and emit an appropriate token. On 6 February 2013 10:14, Hans Aberg wrote: > On 6 Feb 2013, at 00:54, Adam Smalin wrote: > >> This doesn't help :( I see >> is in the lexer (search SHL) which

Re: Solving >> issue in templates

2013-02-06 Thread Hans Aberg
On 6 Feb 2013, at 00:54, Adam Smalin wrote: > This doesn't help :( I see >> is in the lexer (search SHL) which means > List> will not compile because >> is a right shift. But i looked in > the y file first and well... like i said its a C++ problem so C++ obviously > would suffer from it. Have

Re: Solving >> issue in templates

2013-02-06 Thread Evan Lavelle
On 05/02/2013 23:54, Adam Smalin wrote: This doesn't help :( I see >> is in the lexer (search SHL) which means List> will not compile because >> is a right shift. But i looked in the y file first and well... like i said its a C++ problem so C++ obviously would suffer from it. Why have you got a

Re: Solving >> issue in templates

2013-02-05 Thread Adam Smalin
This doesn't help :( I see >> is in the lexer (search SHL) which means List> will not compile because >> is a right shift. But i looked in the y file first and well... like i said its a C++ problem so C++ obviously would suffer from it. On Mon, Jan 28, 2013 at 6:16 PM, Hans Aberg wrote: > On 15

Re: Solving >> issue in templates

2013-01-28 Thread Hans Aberg
On 15 Jan 2013, at 03:48, Adam Smalin wrote: > As we know in C++ there is a issue... You might inquiry in the Usenet newsgroup comp.compilers. There is a Yaccable C++ grammar for an older revision, it may not have been updated. http://www.parashift.com/c++-faq-lite/yaccable-grammar.html Hans

Solving >> issue in templates

2013-01-14 Thread Adam Smalin
As we know in C++ there is a issue when doing something like this List> listOfInts The problem is >> is seen as a shift token rather then a > token. How would I solve this? My first thought was what if I check for two > for a shift? Well... It looks fine, no conflicts but now I need to deal w