diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2011-03-14 16:36:58 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2011-03-21 15:40:00 +0200 |
commit | f14743ef28248ea8a8ad9bae1c7c3d6a354da257 (patch) | |
tree | bcfa7088ae70d7fff9656b102c7c5a9d9ad17f73 /odb/sql-token.cxx | |
parent | add8086259fb21f1e42aba6546c55e607d87ce93 (diff) |
Add support for SQLite type system, adjust code generators
Diffstat (limited to 'odb/sql-token.cxx')
-rw-r--r-- | odb/sql-token.cxx | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/odb/sql-token.cxx b/odb/sql-token.cxx new file mode 100644 index 0000000..fe6b836 --- /dev/null +++ b/odb/sql-token.cxx @@ -0,0 +1,44 @@ +// file : odb/sql-token.cxx +// author : Boris Kolpackov <boris@codesynthesis.com> +// copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC +// license : GNU GPL v3; see accompanying LICENSE file + +#include <iostream> + +#include <odb/sql-token.hxx> + +using namespace std; + +static char punctuation_literals[] = {';', ',', '(', ')', '='}; + +ostream& +operator<< (ostream& os, sql_token const& t) +{ + switch (t.type ()) + { + case sql_token::t_eos: + { + os << "<end-of-stream>"; + break; + } + case sql_token::t_identifier: + { + os << t.identifier (); + break; + } + case sql_token::t_punctuation: + { + os << punctuation_literals[t.punctuation ()]; + break; + } + case sql_token::t_string_lit: + case sql_token::t_int_lit: + case sql_token::t_float_lit: + { + os << t.literal (); + break; + } + } + + return os; +} |