summaryrefslogtreecommitdiffstats
path: root/src/symbol.hpp
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2015-04-10 03:04:22 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2015-04-10 03:04:22 +0200
commit8feccee75dadbf970b2fb402a8c624ed9b25f041 (patch)
tree897ed0229550ee72bdc69899432161a3dd696371 /src/symbol.hpp
parent70fc6ba8d2753492b2d4726f2718a2724bbf399a (diff)
downloadsolar-8feccee75dadbf970b2fb402a8c624ed9b25f041.tar
solar-8feccee75dadbf970b2fb402a8c624ed9b25f041.zip
generator_slr: implement first and follow set generation
Diffstat (limited to 'src/symbol.hpp')
-rw-r--r--src/symbol.hpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/symbol.hpp b/src/symbol.hpp
index 0e79eb6..e468d37 100644
--- a/src/symbol.hpp
+++ b/src/symbol.hpp
@@ -49,6 +49,7 @@ struct symbol_t : public std::tuple<symbol_type_t, std::string> {
return std::get<1>(*this);
}
+
static symbol_t make_nonterm(const std::string &value) {
return symbol_t(SYMBOL_TYPE_NONTERM, value);
}
@@ -61,6 +62,10 @@ struct symbol_t : public std::tuple<symbol_type_t, std::string> {
char v[2] = {char(value), 0};
return symbol_t(SYMBOL_TYPE_CHAR, v);
}
+
+ static symbol_t empty() {
+ return make_term("");
+ }
};
}