diff options
author | John Hodge <tpg@mutabah.net> | 2016-08-17 22:14:25 +0800 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2016-08-17 22:14:25 +0800 |
commit | 1c8db13e4a9d1d3aabe1333197e4e07301fb8bf4 (patch) | |
tree | 2c0f52bc67f43b5f6baab4d5c3bd00f81f1fa484 /src/main.cpp | |
parent | 83dbbbf519677dac24a6eac3c2ef2c95894db501 (diff) | |
download | mrust-1c8db13e4a9d1d3aabe1333197e4e07301fb8bf4.tar.gz |
Parse - Fix many parser bugs
Diffstat (limited to 'src/main.cpp')
-rw-r--r-- | src/main.cpp | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/src/main.cpp b/src/main.cpp index b76e9b12..06c98064 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -8,6 +8,7 @@ #include <iostream>
#include <iomanip>
#include <string>
+#include <set>
#include "parse/lex.hpp"
#include "parse/parseerror.hpp"
#include "ast/ast.hpp"
@@ -25,17 +26,25 @@ int g_debug_indent_level = 0;
::std::string g_cur_phase;
-//::std::set< ::std::string> g_debug_disable_map;
+::std::set< ::std::string> g_debug_disable_map;
+void init_debug_list()
+{
+ //g_debug_disable_map.insert( "Parse" );
+ g_debug_disable_map.insert( "Expand" );
+ g_debug_disable_map.insert( "Resolve" );
+ g_debug_disable_map.insert( "Resolve UFCS paths" );
+ g_debug_disable_map.insert( "Typecheck Expressions" );
+}
bool debug_enabled()
{
- //return true;
- //return g_cur_phase != "Parse";
- //return g_cur_phase != "Parse" && g_cur_phase != "Expand";
- //return g_cur_phase != "Parse" && g_cur_phase != "Expand" && g_cur_phase != "Resolve";
- //return g_cur_phase != "Parse" && g_cur_phase != "Expand" && g_cur_phase != "Resolve" && g_cur_phase != "Resolve UFCS paths";
- return g_cur_phase != "Parse" && g_cur_phase != "Expand" && g_cur_phase != "Resolve" && g_cur_phase != "Resolve UFCS paths" && g_cur_phase != "Typecheck Expressions";
- //return false;
+ // TODO: Have an explicit enable list?
+ if( g_debug_disable_map.count(g_cur_phase) != 0 ) {
+ return false;
+ }
+ else {
+ return true;
+ }
//return g_cur_phase == "Lower MIR";
}
::std::ostream& debug_output(int indent, const char* function)
|