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
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
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
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
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
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
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
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
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