Tweak parsing
This commit is contained in:
parent
be2d809986
commit
0cdf1abf82
@ -101,16 +101,9 @@ namespace parsing {
|
||||
try {
|
||||
auto before_meta = inner.metadata();
|
||||
|
||||
if (inner.peek().content == "(") {
|
||||
inner.next();
|
||||
auto expr = parse_expression(inner).unwrap();
|
||||
inner.expect(token::Type::Symbol, ")");
|
||||
stream.m_position = inner.m_position;
|
||||
return expr;
|
||||
}
|
||||
|
||||
if (auto cast = parse_cast(inner); cast.ok()) {
|
||||
auto expr = parse_expression(inner).unwrap();
|
||||
auto expr = parse_primary_expression(inner).unwrap();
|
||||
stream.m_position = inner.m_position;
|
||||
return std::unique_ptr<AST::Expression>{
|
||||
new AST::CastExpression{
|
||||
@ -120,6 +113,13 @@ namespace parsing {
|
||||
}
|
||||
};
|
||||
}
|
||||
else if (inner.peek().content == "(") {
|
||||
inner.next();
|
||||
auto expr = parse_expression(inner).unwrap();
|
||||
inner.expect(token::Type::Symbol, ")");
|
||||
stream.m_position = inner.m_position;
|
||||
return expr;
|
||||
}
|
||||
else if (inner.peek().content == "&") {
|
||||
inner.next();
|
||||
auto expr = parse_primary_expression(inner).unwrap();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user