19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
while( next = m_resolver->lookAhead() )
{
auto prec = getPrecedence( *next );
if( !prec || precedence > *prec )
return result();
auto val = parseInfix( *next, *prec );
if( !val )
return result();
push( *val );
}
return result();
}
optional< Value > Parser::result() const
{
|
|
<
<
<
<
|
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
while( next = m_resolver->lookAhead() )
{
auto prec = getPrecedence( *next );
if( !prec || precedence > *prec )
return result();
push( parseInfix( *next, *prec ) );
}
return result();
}
optional< Value > Parser::result() const
{
|