From 0877d011948b8f902e4b9124c625d5199b271f31 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Sun, 26 Jan 2014 16:38:41 -0800 Subject: [PATCH] Add stream operator for parse states --- spec/stream_methods.h | 13 +++++++++++++ src/compiler/parse_table.cpp | 19 +++++++++++++++++++ src/compiler/parse_table.h | 2 ++ 3 files changed, 34 insertions(+) diff --git a/spec/stream_methods.h b/spec/stream_methods.h index 36879e4e..83dbe636 100644 --- a/spec/stream_methods.h +++ b/spec/stream_methods.h @@ -5,6 +5,7 @@ #include #include #include +#include using std::cout; @@ -21,6 +22,18 @@ namespace std { return stream << ">"; } + template + inline std::ostream& operator<<(std::ostream &stream, const std::vector &vector) { + stream << std::string("#"; + } + template inline std::ostream& operator<<(std::ostream &stream, const std::set &set) { stream << std::string("# #"); + started1 = true; + } + stream << string(">"); + return stream; + } + // Table size_t ParseTable::add_state() { states.push_back(ParseState()); diff --git a/src/compiler/parse_table.h b/src/compiler/parse_table.h index f9efcd92..82225bd6 100644 --- a/src/compiler/parse_table.h +++ b/src/compiler/parse_table.h @@ -54,6 +54,8 @@ namespace tree_sitter { size_t lex_state_index; }; + std::ostream& operator<<(std::ostream &stream, const ParseState &state); + class ParseTable { public: size_t add_state();