From f14743ef28248ea8a8ad9bae1c7c3d6a354da257 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 14 Mar 2011 16:36:58 +0200 Subject: Add support for SQLite type system, adjust code generators --- odb/sql-token.cxx | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 odb/sql-token.cxx (limited to 'odb/sql-token.cxx') 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 +// copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC +// license : GNU GPL v3; see accompanying LICENSE file + +#include + +#include + +using namespace std; + +static char punctuation_literals[] = {';', ',', '(', ')', '='}; + +ostream& +operator<< (ostream& os, sql_token const& t) +{ + switch (t.type ()) + { + case sql_token::t_eos: + { + os << ""; + 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; +} -- cgit v1.1