From 1b64460a2b2c5411b6052cd4c4d8e8b0d46a4086 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 10 Jul 2012 15:14:21 +0200 Subject: Add support for SQL lexer reuse --- odb/sql-lexer.cxx | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) (limited to 'odb/sql-lexer.cxx') diff --git a/odb/sql-lexer.cxx b/odb/sql-lexer.cxx index a3d144d..b29138e 100644 --- a/odb/sql-lexer.cxx +++ b/odb/sql-lexer.cxx @@ -9,15 +9,28 @@ using namespace std; sql_lexer:: +sql_lexer () + : loc_ ("C"), buf_ (0, 0, 0) +{ +} + +sql_lexer:: sql_lexer (std::string const& sql) - : loc_ ("C"), - is_ (sql), - l_ (1), - c_(1), - eos_ (false), - buf_ (0, 0, 0), - unget_ (false) + : loc_ ("C"), buf_ (0, 0, 0) { + lex (sql); +} + +void sql_lexer:: +lex (std::string const& sql) +{ + is_.str (sql); + is_.clear (); + + l_ = c_ = 1; + buf_ = xchar (0, 0, 0); + eos_ = false; + unget_ = false; } sql_lexer::xchar sql_lexer:: -- cgit v1.1