From 85a756b47e55373497a20f1d19a7b4eec12ce928 Mon Sep 17 00:00:00 2001 From: John Hodge Date: Sat, 27 Feb 2016 15:06:21 +0800 Subject: Parse - Support hugely nested parens --- src/include/debug.hpp | 2 +- src/parse/expr.cpp | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/include/debug.hpp b/src/include/debug.hpp index d11af652..b8c54440 100644 --- a/src/include/debug.hpp +++ b/src/include/debug.hpp @@ -6,7 +6,7 @@ extern int g_debug_indent_level; #ifndef DISABLE_DEBUG -#define INDENT() do { g_debug_indent_level += 1; assert(g_debug_indent_level<100); } while(0) +#define INDENT() do { g_debug_indent_level += 1; assert(g_debug_indent_level<300); } while(0) #define UNINDENT() do { g_debug_indent_level -= 1; } while(0) #define DEBUG(ss) do{ if(debug_enabled()) { debug_output(g_debug_indent_level, __FUNCTION__) << ss << ::std::endl; } } while(0) #else diff --git a/src/parse/expr.cpp b/src/parse/expr.cpp index 9330d925..42347a2f 100644 --- a/src/parse/expr.cpp +++ b/src/parse/expr.cpp @@ -544,7 +544,7 @@ ExprNodeP Parse_Stmt(TokenStream& lex) // 0: Assign ExprNodeP Parse_Expr0(TokenStream& lex) { - TRACE_FUNCTION; + //TRACE_FUNCTION; Token tok; ::AST::MetaItems expr_attrs; @@ -1098,7 +1098,7 @@ ExprNodeP Parse_ExprVal(TokenStream& lex) CLEAR_PARSE_FLAG(lex, disallow_struct_literal); lex.putback(tok); - ExprNodeP rv = Parse_Stmt(lex); + ExprNodeP rv = Parse_Expr0(lex); if( GET_TOK(tok, lex) == TOK_COMMA ) { ::std::vector ents; ents.push_back( ::std::move(rv) ); @@ -1106,7 +1106,7 @@ ExprNodeP Parse_ExprVal(TokenStream& lex) if( GET_TOK(tok, lex) == TOK_PAREN_CLOSE ) break; lex.putback(tok); - ents.push_back( Parse_Stmt(lex) ); + ents.push_back( Parse_Expr0(lex) ); } while( GET_TOK(tok, lex) == TOK_COMMA ); rv = NEWNODE( AST::ExprNode_Tuple, ::std::move(ents) ); } -- cgit v1.2.3