diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2015-04-18 00:02:05 +0200 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2015-04-18 00:02:05 +0200 |
commit | 6597de68e459eb5f6f02d2b0662637b04d2baea1 (patch) | |
tree | a4cad1dd601d6bcbe9ae157741373315d67d3439 /src/output_header.cpp | |
parent | a2a663dafd53cbebfa510f6dbd19aed6cc545e32 (diff) | |
download | solar-6597de68e459eb5f6f02d2b0662637b04d2baea1.tar solar-6597de68e459eb5f6f02d2b0662637b04d2baea1.zip |
Add support for C++ namespaces
Diffstat (limited to 'src/output_header.cpp')
-rw-r--r-- | src/output_header.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/output_header.cpp b/src/output_header.cpp index c947d9c..e403cfc 100644 --- a/src/output_header.cpp +++ b/src/output_header.cpp @@ -67,6 +67,13 @@ void output_header_t::write() { write_line(); } + if (!get_generator()->get_grammar().ns.empty()) { + for (const std::string &ns : get_generator()->get_grammar().ns) + write_line("namespace ", ns, " {"); + + write_line(); + } + emit_tokens(); write_line(); @@ -80,6 +87,13 @@ void output_header_t::write() { write_line_(sig_free()); write_line(); write_line_(sig_push()); + + if (!get_generator()->get_grammar().ns.empty()) { + write_line(); + + for (size_t i = 0; i < get_generator()->get_grammar().ns.size(); i++) + write_line("}"); + } } }; |