diff options
author | John Hodge <tpg@mutabah.net> | 2016-11-03 11:35:01 +0800 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2016-11-03 11:35:01 +0800 |
commit | de3d219f998e854091a0663c7e57cb1b3334e995 (patch) | |
tree | 489939524160781e2057e68a161861cd9633091c | |
parent | e636281390211dd8caf08b439ef7b46ea3434b29 (diff) | |
download | mrust-de3d219f998e854091a0663c7e57cb1b3334e995.tar.gz |
Parse Expr - Slight tweak to handling of ;
-rw-r--r-- | src/parse/expr.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/parse/expr.cpp b/src/parse/expr.cpp index f2ec1857..17a40364 100644 --- a/src/parse/expr.cpp +++ b/src/parse/expr.cpp @@ -203,7 +203,8 @@ ExprNodeP Parse_ExprBlockLine(TokenStream& lex, bool *add_silence) case TOK_INTERPOLATED_BLOCK:
return tok.take_frag_node();
case TOK_SEMICOLON:
- return NEWNODE(AST::ExprNode_Tuple, ::std::vector<AST::ExprNodeP>());
+ // Return a NULL expression, nothing here.
+ return nullptr;
// let binding
case TOK_RWORD_LET:
@@ -239,6 +240,12 @@ ExprNodeP Parse_ExprBlockLine(TokenStream& lex, bool *add_silence) lex.putback( Token(Token::TagTakeIP(), InterpolatedFragment(InterpolatedFragment::EXPR, ret.release())) );
return Parse_ExprBlockLine_Stmt(lex, *add_silence);
}
+
+ if( LOOK_AHEAD(lex) == TOK_SEMICOLON ) {
+ GET_TOK(tok, lex);
+ *add_silence = true;
+ }
+
return ret;
// Flow control
|