From: <su...@us...> - 2012-10-16 14:07:02
|
Revision: 4512 http://tora.svn.sourceforge.net/tora/?rev=4512&view=rev Author: subik Date: 2012-10-16 14:06:51 +0000 (Tue, 16 Oct 2012) Log Message: ----------- osx: progress in building Modified Paths: -------------- branches/tora3/CMakeLists.txt branches/tora3/extlibs/parsing/CMakeLists.txt branches/tora3/src/CMakeLists.txt branches/tora3/src/core/main.cpp Modified: branches/tora3/CMakeLists.txt =================================================================== --- branches/tora3/CMakeLists.txt 2012-10-16 12:40:47 UTC (rev 4511) +++ branches/tora3/CMakeLists.txt 2012-10-16 14:06:51 UTC (rev 4512) @@ -258,7 +258,7 @@ find_package(Doxygen) if(DOXYGEN_FOUND) message(STATUS "") - message(STATUS "Developer documentation (doxygen) can be generated by 'make doc'") + message(STATUS "Developer documentation (doxygen) can be generated by 'make docs'") message(STATUS "") configure_file( Modified: branches/tora3/extlibs/parsing/CMakeLists.txt =================================================================== --- branches/tora3/extlibs/parsing/CMakeLists.txt 2012-10-16 12:40:47 UTC (rev 4511) +++ branches/tora3/extlibs/parsing/CMakeLists.txt 2012-10-16 14:06:51 UTC (rev 4512) @@ -34,7 +34,7 @@ ##else(WIN32) ADD_LIBRARY(parsing SHARED ${PARSING_SRCS}) SET_TARGET_PROPERTIES(parsing PROPERTIES ENABLE_EXPORTS ON) - TARGET_LINK_LIBRARIES(parsing ${QT_LIBRARIES} antlr3c tora) + TARGET_LINK_LIBRARIES(parsing ${QT_LIBRARIES} antlr3c ${EXE_NAME}) # TARGET_LINK_LIBRARIES(parsing ${QT_LIBRARIES} antlr3c test2) SET(LIBRARY_OUTPUT_PATH "${CMAKE_BINARY_DIR}/src/") ##endif(WIN32) Modified: branches/tora3/src/CMakeLists.txt =================================================================== --- branches/tora3/src/CMakeLists.txt 2012-10-16 12:40:47 UTC (rev 4511) +++ branches/tora3/src/CMakeLists.txt 2012-10-16 14:06:51 UTC (rev 4512) @@ -9,7 +9,7 @@ ADD_SUBDIRECTORY(windows) ENDIF (WIN32) -SET(TORA_LIB "tora") +SET(TORA_LIB ${EXE_NAME}) ################################################################################ # Headers # @@ -809,6 +809,9 @@ INSTALL(FILES ${TORA_I18N_QM} DESTINATION ${CMAKE_INSTALL_PREFIX}/${EXE_NAME}.app/Contents/Resources/i18n) + add_definitions(-DSHARE_DIR=\"../Resources/i18n\") + add_definitions(-DPROVIDERS_PATH=\"../Libraries\") + ELSEIF (UNIX) # Unix install Modified: branches/tora3/src/core/main.cpp =================================================================== --- branches/tora3/src/core/main.cpp 2012-10-16 12:40:47 UTC (rev 4511) +++ branches/tora3/src/core/main.cpp 2012-10-16 14:06:51 UTC (rev 4512) @@ -112,8 +112,7 @@ // qt4 - hot candidate for a builtin resource // if (!toadbindings.load(tora_toad, sizeof(tora_toad))) // printf("Internal error, couldn't load TOAD bindings"); - qDebug() << qmDir << QDir::separator() << "tora_toad.qm"; - qDebug() << toadbindings.load(qmDir + QDir::separator() + "tora_toad.qm"); + toadbindings.load(qmDir + "tora_toad.qm"); qApp->installTranslator(&toadbindings); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ibr...@us...> - 2012-10-29 14:55:06
|
Revision: 4528 http://tora.svn.sourceforge.net/tora/?rev=4528&view=rev Author: ibre5041 Date: 2012-10-29 14:54:55 +0000 (Mon, 29 Oct 2012) Log Message: ----------- Modified Paths: -------------- branches/tora3/doc/devel/Doxyfile.in branches/tora3/src/core/toconnection.cpp branches/tora3/src/core/toconnectionsubloan.h branches/tora3/src/core/toquery.h branches/tora3/src/core/toresultcols.cpp branches/tora3/src/core/toresultcols.h branches/tora3/src/core/toresultstats.h branches/tora3/src/core/toresultview.h branches/tora3/src/core/totablemodel.cpp branches/tora3/src/core/toworkspace.cpp branches/tora3/src/result/tomvc.h branches/tora3/src/tools/tosandboxtool.h branches/tora3/src/tools/toworksheet.cpp branches/tora3/src/ts_log/ts_log_utils.h Modified: branches/tora3/doc/devel/Doxyfile.in =================================================================== --- branches/tora3/doc/devel/Doxyfile.in 2012-10-29 10:03:50 UTC (rev 4527) +++ branches/tora3/doc/devel/Doxyfile.in 2012-10-29 14:54:55 UTC (rev 4528) @@ -598,7 +598,7 @@ # directories like "/usr/src/myproject". Separate the files or directories # with spaces. -INPUT = @CMAKE_SOURCE_DIR@ +INPUT = @CMAKE_SOURCE_DIR@/src # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is @@ -628,7 +628,7 @@ # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. -EXCLUDE = @CMAKE_BINARY_DIR@ @CMAKE_SOURCE_DIR@/extlibs @CMAKE_SOURCE_DIR@/utils @CMAKE_SOURCE_DIR@/src/obsolete +EXCLUDE = @CMAKE_SOURCE_DIR@/src/obsolete # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix file system feature) are excluded @@ -1012,7 +1012,7 @@ # If non-empty doxygen will try to run qhelpgenerator on the generated # .qhp file. -QHG_LOCATION = qhelpgenerator +QHG_LOCATION = @QT_BINARY_DIR@/qhelpgenerator # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files # will be generated, which together with the HTML files, form an Eclipse help Modified: branches/tora3/src/core/toconnection.cpp =================================================================== --- branches/tora3/src/core/toconnection.cpp 2012-10-29 10:03:50 UTC (rev 4527) +++ branches/tora3/src/core/toconnection.cpp 2012-10-29 14:54:55 UTC (rev 4528) @@ -175,7 +175,7 @@ Utils::toBusy busy; Abort = true; - Q_ASSERT_X( (int)LoanCnt == 0 , (__HERE__).c_str(), "toConnection deleted while BG query is running"); + Q_ASSERT_X( (int)LoanCnt == 0 , qPrintable(__QHERE__), "toConnection deleted while BG query is running"); unsigned cacheNewRefCnt; { @@ -329,85 +329,6 @@ throw qApp->translate("toConnection::currentConnection", "Couldn't find parent connection. Internal error."); } -//QString toConnection::quote(const QString &name, const bool quoteLowercase) -//{ -// if (!name.isNull()) -// return pConnectionImpl->quote(name, quoteLowercase); -// return QString::null; -//} - -//QString toConnection::unQuote(const QString &name) -//{ -// if (!name.isNull()) -// return pConnectionImpl->unQuote(name); -// return QString::null; -//} - -//parse toSyntaxAnalyzer &toConnection::connectionImpl::analyzer() -//{ -// return toSyntaxAnalyzer::defaultAnalyzer(); -//} - -//parse toSyntaxAnalyzer &toConnection::analyzer() -// { -// return Connection->analyzer(); -// } - -//QList<toConnection::objectName> toConnection::connectionImpl::objectNames(const QString &owner, -// const QString &type, -// const QString &name) -//{ -// QList<objectName> ret; -// return ret; -//} - -///TODO not needed if ObjectNamesNew is pure virtual -////*virtual*/ QList<toCache::CacheEntry*> toConnection::connectionImpl::objectNamesNew() -///{ -/// -///} - -//std::map<QString, toConnection::objectName> toConnection::connectionImpl::synonymMap(QList<objectName> &) -//{ -// std::map<QString, objectName> ret; -// return ret; -//} - -//toQDescList toConnection::connectionImpl::columnDesc(const objectName &) -//{ -// toQDescList ret; -// return ret; -//} - -//const toQDescList &toConnection::columns(const objectName &object, bool nocache) -//{ -// toQDescList& cols = Cache->columns(object); -// if (cols.empty() || nocache) -// { -// Cache->addColumns(object, Connection->columnDesc(object)); -// cols = Cache->columns(object); -// } -// -// return cols; -//} - -//void toConnection::rereadCache(void) -//{ -// getCache().rereadCache(); -//} - -//bool toConnection::rereadObjectNew(const QString &owner, const QString &name) -//{ -// bool added = false; -// return added; -//} - -//bool toConnection::cacheRefreshRunning() const -//{ -// //tool return CacheNew->cacheRefreshRunning(); -// return false; //tool must return value -//} - toConnectionSub* toConnection::borrowSub() { QMutexLocker clock(&ConnectionLock); @@ -428,7 +349,7 @@ void toConnection::putBackSub(toConnectionSub *conn) { QMutexLocker clock(&ConnectionLock); - Q_ASSERT_X( !Connections.contains(conn) , (__HERE__).c_str(), "Invalid use of toConnectionSubLoan"); + Q_ASSERT_X( !Connections.contains(conn) , qPrintable(__QHERE__), "Invalid use of toConnectionSubLoan"); LoanCnt.deref(); Connections.insert(conn); } Modified: branches/tora3/src/core/toconnectionsubloan.h =================================================================== --- branches/tora3/src/core/toconnectionsubloan.h 2012-10-29 10:03:50 UTC (rev 4527) +++ branches/tora3/src/core/toconnectionsubloan.h 2012-10-29 14:54:55 UTC (rev 4528) @@ -47,7 +47,7 @@ private: inline void check() const { - Q_ASSERT_X(ConnectionSub != NULL, (__HERE__).c_str(), "Invalid use of toConnectionSubLoan"); + Q_ASSERT_X(ConnectionSub != NULL, qPrintable(__QHERE__), "Invalid use of toConnectionSubLoan"); } toConnectionSubLoan(toConnectionSubLoan const& other); // do not clone me Modified: branches/tora3/src/core/toquery.h =================================================================== --- branches/tora3/src/core/toquery.h 2012-10-29 10:03:50 UTC (rev 4527) +++ branches/tora3/src/core/toquery.h 2012-10-29 14:54:55 UTC (rev 4528) @@ -143,7 +143,7 @@ * @param conn Connection to run query on. * @param sql SQL to run. * @param params Parameters to pass to query. - * @return A list of @ref toQValues:s read from the query. + * @return A list of @ref toQValue(s) read from the query. */ static std::list<toQValue> readQuery(toConnection &conn, const toSQL &sql, toQueryParams const ¶ms); Modified: branches/tora3/src/core/toresultcols.cpp =================================================================== --- branches/tora3/src/core/toresultcols.cpp 2012-10-29 10:03:50 UTC (rev 4527) +++ branches/tora3/src/core/toresultcols.cpp 2012-10-29 14:54:55 UTC (rev 4528) @@ -538,7 +538,7 @@ + conn.getTraits().quote(param.at(1)); break; default: - Q_ASSERT_X(false, (__HERE__).c_str(), "Invalid size for params"); + Q_ASSERT_X(false, qPrintable(__QHERE__), "Invalid size for params"); break; } Modified: branches/tora3/src/core/toresultcols.h =================================================================== --- branches/tora3/src/core/toresultcols.h 2012-10-29 10:03:50 UTC (rev 4527) +++ branches/tora3/src/core/toresultcols.h 2012-10-29 14:54:55 UTC (rev 4528) @@ -103,16 +103,6 @@ return true; } - /** Set the SQL statement of this list. This will also affect @ref Name. - * @param sql SQL containing statement. - */ -// void setSQL(toSQL const& sql) -// { -// toResult::setSQL(sql); -// SQL = sql; -// } - - void changeObject(toCache::ObjectRef const&o) { Object = o; Modified: branches/tora3/src/core/toresultstats.h =================================================================== --- branches/tora3/src/core/toresultstats.h 2012-10-29 10:03:50 UTC (rev 4527) +++ branches/tora3/src/core/toresultstats.h 2012-10-29 14:54:55 UTC (rev 4528) @@ -102,7 +102,7 @@ /** Emitted when session is changed. * @param ses New session ID as string. */ - void sessionChanged(const QString &); + void sessionChanged(const QString &ses); public slots: /** Change the session that the current query will run on. Modified: branches/tora3/src/core/toresultview.h =================================================================== --- branches/tora3/src/core/toresultview.h 2012-10-29 10:03:50 UTC (rev 4527) +++ branches/tora3/src/core/toresultview.h 2012-10-29 14:54:55 UTC (rev 4528) @@ -136,7 +136,7 @@ /** Create a new item. * @param parent Parent list view. * @param after Insert after this item. - * @param buffer String to set as first column + * @param buf String to set as first column */ toResultViewItem(toTreeWidget *parent , toTreeWidgetItem *after @@ -145,7 +145,7 @@ /** Create a new item. * @param parent Parent to this item. * @param after Insert after this item. - * @param buffer String to set as first column + * @param buf String to set as first column */ toResultViewItem(toTreeWidgetItem *parent , toTreeWidgetItem *after Modified: branches/tora3/src/core/totablemodel.cpp =================================================================== --- branches/tora3/src/core/totablemodel.cpp 2012-10-29 10:03:50 UTC (rev 4527) +++ branches/tora3/src/core/totablemodel.cpp 2012-10-29 14:54:55 UTC (rev 4528) @@ -406,7 +406,7 @@ { if(!Headers.empty()) { - Q_ASSERT_X(false, (__HERE__).c_str(), "Query already described"); + Q_ASSERT_X(false, qPrintable(__QHERE__), "Query already described"); } beginInsertColumns(QModelIndex(), columnCount(), columnCount() + h.size() - 1); Modified: branches/tora3/src/core/toworkspace.cpp =================================================================== --- branches/tora3/src/core/toworkspace.cpp 2012-10-29 10:03:50 UTC (rev 4527) +++ branches/tora3/src/core/toworkspace.cpp 2012-10-29 14:54:55 UTC (rev 4528) @@ -89,7 +89,7 @@ void toWorkSpace::addToolWidget(toToolWidget *toolWidget) { - Q_ASSERT_X(!m_toolsRegistry.contains(toolWidget), (__HERE__).c_str(), "Tool window already added"); + Q_ASSERT_X(!m_toolsRegistry.contains(toolWidget), qPrintable(__QHERE__), "Tool window already added"); ToolIndex i; i.WidgetIndex = m_stackedWidget->addWidget(toolWidget); i.TabBarIndex = m_tabBar->insertTab(m_tabBar->count(), toolWidget->windowTitle()); // note this emits currentIndexChanged @@ -114,7 +114,7 @@ m_signalMapper->setMapping(toolWidget, toolWidget); connect(toolWidget, SIGNAL(toolCaptionChanged()), m_signalMapper, SLOT(map())); - Q_ASSERT_X(m_lastWidget != NULL, (__HERE__).c_str(), "Tool widgets list corrupted"); + Q_ASSERT_X(m_lastWidget != NULL, qPrintable(__QHERE__), "Tool widgets list corrupted"); } void toWorkSpace::slotCurrentIndexChanged(int idx) @@ -190,7 +190,7 @@ void toWorkSpace::slotToolCaptionChanged(QWidget *w) { toToolWidget *tool = dynamic_cast<toToolWidget*>(w); - Q_ASSERT_X(tool != NULL, (__HERE__).c_str(), "signal has unknown source"); + Q_ASSERT_X(tool != NULL, qPrintable(__QHERE__), "signal has unknown source"); QString caption = tool->windowTitle(); int index = m_toolsRegistry.value(tool).TabBarIndex; Modified: branches/tora3/src/result/tomvc.h =================================================================== --- branches/tora3/src/result/tomvc.h 2012-10-29 10:03:50 UTC (rev 4527) +++ branches/tora3/src/result/tomvc.h 2012-10-29 14:54:55 UTC (rev 4528) @@ -48,6 +48,8 @@ #include "core/toconnection.h" #include "core/totablemodel.h" +#include <QtCore/QObject> + struct MVCTRAITS { /* toEditWidget traits */ @@ -69,6 +71,7 @@ enum { SelectionMode = QAbstractItemView::NoSelection }; enum { AlternatingRowColors = false }; enum { ContextMenuPolicy = Qt::NoContextMenu }; + enum { ShowRowNumber = false }; }; template<typename Model, typename View, typename T = MVCTRAITS> @@ -83,12 +86,13 @@ TOMVC(QWidget *parent); void setModel(Model *); + void setQuery(toEventQuery *); /** - * \defgroup toEventQuery::Client interface implementation - * @{ + * @name toEventQuery::Client + * toEventQuery::Client interface implementation */ - + ///@{ /** * Emitted when header descriptions are available */ @@ -109,27 +113,28 @@ * Emitted when done */ virtual void eqDone(toEventQuery*); - /**@}*/ + ///@} /** - * \defgroup toResult interface implementation - * @{ + * @name toResult + * toResult interface implementation */ + ///@{ - /** Perform a query - * @param sql Execute an SQL statement. - * @param params Parameters needed as input to execute statement. - */ - virtual void query(const QString &,const toQueryParams &); + /** Perform a query + * @param sql Execute an SQL statement. + * @param params Parameters needed as input to execute statement. + */ + virtual void query(const QString &,const toQueryParams &); - virtual bool canHandle(toConnection &); + virtual bool canHandle(toConnection &); + ///@} - /**@}*/ - /** - * \defgroup toEditWidget interface implementation - * @{ + * @name toEditWidget + * toEditWidget interface implementation */ + ///@{ virtual QString editText(); virtual bool editOpen(const QString&); virtual bool editSave(bool); @@ -143,7 +148,7 @@ virtual void editSelectAll(); virtual void editUndo(); virtual void searchReplace(); - /**@}*/ + ///@} private: Model *m_model; @@ -172,10 +177,12 @@ if( Traits::SelectBlockEnabled ) toEditWidget::FlagSet.SelectBlock = true; if( Traits::ReadAllEnabled ) toEditWidget::FlagSet.ReadAll = true; - View::setSelectionBehavior( (QAbstractItemView::SelectionBehavior) Traits::SelectionBehavior); - View::setSelectionMode( (QAbstractItemView::SelectionMode) Traits::SelectionMode); + View::setSelectionBehavior( (QAbstractItemView::SelectionBehavior)Traits::SelectionBehavior); + View::setSelectionMode( (QAbstractItemView::SelectionMode)Traits::SelectionMode); View::setAlternatingRowColors( Traits::AlternatingRowColors); - View::setContextMenuPolicy( (Qt::ContextMenuPolicy) Traits::ContextMenuPolicy); + View::setContextMenuPolicy( (Qt::ContextMenuPolicy)Traits::ContextMenuPolicy); + + if( Traits::ShowRowNumber == false ) hideColumn(0); else showColumn(0); } template<typename Model, typename View, typename T> @@ -186,16 +193,37 @@ } template<typename Model, typename View, typename T> +void TOMVC<Model, View, T>::setQuery(toEventQuery *q) +{ + if( m_eventQuery != NULL) + { + delete m_eventQuery; + } + + m_eventQuery = q; + + connect(m_eventQuery, SIGNAL(descriptionAvailable(toEventQuery*)) + , this, SLOT(eqDescriptionAvailable(toEventQuery*))); + connect(m_eventQuery, SIGNAL(dataAvailable(toEventQuery*)) + , this, SLOT(eqDataAvailable(toEventQuery*))); + connect(m_eventQuery, SIGNAL(error(toEventQuery*, const toConnection::exception &)) + , this, SLOT(eqError(toEventQuery*, const toConnection::exception &))); + connect(m_eventQuery, SIGNAL(done(toEventQuery*)) + , this, SLOT(eqDone(toEventQuery*))); + m_eventQuery->start(); +} + +template<typename Model, typename View, typename T> void TOMVC<Model, View, T>::eqDescriptionAvailable(toEventQuery *e) { if (!m_eventQuery) { - Q_ASSERT_X(false, (__HERE__).c_str(), "toSandbox::eqDescriptionAvailable - phantom data"); + Q_ASSERT_X(false, qPrintable(__QHERE__), " phantom data"); } if (m_eventQuery != e) { - Q_ASSERT_X(false, (__HERE__).c_str(), "toSandbox::eqDescriptionAvailable - unknown data source"); + Q_ASSERT_X(false, qPrintable(__QHERE__), " unknown data source"); } toQColumnDescriptionList const& desc = m_eventQuery->describe(); @@ -213,18 +241,56 @@ } template<typename Model, typename View, typename T> -void TOMVC<Model, View, T>::eqDataAvailable(toEventQuery*) +void TOMVC<Model, View, T>::eqDataAvailable(toEventQuery *e) { + if (!m_eventQuery) + { + Q_ASSERT_X(false, qPrintable(__QHERE__), "phantom data"); + } + + if (m_eventQuery != e) + { + Q_ASSERT_X(false, qPrintable(__QHERE__), "unknown data source"); + } + + if (m_model->columnCount(QModelIndex()) <= 0) + { + Q_ASSERT_X(false, qPrintable(__QHERE__), "not described yet"); + } + + toTableModel::RowList rows; + int columns = m_model->columnCount(QModelIndex()); + while(e->hasMore()) + { + toTableModel::Row row; + for(int i=0; i < columns; i++) + { + row << e->readValue(); + } + rows << row; + row.clear(); + } + + m_model->appendRows(rows); + + // TODO: this line is for testing only + m_eventQuery->setFetchMode(toEventQuery::READ_ALL); } template<typename Model, typename View, typename T> -void TOMVC<Model, View, T>::eqError(toEventQuery*, const toConnection::exception &) +void TOMVC<Model, View, T>::eqError(toEventQuery*, const toConnection::exception &e) { + throw e; } template<typename Model, typename View, typename T> void TOMVC<Model, View, T>::eqDone(toEventQuery*) { + bool retval = m_eventQuery->disconnect(this); + if(retval == false) + throw __QHERE__ + " disconnect failed"; + m_eventQuery->deleteLater(); + m_eventQuery = NULL; } template<typename Model, typename View, typename T> Modified: branches/tora3/src/tools/tosandboxtool.h =================================================================== --- branches/tora3/src/tools/tosandboxtool.h 2012-10-29 10:03:50 UTC (rev 4527) +++ branches/tora3/src/tools/tosandboxtool.h 2012-10-29 14:54:55 UTC (rev 4528) @@ -18,19 +18,22 @@ class QTableView; class toEventQuery; - struct SandboxTraits : public MVCTRAITS - { - enum { CopyEnabled = 1 }; - }; +struct SandboxTraits : public MVCTRAITS +{ + enum { CopyEnabled = 1 }; - class SandboxMVC : public TOMVC<toTableModel, toTableView<SandboxTraits>, SandboxTraits> - { - Q_OBJECT; - public: - typedef TOMVC<toTableModel, toTableView<SandboxTraits>, SandboxTraits> super; - SandboxMVC(QWidget *parent) : super(parent) {}; - }; + enum { AlternatingRowColors = true }; + enum { ShowRowNumber = true }; +}; +class SandboxMVC : public TOMVC<toTableModel, toTableView<SandboxTraits>, SandboxTraits> +{ + Q_OBJECT; +public: + typedef TOMVC<toTableModel, toTableView<SandboxTraits>, SandboxTraits> super; + SandboxMVC(QWidget *parent) : super(parent) {}; +}; + class toSandbox : public toToolWidget, toEventQuery::Client { Q_OBJECT; Modified: branches/tora3/src/tools/toworksheet.cpp =================================================================== --- branches/tora3/src/tools/toworksheet.cpp 2012-10-29 10:03:50 UTC (rev 4527) +++ branches/tora3/src/tools/toworksheet.cpp 2012-10-29 14:54:55 UTC (rev 4528) @@ -1082,7 +1082,7 @@ } else { - throw QString("TODO: rewrite unreadable code: %1").arg((__HERE__).c_str()); + throw QString("TODO: rewrite unreadable code: %1").arg(__QHERE__); #ifdef TORA3_SOMETHING_UGLY toResultView *query = new toResultView(Current->parentWidget()); Modified: branches/tora3/src/ts_log/ts_log_utils.h =================================================================== --- branches/tora3/src/ts_log/ts_log_utils.h 2012-10-29 10:03:50 UTC (rev 4527) +++ branches/tora3/src/ts_log/ts_log_utils.h 2012-10-29 14:54:55 UTC (rev 4528) @@ -6,16 +6,20 @@ #ifdef DEBUG #ifdef __GNUC__ -#define __HERE__ std::string(((strrchr(__FILE__, '/') ?: __FILE__ - 1) + 1)) + ":"__HERE1__(__LINE__) +#include <string.h> +#define __QHERE__ QString::fromAscii(((strrchr(__FILE__, '/') ?: __FILE__ - 1) + 1)) + ":"__HERE1__(__LINE__) +#define __HERE__ std::string(((strrchr(__FILE__, '/') ?: __FILE__ - 1) + 1)) + ":"__HERE1__(__LINE__) #define __HERE1__(x) STR(x)"\t" + __PRETTY_FUNCTION__ #define STR(a) #a #else -#define __HERE__ std::string(__FILE__) + ":"__HERE1__(__LINE__) +#define __QHERE__ QString::fromAscii(__FILE__) + ":"__HERE1__(__LINE__) +#define __HERE__ std::string(__FILE__) + ":"__HERE1__(__LINE__) #define __HERE1__(x) STR(x)"\t" + __FUNCSIG__ #define STR(a) #a #endif #else +#define __QHERE__ QString() #define __HERE__ std::string() #endif // DEBUG @@ -25,15 +29,15 @@ // Platform independent compiler warning // // see: http://stackoverflow.com/questions/471935/user-warnings-on-msvc-and-gcc // ////////////////////////////////////////////////////////////////////////////////// -// compiler_warning.h -#define STRINGISE_IMPL(x) #x -#define STRINGISE(x) STRINGISE_IMPL(x) -// Use: #pragma message WARN("My message") -#if _MSC_VER -# define FILE_LINE_LINK __FILE__ "(" STRINGISE(__LINE__) ") : " -# define WARN(exp) (FILE_LINE_LINK "WARNING: " exp) -#else//__GNUC__ - may need other defines for different compilers -# define WARN(exp) ("WARNING: " exp) +// compiler_warning.h +#define STRINGISE_IMPL(x) #x +#define STRINGISE(x) STRINGISE_IMPL(x) +// Use: #pragma message WARN("My message") +#if _MSC_VER +# define FILE_LINE_LINK __FILE__ "(" STRINGISE(__LINE__) ") : " +# define WARN(exp) (FILE_LINE_LINK "WARNING: " exp) +#else//__GNUC__ - may need other defines for different compilers +# define WARN(exp) ("WARNING: " exp) #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ibr...@us...> - 2013-02-04 18:19:11
|
Revision: 4563 http://tora.svn.sourceforge.net/tora/?rev=4563&view=rev Author: ibre5041 Date: 2013-02-04 18:18:45 +0000 (Mon, 04 Feb 2013) Log Message: ----------- Do not use broken connections anymore Modified Paths: -------------- branches/tora3/extlibs/trotl/src/trotl_error.cpp branches/tora3/extlibs/trotl/src/trotl_error.h branches/tora3/src/connection/tooraclequery.cpp branches/tora3/src/core/toconnection.cpp branches/tora3/src/core/toconnectionsub.h Modified: branches/tora3/extlibs/trotl/src/trotl_error.cpp =================================================================== --- branches/tora3/extlibs/trotl/src/trotl_error.cpp 2013-02-04 17:55:36 UTC (rev 4562) +++ branches/tora3/extlibs/trotl/src/trotl_error.cpp 2013-02-04 18:18:45 UTC (rev 4563) @@ -44,6 +44,44 @@ namespace trotl { +CriticalErrorList::CriticalErrorList() +{ + insert(3113); // ORA-03113: end-of-file on communication channel + insert(3114); // ORA-03114: not connected to ORACLE - this one is returned for 2nd try on broken conn + insert(3135); // ORA-03135: connection lost contact + insert(12154); // ORA-12154: TNS:could not resolve the connect identifier specified + insert(12157); // ORA-12157: TNS:internal network communication error + insert(12500); // ORA-12500: TNS:listener failed to start a dedicated server process + insert(12504); // ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA + insert(12505); // ORA-12505: TNS listener could not resolve SID given in connect descriptor + insert(12508); // ORA-12508: TNS:listener could not resolve the COMMAND given + insert(12509); // ORA-12509: TNS:listener failed to redirect client to service handler + insert(12510); // ORA-12510: TNS:database temporarily lacks resources to handle the request + insert(12511); // ORA-12511: TNS:service handler found but it is not accepting connections + insert(12513); // ORA-12513: TNS:service handler found but it has registered for a different protocol + insert(12514); // ORA-12514: TNS:listener does not currently know of service requested in connect descriptor + insert(12515); // ORA-12515: TNS:listener could not find a handler for this presentation + insert(12516); // ORA-12516: TNS:listener could not find available handler with matching protocol stack + insert(12518); // ORA-12518: TNS:listener could not hand off client connection + insert(12519); // ORA-12519: TNS:no appropriate service handler found + insert(12520); // ORA-12520: TNS:listener could not find available handler for requested type of server + insert(12521); // ORA-12521: TNS:listener does not currently know of instance requested in connect descriptor + insert(12522); // ORA-12522: TNS:listener could not find available instance with given INSTANCE_ROLE + insert(12523); // ORA-12523: TNS:listener could not find instance appropriate for the client connection + insert(12522); // ORA-12522: TNS:listener could not find available instance with given INSTANCE_ROLE + insert(12523); // ORA-12523: TNS:listener could not find instance appropriate for the client connection + insert(12524); // ORA-12524: TNS:listener could not resolve HANDLER_NAME given in connect descriptor + insert(12525); // ORA-12525: TNS:listener has not received client's request in time allowed + insert(12526); // ORA-12526: TNS:listener: all appropriate instances are in restricted mode + insert(12527); // ORA-12527: TNS:listener: all instances are in restricted mode or blocking new connections + insert(12528); // ORA-12528: TNS:listener: all appropriate instances are blocking new connections + insert(12529); // ORA-12529: TNS:connect request rejected based on current filtering rules + insert(12537); // ORA-12537: TNS:connection closed + insert(12540); // ORA-12540: TNS:internal limit restriction exceeded + insert(12541); // ORA-12541: TNS:no listener + insert(12543); // ORA-12543: TNS:destination host unreachable +}; + OciException::OciException(tstring where, OCIEnv* envh) : _where(where), _mess(where) { @@ -203,6 +241,8 @@ return *this; } +CriticalErrorList OciException::criticalErrorList; + __NORETURN void TROTL_EXPORT throw_oci_exception(OciException const & e) { throw(e); Modified: branches/tora3/extlibs/trotl/src/trotl_error.h =================================================================== --- branches/tora3/extlibs/trotl/src/trotl_error.h 2013-02-04 17:55:36 UTC (rev 4562) +++ branches/tora3/extlibs/trotl/src/trotl_error.h 2013-02-04 18:18:45 UTC (rev 4563) @@ -39,6 +39,7 @@ #include <exception> #include <vector> +#include <set> #define TROTL_BACKTRACE_DEPTH 10 @@ -58,6 +59,13 @@ class TROTL_EXPORT ::std::exception; #endif +class TROTL_EXPORT CriticalErrorList : public std::set<unsigned> +{ + typedef std::set<unsigned> super; +public: + CriticalErrorList(); +}; + struct TROTL_EXPORT OciException : public std::exception { typedef std::exception super; @@ -94,6 +102,12 @@ { return _last_sql.c_str(); }; + + inline bool is_critical() const + { + return criticalErrorList.find(get_code()) != criticalErrorList.end(); + }; + private: ::std::vector<int> _sql_error_code; tstring _where; @@ -101,6 +115,7 @@ tstring _mess; tstring _last_sql; ub2 _parse_offset; + static CriticalErrorList criticalErrorList; }; inline void oci_check_error(tstring where, OCIError* errh, sword res) Modified: branches/tora3/src/connection/tooraclequery.cpp =================================================================== --- branches/tora3/src/connection/tooraclequery.cpp 2013-02-04 17:55:36 UTC (rev 4562) +++ branches/tora3/src/connection/tooraclequery.cpp 2013-02-04 18:18:45 UTC (rev 4563) @@ -75,8 +75,9 @@ { delete Query; Query = NULL; - Running = false; + if(exc.is_critical()) + conn->Broken = true; ThrowException(exc); } try @@ -163,8 +164,9 @@ } delete Query; Query = NULL; - Running = false; + if(exc.is_critical()) + conn->Broken = true; ThrowException(exc); } } Modified: branches/tora3/src/core/toconnection.cpp =================================================================== --- branches/tora3/src/core/toconnection.cpp 2013-02-04 17:55:36 UTC (rev 4562) +++ branches/tora3/src/core/toconnection.cpp 2013-02-04 18:18:45 UTC (rev 4563) @@ -351,7 +351,10 @@ QMutexLocker clock(&ConnectionLock); Q_ASSERT_X( !Connections.contains(conn) , qPrintable(__QHERE__), "Invalid use of toConnectionSubLoan"); LoanCnt.deref(); - Connections.insert(conn); + if(conn->isBroken()) + delete conn; + else + Connections.insert(conn); } void toConnection::allExecute(toSQL const& sql) Modified: branches/tora3/src/core/toconnectionsub.h =================================================================== --- branches/tora3/src/core/toconnectionsub.h 2013-02-04 17:55:36 UTC (rev 4562) +++ branches/tora3/src/core/toconnectionsub.h 2013-02-04 18:18:45 UTC (rev 4563) @@ -19,7 +19,7 @@ public: /** Create connection to database. */ - toConnectionSub() : Query(NULL) {} + toConnectionSub() : Query(NULL), Broken(false) {} /** Close connection. */ virtual ~toConnectionSub() {} @@ -70,7 +70,14 @@ { LastUsed = QDateTime::currentDateTime(); } + + inline bool isBroken() + { + return Broken; + } + protected: + bool Broken; toQuery *Query; QDateTime LastUsed; // last time this db connection was actually used }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ibr...@us...> - 2013-02-25 17:32:19
|
Revision: 4591 http://tora.svn.sourceforge.net/tora/?rev=4591&view=rev Author: ibre5041 Date: 2013-02-25 17:32:07 +0000 (Mon, 25 Feb 2013) Log Message: ----------- MSVC Build docs Modified Paths: -------------- branches/tora3/README.WINDOWS Added Paths: ----------- branches/tora3/qt32.bat Modified: branches/tora3/README.WINDOWS =================================================================== --- branches/tora3/README.WINDOWS 2013-02-25 00:41:42 UTC (rev 4590) +++ branches/tora3/README.WINDOWS 2013-02-25 17:32:07 UTC (rev 4591) @@ -4,84 +4,95 @@ Content: - Building with MSVC - CMake - Building Windows installer. -- Building with MINGW (autotools). (OUT OF DATE) - # # Building with MSVC - CMake (+ See README.CMAKE) # - All information below assumes C:\build as the base directory, and - C:\build\tora as tora checkout and C:\build\tora-build as tora build dir + All information below assumes D:\DEVEL as the base directory, and + D:\DEVEL\tora3 as tora checkout. + + 1. Download and install "Microsoft Visual Studio 2010 Express" + 1a. (Optional) Download and install "Microsoft DirectX SDK (June 2010)" + 1b. (Optional) Download and install "Microsoft Windows SDK v7.1". + If you have Windows SDK 7.1 use it's command prompt. + 1c. Download and install Tortoise SVN. Including command line tools. Into D:\DEVEL (*without* spaces in the PATH) + 2. All related steps are done in the "Visual Studio Command Prompt" + I have MS Visual Studio 2010 Express. (Or Windows SDK 7.1 command prompt). - 0. All related steps are done in the "Visual Studio Command Prompt" - I have MS Visual Studio 2008 Express (aka version 9). It contains - all basic tools propably so there is no more stuff from Microsoft - required. + 3. Download and install Active state Perl - 1. Downaload Qt4 source version for Windows - Trolltech doesn't provide - MSVC binaries at all. I didn't find a nice download link for this, but - it was available from the FTP server: + 4. Download and unzip OpenSSL-<ver>.tgz + 4a. Build OpenSSL as described here: http://qt-project.org/wiki/Building_Qt_Desktop_for_Windows_with_MSVC + 4b. set environment qt32.bat (or qt64.bat) + 4b. perl Configure VC-WIN32 --prefix=D:\Devel\OpenSSL + 4c. ms\do_ms + 4d. nmake -f ms\ntdll.mak + 4e. nmake -f ms\ntdll.mak install + + 5. Download and unzip Boost headers. The is no need to compile anything. Only few headers are needed. - URL: ftp://ftp.qtsoftware.com/qt/source/qt-all-opensource-src-4.5.2.zip + 6. Download and unzip Qt4 source version for Windows. (Version 4.8.4) + 6a. Build OpenSSL as described here: http://qt-project.org/wiki/Building_Qt_Desktop_for_Windows_with_MSVC + 6b. Configure QT: configure.exe -debug-and-release -fast -openssl -webkit -nomake examples -nomake demos -system-proxies -stl + 6c. Compile QT: nmake (and wait) - 2. Install Oracle client - instant or standard one. + 7. Install Oracle client - instant or standard one. (set env. variable ORACLE_HOME) - 3. Download and install Postgresql development packages. It's a part + 8. (Optional) Download and install Postgresql development packages. It's a part of default installer - just check its component. NOTE: Install it to the path *without* space in its name - Qt has problems with compilation in the case of space. URL: http://www.enterprisedb.com/products/pgdownload.do#windows - Testing with version 8.4.0 Seems that this installer doesn't prompt for any paths/etc. Be sure and disable postgres service after install if you won't be running the server itself - 4. Download and install Mysql development packages. It's a part + 9. (Optional) Download and install Mysql development packages. It's a part of default installer - just check its component. NOTE: Install it to the path *without* space in its name - Qt has problems with compilation in the case of space. URL: http://dev.mysql.com/downloads/mysql/5.1.html#win32 I am testing with the 5.1.37 MSI installer, not the 'Essentials' one + + 10. Compile QT DB drivers for MySQL and PostgresSQL as described here: http://qt-project.org/doc/qt-4.8/sql-driver.html - 5. Update system environment paths in variables: INCLUDE and LIB to - fit Postgresql and Mysql includes and libraries. - Note: Mysql uses subdirectories in its lib directory. - Example: + 11. Download and install cmake from www.cmake.org. Into D:\DEVEL (*without* spaces in the PATH) -set INCLUDE=%INCLUDE%;c:\build\postgres\include\;c:\build\mysql\include\ -set LIB=%LIB%;c:\build\postgres\lib\;c:\build\mysql\lib\opt\ -set ORACLE_HOME=c:\build\oracle + 12. Check and set paths in qt32.bat + - QTDIR + - CMAKE + - Doxygen (Optional) + - OpenSSL + - Nasm (Optional) + - Perl + - DirectX SDK (Optional) + - Windows SDK 7.1 (Optional) + - Tortoise SVN (svn.exe is needed while building) + - MSVC - 6. Compile Qt4 with MSVC. Run with MS VS 2008 command prompt: + 13. Compile Tora in a GUI. + cd d:\devel\tora3 + cmake-gui + - Where is the source core: d:\devel\tora3 + - Where to build the binaries: d:\devel\tora3 + - Add Entry: Name: BOOST_ROOT + Type: "Path" + Value" "D:/DEVEL/boost_1_46_1" + - Add Entry: Name: CMAKE_BUILD_TYPE + Value: either "Debug" or "Release" + - Toggle WANT_INTERNAL_QSCINTILLA to Y. + - Click Configure/Generate, set generator to Visual Studio 10 (or Visual Studio 10 64bit) + 13b. Open Visual Studio 2010 and import solution tora.sln + 13c. Compile projects tora poracle - configure.exe -opensource -plugin-sql-sqlite -plugin-sql-mysql -plugin-sql-psql -plugin-sql-odbc + 14. Compile Tora in command prompt + mkdir d:\devel\tora3\debug + cd d:\devel\tora3\debug + cmake -DBOOST_ROOT=D:/DEVEL/boost_1_46_1 -DWANT_INTERNAL_QSCINTILLA=1 -DCMAKE_BUILD_TYPE=Debug -G "NMake Makefiles" .. + nmake - Might want to consider building with '-release' to only build the release code - - 7. Download and install cmake from www.cmake.org. - - 8. Compile Tora - read README.CMAKE and dont forget to check environment is in 5. - Example: -c: -cd \build\tora-build -set PATH=%PATH%;c:\build\qt\bin - -# If you need to refresh from cmake, otherwise skip this step -cmake -G "NMake Makefiles" -DWANT_INTERNAL_QSCINTILLA=1 -DCMAKE_INSTALL_PREFIX=c:\build\tora-build\RELEASE -DORACLE_OCI_VERSION=10G_R2 ..\tora - - Misc notes: seting ORACLE_HOME is a good thing (TM) - building with internal qscintilla is easier for beginners ;) - prepare for longer headache (if you're a windows devel newbie) - - If you build qscintilla externally, follow the directions to make a staticlib. - Otherwise you get mysterious linker unresolved external symbols - even though depends.exe can see them. Meh, Windows. - -nmake - Issuing nmake will actually run the build process itself. - # # Testing # @@ -114,55 +125,3 @@ Please report any bugs should you find them as this port is still in the experimental stage. - - -# -# BELOW DOCS ARE OUT OF DATE, STANDARD BUILD METHOD IS ABOVE -# - -Building with MINGW (autotools). - - At the moment this only works with QT3/Windows Free Edition port - (http://qtwin.sourceforge.net/). - - The makefiles were only tested in Mingw MSYS environment so it is - advised that you obtain and install full MINGW and MSYS packages - from http://www.mingw.org. - - This requires mingw compiled binaries of QT which could be obtained - at http://qtwin.sourceforge.net/ - - Please note that for TOra to work properly QT has to be compiled - with RTTI support in mingw. If the available QT binary does not - work then please compile your own version of it following HOWTO - instructions on http://qtwin.sourceforge.net/ website and using - -rtti configuration parameter. - - 1. Get and install (or build) QT3/Windows Free Edition from - http://qtwin.sourceforge.net/ - - 2. Get the QScintilla sources here - http://www.riverbankcomputing.co.uk/qscintilla/index.php - - 3. Obtain TOra sources - - 4. Modify the qscintilla\build.cmd file in TOra directory with - your environment settings (MINGW, QT and QScintilla paths) - - 5. Build and install QScintilla by running qscintilla\build.cmd - - 6. Copy Makefile.migw to src/Makefile in your TOra directory - - 7. Edit src/Makefile and change path for QTDIR, OCI_DLL and OCI_HOME - (and optionally for INSTALLDIR). Optionally edit the TARGET to - set the desirable executable. Also check the CFLAGS_GLOB and - LFLAGS_GLOB for the debug option (-g) depending on whether you - want debug executable or not. You may also need to create default - version of config.h - - 8. Run 'make' in MSYS environment from TOra src directory. - - 9. Optionally run 'make install' - this will strip down the executable - and copy the necessary files (not yet all of them) to the install - directory (INSTALLDIR) - Added: branches/tora3/qt32.bat =================================================================== --- branches/tora3/qt32.bat (rev 0) +++ branches/tora3/qt32.bat 2013-02-25 17:32:07 UTC (rev 4591) @@ -0,0 +1,47 @@ +@ECHO OFF + +set DEV=D:\DEVEL +set QTDIR=%DEV%\qt-everywhere-opensource-src-4.8.4 +set PATH=%SystemRoot%;%SystemRoot%\system32;d:\devel\TortoiseSVN\bin;D:\DEVEL\CMake2.8\bin;%QTDIR%\bin;D:\devel\doxygen\bin + +echo Setting OpenSSL Env. +set OPENSSL=%DEV%\openssl +set PATH=%OPENSSL%\bin;%PATH% +set LIB=%OPENSSL%\lib +set INCLUDE=%OPENSSL%\include + +rem echo Setting NASM Env. +rem set PATH=%DEV%\NASM;%PATH% + +echo Setting DirectX Env. +set LIB=%DEV%\DXSDK2010\Lib\x86;%LIB% +set INCLUDE=%DEV%\DXSDK2010\Include;%INCLUDE% + +echo Setting MSVC2010 Env. +set VSINSTALLDIR=C:\DEVEL\MSVCE2010 +set VCINSTALLDIR=C:\DEVEL\MSVCE2010\VC +set DevEnvDir=%VSINSTALLDIR%\Common7\IDE +set PATH=%VCINSTALLDIR%\bin;%VSINSTALLDIR%\Common7\Tools;%VSINSTALLDIR%\Common7\IDE;%VCINSTALLDIR%\VCPackages;%PATH% +set INCLUDE=%VCINSTALLDIR%\include;%INCLUDE% +set LIB=%VCINSTALLDIR%\lib;%LIB% +set LIBPATH=%VCINSTALLDIR%\lib + +echo Setting Windows SDK Env. +set WindowsSdkDir=%DEV%\XPSDK7.1 +set PATH=%WindowsSdkDir%\Bin;%PATH% +set LIB=%WindowsSdkDir%\Lib;%LIB% +set INCLUDE=%WindowsSdkDir%\Include;%INCLUDE% +set TARGET_CPU=x86 + +echo Setting Framework Env. +set FrameworkVersion=v4.0.30319 +set Framework35Version=v3.5 +set FrameworkDir=%SystemRoot%\Microsoft.NET\Framework +set LIBPATH=%FrameworkDir%\%FrameworkVersion%;%FrameworkDir%\%Framework35Version%;%LIBPATH% +set PATH=%LIBPATH%;%PATH%;D:\Perl\bin + +echo Env. ready. + +title Qt Framework 4.8.4 Development Kit. + +cd %DEV% This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ibr...@us...> - 2013-02-25 18:05:56
|
Revision: 4592 http://tora.svn.sourceforge.net/tora/?rev=4592&view=rev Author: ibre5041 Date: 2013-02-25 18:05:46 +0000 (Mon, 25 Feb 2013) Log Message: ----------- - doc update - MSVC compile update Modified Paths: -------------- branches/tora3/README.CMAKE branches/tora3/README.WINDOWS branches/tora3/src/core/toresultplan.cpp Modified: branches/tora3/README.CMAKE =================================================================== --- branches/tora3/README.CMAKE 2013-02-25 17:32:07 UTC (rev 4591) +++ branches/tora3/README.CMAKE 2013-02-25 18:05:46 UTC (rev 4592) @@ -1,20 +1,14 @@ CMAKE help and hints -------------------------------------------------------------- -There is an alternative build method since the TOra's Qt4 port. -You can use cmake for it (cmake.org). -Standard usage is very similar to configure/make/make install: -cmake [options] build_dir +On Linux use build Tora aside from sources: +mkdir -p tora3/DBUILD +cd tora3/DBUILD +cmake -DBOOST_ROOT=/usr/include -DCMAKE_BUILD_TYPE=Debug .. -where "build_dir" can be e.g.: . for TOra source root directory -or manually created directory to keep build files out of SVN copy. - -Make targets: - * make - * make install - * make dist - Options: +BOOST_ROOT for some unknown reason the CMAKE's FindBoots module +does not search in /usr/include. Cmake installs TOra into /usr/local as default. You can change it for your location: @@ -27,29 +21,18 @@ environments don't like spaces in its default paths (C:\Program oieeek, error here). - -TOra requires QScintilla2. QScintilla2 is the new Qt4 pord of old +TOra requires QScintilla2. QScintilla2 is the new Qt4 port of old Qt3 release with new API. It's strongly recomended to use standalone package of QScintilla2. Unfortunatelly it's sometimes missing in older distros. You can use TOra internal copy of QScintilla2 with: -DWANT_INTERNAL_QSCINTILLA=1 - TOra can be built against various Oracle clients. Some clients (e.g. instant-client) do not provide ORACLE_HOME settings. Cmake will warn you in this case so you can specify required paths manually: -DORACLE_PATH_INCLUDES=/usr/include/oracle/10.2.0.3/client -DORACLE_PATH_LIB=/usr/lib/oracle/10.2.0.3/client/lib - -You have to specify -DORACLE_OCI_VERSION for one of values: -[8, 8I, 9I, 10G, 10G_R2]. Example: --DORACLE_OCI_VERSION=10G_R2 - -You can switch off Oracle support with: --DENABLE_ORACLE=0 - - TOra requires PostgreSQL development environment to enable full PgSQL support (native cancel etc.). This environment shoud be found automatically on UNIXes. But you can @@ -64,26 +47,11 @@ -DENABLE_PGSQL=0 - Search following for more info: http://cmake.org http://docs.scribus.net/index.php?lang=en&page=install4 - Paths for installation The base install prefix is set with -DCMAKE_INSTALL_PREFIX (see above). You can specify installation of additional files with some variables. Changing these variables will affects TOra compilation too. -List of the settings: --DTORA_PLUGIN_DIR=path - It sets the path for functionality addons (binary plugins (if it's - used) or template description files etc.) - The default value is CMAKE_INSTALL_PREFIX/share/tora --DTORA_DOC_DIR=path - It sets the path for basic system-wide documentation fles (README, - AUTHORS, LICENSE etc.). It is not read by anybody propably but it's - pretty standard for Linux packages ;) - The default value is CMAKE_INSTALL_PREFIX/share/doc/tora --DTORA_HELP_DIR=path - It sets the location of help files (manual and API docs). - The default value is TORA_PLUGIN_DIR/help Modified: branches/tora3/README.WINDOWS =================================================================== --- branches/tora3/README.WINDOWS 2013-02-25 17:32:07 UTC (rev 4591) +++ branches/tora3/README.WINDOWS 2013-02-25 18:05:46 UTC (rev 4592) @@ -82,6 +82,10 @@ Value" "D:/DEVEL/boost_1_46_1" - Add Entry: Name: CMAKE_BUILD_TYPE Value: either "Debug" or "Release" + - (Optional) Add Entry: Name: Subversion_SVN_EXECUTABLE + Type: "Path" + Value: D:/DEVEL/TortoiseSVN/bin/svn.exe + Do not use SVN provided by cygwin - Toggle WANT_INTERNAL_QSCINTILLA to Y. - Click Configure/Generate, set generator to Visual Studio 10 (or Visual Studio 10 64bit) 13b. Open Visual Studio 2010 and import solution tora.sln Modified: branches/tora3/src/core/toresultplan.cpp =================================================================== --- branches/tora3/src/core/toresultplan.cpp 2013-02-25 17:32:07 UTC (rev 4591) +++ branches/tora3/src/core/toresultplan.cpp 2013-02-25 18:05:46 UTC (rev 4592) @@ -350,7 +350,7 @@ else { Explaining = true; - Ident = QString::fromLatin1("TOra ") + QString::number((int)time(NULL) + rand()); + Ident = QString::fromLatin1("TOra ") + QString::number(QDateTime::currentMSecsSinceEpoch()/1000 + rand()); TopItem = new toResultViewItem(this, NULL, QString::fromLatin1("EXPLAIN PLAN:")); TopItem->setText(1, sql.left(50).trimmed()); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ibr...@us...> - 2013-02-25 21:56:36
|
Revision: 4594 http://tora.svn.sourceforge.net/tora/?rev=4594&view=rev Author: ibre5041 Date: 2013-02-25 21:56:20 +0000 (Mon, 25 Feb 2013) Log Message: ----------- cleanup Modified Paths: -------------- branches/tora3/README.LAYOUT Added Paths: ----------- branches/tora3/src/obsolete/debug/ branches/tora3/src/obsolete/debug/todebug.cpp branches/tora3/src/obsolete/debug/todebug.h branches/tora3/src/obsolete/debug/todebugchangeui.ui branches/tora3/src/obsolete/debug/todebugtext.cpp branches/tora3/src/obsolete/debug/todebugtext.h branches/tora3/src/obsolete/debug/todebugwatch.ui branches/tora3/src/obsolete/dummyoci/toociwrapper.h branches/tora3/src/obsolete/plsqleditor/ branches/tora3/src/obsolete/plsqleditor/toeditextensiongotoui.ui branches/tora3/src/obsolete/plsqleditor/toeditextensions.cpp branches/tora3/src/obsolete/plsqleditor/toeditextensions.h branches/tora3/src/obsolete/plsqleditor/toeditextensionsetupui.ui branches/tora3/src/obsolete/plsqleditor/toplsqleditor.cpp branches/tora3/src/obsolete/plsqleditor/toplsqleditor.h branches/tora3/src/obsolete/plsqleditor/toplsqltext.cpp branches/tora3/src/obsolete/plsqleditor/toplsqltext.h branches/tora3/src/obsolete/scheduler/ branches/tora3/src/obsolete/scheduler/toscheduler.cpp branches/tora3/src/obsolete/scheduler/toscheduler.h branches/tora3/src/obsolete/scheduler/toschedulerui.ui branches/tora3/src/obsolete/template/ branches/tora3/src/obsolete/template/toproject.cpp branches/tora3/src/obsolete/template/toproject.h branches/tora3/src/obsolete/template/totemplate.cpp branches/tora3/src/obsolete/template/totemplate.h branches/tora3/src/obsolete/template/totemplateaddfileui.ui branches/tora3/src/obsolete/template/totemplateeditui.ui branches/tora3/src/obsolete/template/totemplateprovider.cpp branches/tora3/src/obsolete/template/totemplatesetupui.ui branches/tora3/src/obsolete/toextratranslations.cpp branches/tora3/src/obsolete/tora.pro branches/tora3/src/obsolete/toreport.cpp branches/tora3/src/obsolete/toreport.h branches/tora3/src/obsolete/toresultpie.cpp branches/tora3/src/obsolete/toresultpie.h branches/tora3/utils/qt32.bat Removed Paths: ------------- branches/tora3/extlibs/otl/ branches/tora3/qt32.bat branches/tora3/src/core/toresultpie.cpp branches/tora3/src/core/toresultpie.h branches/tora3/src/stdafx.h branches/tora3/src/todebug.cpp branches/tora3/src/todebug.h branches/tora3/src/todebugchangeui.ui branches/tora3/src/todebugtext.cpp branches/tora3/src/todebugtext.h branches/tora3/src/todebugwatch.ui branches/tora3/src/toeditextensiongotoui.ui branches/tora3/src/toeditextensions.cpp branches/tora3/src/toeditextensions.h branches/tora3/src/toeditextensionsetupui.ui branches/tora3/src/toextratranslations.cpp branches/tora3/src/toociwrapper.h branches/tora3/src/toplsqleditor.cpp branches/tora3/src/toplsqleditor.h branches/tora3/src/toplsqltext.cpp branches/tora3/src/toplsqltext.h branches/tora3/src/toproject.cpp branches/tora3/src/toproject.h branches/tora3/src/tora.pro branches/tora3/src/toreport.cpp branches/tora3/src/toreport.h branches/tora3/src/toscheduler.cpp branches/tora3/src/toscheduler.h branches/tora3/src/toschedulerui.ui branches/tora3/src/totemplate.cpp branches/tora3/src/totemplate.h branches/tora3/src/totemplateaddfileui.ui branches/tora3/src/totemplateeditui.ui branches/tora3/src/totemplateprovider.cpp branches/tora3/src/totemplatesetupui.ui Modified: branches/tora3/README.LAYOUT =================================================================== --- branches/tora3/README.LAYOUT 2013-02-25 21:08:46 UTC (rev 4593) +++ branches/tora3/README.LAYOUT 2013-02-25 21:56:20 UTC (rev 4594) @@ -4,33 +4,51 @@ ========================= tora/ - +--config/ - | +--m4/ + +--cmake/modules/ | - +--debian/ + +--debian/ (not used yet) | +--doc/ | +--help/ | - +--ext/ - | +--otl/ - | +--loki/ + +--extlibs/ + | +--libantlr3c-3.3 + | +--libermodel + | +--loki + | +--parsing + | +--qscintilla2 + | +--stack + | +--trotl | - +--rpm/ - | + +--rpm/ (not used yet) + | +--src/ - | +--help/ <--- symlinks to doc/help - | +--i18n/ - | +--icons/ - | +--templates/ - | +--windows/ + | +--core Tora core classes + | +--editor Editor related classes + | +--tools Tora tools + | +--connection Connection provider implementations + | +--db2 + | +--ts_log Thread safe logger + | +--docklets + | +--migratetool + | +--shortcuteditor + | +--windows + | +--installer + | +--icons + | +--svg + | +--images + | +--templates + | +--i18n Commented out now + | +--parsing + | +--help <--- symlinks to doc/help + | +--images + | +--tests + | +--obsolete Various not-converted tools, components, classes + | +--dummyoci + | +--result | - +--test/ - | +--configuration/ - | +--<other tests>/ - | +--utils/ - +--qscintilla/ + +--qscintilla/ What goes in which directory ? @@ -38,14 +56,7 @@ project-root: - READMEs/NEWS ... - - autogen.sh / configure.ac -config: - - place to keep some auxiliary scripts from autotools (e.g. missing - config.guess, config.sub ...) - the purpose is to keep the project root uncluttered from such files - - a subdirectory m4, this directory contains all local m4 macros - debian: - debian specific files @@ -53,7 +64,7 @@ - for documentation note that there is a symlink to this folder from src/help -ext: +extlibs: - directory for external libraries which are part of the TOra distribution Deleted: branches/tora3/qt32.bat =================================================================== --- branches/tora3/qt32.bat 2013-02-25 21:08:46 UTC (rev 4593) +++ branches/tora3/qt32.bat 2013-02-25 21:56:20 UTC (rev 4594) @@ -1,47 +0,0 @@ -@ECHO OFF - -set DEV=D:\DEVEL -set QTDIR=%DEV%\qt-everywhere-opensource-src-4.8.4 -set PATH=%SystemRoot%;%SystemRoot%\system32;d:\devel\TortoiseSVN\bin;D:\DEVEL\CMake2.8\bin;%QTDIR%\bin;D:\devel\doxygen\bin - -echo Setting OpenSSL Env. -set OPENSSL=%DEV%\openssl -set PATH=%OPENSSL%\bin;%PATH% -set LIB=%OPENSSL%\lib -set INCLUDE=%OPENSSL%\include - -rem echo Setting NASM Env. -rem set PATH=%DEV%\NASM;%PATH% - -echo Setting DirectX Env. -set LIB=%DEV%\DXSDK2010\Lib\x86;%LIB% -set INCLUDE=%DEV%\DXSDK2010\Include;%INCLUDE% - -echo Setting MSVC2010 Env. -set VSINSTALLDIR=C:\DEVEL\MSVCE2010 -set VCINSTALLDIR=C:\DEVEL\MSVCE2010\VC -set DevEnvDir=%VSINSTALLDIR%\Common7\IDE -set PATH=%VCINSTALLDIR%\bin;%VSINSTALLDIR%\Common7\Tools;%VSINSTALLDIR%\Common7\IDE;%VCINSTALLDIR%\VCPackages;%PATH% -set INCLUDE=%VCINSTALLDIR%\include;%INCLUDE% -set LIB=%VCINSTALLDIR%\lib;%LIB% -set LIBPATH=%VCINSTALLDIR%\lib - -echo Setting Windows SDK Env. -set WindowsSdkDir=%DEV%\XPSDK7.1 -set PATH=%WindowsSdkDir%\Bin;%PATH% -set LIB=%WindowsSdkDir%\Lib;%LIB% -set INCLUDE=%WindowsSdkDir%\Include;%INCLUDE% -set TARGET_CPU=x86 - -echo Setting Framework Env. -set FrameworkVersion=v4.0.30319 -set Framework35Version=v3.5 -set FrameworkDir=%SystemRoot%\Microsoft.NET\Framework -set LIBPATH=%FrameworkDir%\%FrameworkVersion%;%FrameworkDir%\%Framework35Version%;%LIBPATH% -set PATH=%LIBPATH%;%PATH%;D:\Perl\bin - -echo Env. ready. - -title Qt Framework 4.8.4 Development Kit. - -cd %DEV% Deleted: branches/tora3/src/core/toresultpie.cpp =================================================================== --- branches/tora3/src/core/toresultpie.cpp 2013-02-25 21:08:46 UTC (rev 4593) +++ branches/tora3/src/core/toresultpie.cpp 2013-02-25 21:56:20 UTC (rev 4594) @@ -1,157 +0,0 @@ - -/* BEGIN_COMMON_COPYRIGHT_HEADER - * - * TOra - An Oracle Toolkit for DBA's and developers - * - * Shared/mixed copyright is held throughout files in this product - * - * Portions Copyright (C) 2000-2001 Underscore AB - * Portions Copyright (C) 2003-2005 Quest Software, Inc. - * Portions Copyright (C) 2004-2009 Numerous Other Contributors - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; only version 2 of - * the License is valid for this program. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * As a special exception, you have permission to link this program - * with the Oracle Client libraries and distribute executables, as long - * as you follow the requirements of the GNU GPL in regard to all of the - * software in the executable aside from Oracle client libraries. - * - * Specifically you are not permitted to link this program with the - * Qt/UNIX, Qt/Windows or Qt Non Commercial products of TrollTech. - * And you are not permitted to distribute binaries compiled against - * these libraries. - * - * You may link this product with any GPL'd Qt library. - * - * All trademarks belong to their respective owners. - * - * END_COMMON_COPYRIGHT_HEADER */ - -#include "core/toresultpie.h" -#include "core/utils.h" -#include "core/toconnection.h" -#include "core/toeventquery.h" -#include "core/tosql.h" - -toResultPie::toResultPie(QWidget *parent, const char *name) - : toPieChart(parent, name) -{ - Query = NULL; - Columns = 0; - Started = false; - LabelFirst = false; -} - -void toResultPie::start(void) -{ - if (!Started) - { - try - { - connect(timer(), SIGNAL(timeout()), this, SLOT(refresh())); - } - TOCATCH - Started = true; - } -} - -void toResultPie::stop(void) -{ - if (Started) - { - try - { - disconnect(timer(), SIGNAL(timeout()), this, SLOT(refresh())); - } - TOCATCH - Started = false; - } -} - -void toResultPie::query(const QString &sql, const toQueryParams ¶m) -{ - if (!handled() || Query) - return ; - - start(); - if (!setSQLParams(sql, param)) - return ; - - try - { - Query = new toEventQuery(this, connection(), sql, param, toEventQuery::READ_ALL); - connect(Query, SIGNAL(dataAvailable()), this, SLOT(poll())); - connect(Query, SIGNAL(done()), this, SLOT(queryDone())); - Query->start(); - } - TOCATCH -} - -void toResultPie::poll(void) -{ - try - { - if (Query) - { - if (!Columns) - Columns = Query->describe().size(); - while (Query->hasMore()) - { - QString val; - QString lab; - if (Columns > 1) - { - if (LabelFirst) - { - lab = Query->readValue(); - val = Query->readValue(); - } - else - { - val = Query->readValue(); - lab = Query->readValue(); - } - for (int i = 2; i < Columns; i++) - Query->readValue(); - } - else - val = Query->readValue(); - if (!Filter.isEmpty() && !Filter.exactMatch(lab)) - continue; - if (!ValueFilter.isEmpty() && !ValueFilter.exactMatch(val)) - continue; - Values.insert(Values.end(), val.toDouble()); - if (Columns > 1) - Labels.insert(Labels.end(), lab); - } - } - } - catch (const QString &exc) - { - delete Query; - Query = NULL; - Utils::toStatusMessage(exc); - } -} - -void toResultPie::queryDone(void) -{ - setValues(Values, Labels); - Values.clear(); - Labels.clear(); - delete Query; - Query = NULL; - Columns = 0; -} // queryDone Deleted: branches/tora3/src/core/toresultpie.h =================================================================== --- branches/tora3/src/core/toresultpie.h 2013-02-25 21:08:46 UTC (rev 4593) +++ branches/tora3/src/core/toresultpie.h 2013-02-25 21:56:20 UTC (rev 4594) @@ -1,200 +0,0 @@ - -/* BEGIN_COMMON_COPYRIGHT_HEADER - * - * TOra - An Oracle Toolkit for DBA's and developers - * - * Shared/mixed copyright is held throughout files in this product - * - * Portions Copyright (C) 2000-2001 Underscore AB - * Portions Copyright (C) 2003-2005 Quest Software, Inc. - * Portions Copyright (C) 2004-2009 Numerous Other Contributors - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; only version 2 of - * the License is valid for this program. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * As a special exception, you have permission to link this program - * with the Oracle Client libraries and distribute executables, as long - * as you follow the requirements of the GNU GPL in regard to all of the - * software in the executable aside from Oracle client libraries. - * - * Specifically you are not permitted to link this program with the - * Qt/UNIX, Qt/Windows or Qt Non Commercial products of TrollTech. - * And you are not permitted to distribute binaries compiled against - * these libraries. - * - * You may link this product with any GPL'd Qt library. - * - * All trademarks belong to their respective owners. - * - * END_COMMON_COPYRIGHT_HEADER */ - -#ifndef TORESULTPIE_H -#define TORESULTPIE_H - -#include "core/topiechart.h" -#include "core/toresult.h" - -#include <list> - -#include <QRegExp> - -class toEventQuery; -class toSQL; - -/** Display the result of a query in a piechart. The first column of the query should - * contain the value and the second should contain an optional label. - */ -class toResultPie : public toPieChart, public toResult -{ - Q_OBJECT; -public: - /** Create widget. - * @param parent Parent of list. - * @param name Name of widget. - */ - toResultPie(QWidget *parent, const char *name = NULL); - - /** Reimplemented for internal reasons. - */ - virtual void query(const QString &sql, const toQueryParams ¶ms); - virtual bool canHandle(toConnection &) - { - return true; - } - - /** Stop automatic updating from tool timer. - */ - void stop(); - /** Start automatic updating from tool timer. - */ - void start(); - - /** Indicate that the first column should be the label. - */ - void setLabelFirst(bool first) - { - LabelFirst = first; - } - /** Check label first status. - */ - bool labelFirst(void) - { - return LabelFirst; - } - /** Set a filter on which columns to add based on label. - * @param filter A regexp which the label must match. - * @param valueFilter A regexp which the value must match. - */ - void setFilter(const QRegExp &filter, const QRegExp &valueFilter) - { - Filter = filter; - ValueFilter = valueFilter; - } - /** Get the current filter. - */ - const QRegExp &filter(void) - { - return Filter; - } - /** Get the current value filter. - */ - const QRegExp &valueFilter(void) - { - return ValueFilter; - } - - // Why are these needed? -#if 0 - /** Set the SQL statement of this list - * @param sql String containing statement. - */ - void setSQL(const QString &sql) - { - toResult::setSQL(sql); - } - /** Set the SQL statement of this list. This will also affect @ref Name. - * @param sql SQL containing statement. - */ - void setSQL(const toSQL &sql) - { - toResult::setSQL(sql); - } - /** Set new SQL and run query. - * @param sql New sql. - * @see setSQL - */ - void query(const QString &sql) - { - toResult::query(sql); - } - /** Set new SQL and run query. - * @param sql New sql. - * @see setSQL - */ - void query(const toSQL &sql) - { - toResult::query(sql); - } - /** Set new SQL and run query. - * @param sql New sql. - * @see setSQL - */ - void query(const toSQL &sql, toQList &par) - { - toResult::query(sql, par); - } - -public slots: - /** Reimplemented for internal reasons. - */ - virtual void refresh(void) - { - toResult::refresh(); - } - /** Reimplemented for internal reasons. - */ - virtual void executeWithParams(const QString &Param1) - { - toResult::executeWithParams(Param1); - } - /** Reimplemented For internal reasons. - */ - virtual void executeWithParams(const QString &Param1, const QString &Param2) - { - toResult::executeWithParams(Param1, Param2); - } - /** Reimplemented for internal reasons. - */ - virtual void executeWithParams(const QString &Param1, const QString &Param2, const QString &Param3) - { - toResult::executeWithParams(Param1, Param2, Param3); - } -#endif - -private slots: - void poll(void); - void queryDone(void); - -private: - toEventQuery *Query; - std::list<QString> Labels; - std::list<double> Values; - int Columns; - bool Started; - bool LabelFirst; - QRegExp Filter; - QRegExp ValueFilter; -}; - -#endif Copied: branches/tora3/src/obsolete/debug/todebug.cpp (from rev 4592, branches/tora3/src/todebug.cpp) =================================================================== --- branches/tora3/src/obsolete/debug/todebug.cpp (rev 0) +++ branches/tora3/src/obsolete/debug/todebug.cpp 2013-02-25 21:56:20 UTC (rev 4594) @@ -0,0 +1,3470 @@ + +/* BEGIN_COMMON_COPYRIGHT_HEADER + * + * TOra - An Oracle Toolkit for DBA's and developers + * + * Shared/mixed copyright is held throughout files in this product + * + * Portions Copyright (C) 2000-2001 Underscore AB + * Portions Copyright (C) 2003-2005 Quest Software, Inc. + * Portions Copyright (C) 2004-2008 Numerous Other Contributors + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; only version 2 of + * the License is valid for this program. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * As a special exception, you have permission to link this program + * with the Oracle Client libraries and distribute executables, as long + * as you follow the requirements of the GNU GPL in regard to all of the + * software in the executable aside from Oracle client libraries. + * + * Specifically you are not permitted to link this program with the + * Qt/UNIX, Qt/Windows or Qt Non Commercial products of TrollTech. + * And you are not permitted to distribute binaries compiled against + * these libraries. + * + * You may link this product with any GPL'd Qt library. + * + * All trademarks belong to their respective owners. + * + * END_COMMON_COPYRIGHT_HEADER */ + +#include <QtDebug> +#include "todebug.h" + +#include "core/utils.h" +#include "core/toconf.h" + +#include "todebugtext.h" +#include "core/tohelp.h" +#include "editor/tohighlightedtext.h" +#include "editor/tomarkedtext.h" +#include "core/tomain.h" +#include "tools/tooutput.h" +#include "core/toparamget.h" +#include "core/toresultview.h" +#include "core/toresultschema.h" +#include "core/tosql.h" +#include "core/toquery.h" +#include "core/tosqlparse.h" +#include "core/totool.h" +#include "tocodemodel.h" + +#include "ui_todebugchangeui.h" + +#include <cstdio> +#include <stack> + +#include <QCheckBox> +#include <QLabel> +#include <QRegExp> +#include <QSizePolicy> +#include <QSplitter> +#include <QTabWidget> +#include <QToolBar> +#include <QToolButton> +#include <QPixmap> +#include <QList> +#include <QString> +#include <QMenu> +#include <QAction> +#include <QMdiArea> +#include <QMessageBox> +#include <QButtonGroup> +#include <QTreeView> + +#include "icons/addwatch.xpm" +#include "icons/changewatch.xpm" +#include "icons/close.xpm" +#include "icons/compile.xpm" +#include "icons/delwatch.xpm" +#include "icons/enablebreak.xpm" +#include "icons/execute.xpm" +#include "icons/nextbug.xpm" +#include "icons/prevbug.xpm" +#include "icons/refresh.xpm" +#include "icons/returnfrom.xpm" +#include "icons/scansource.xpm" +#include "icons/stepinto.xpm" +#include "icons/stepover.xpm" +#include "icons/stop.xpm" +#include "icons/todebug.xpm" +#include "icons/togglebreak.xpm" +#include "icons/toworksheet.xpm" + +#ifdef DEBUG +// Performs standard Oracle debugger selfcheck: +// debug package existance, version, pipe health etc. +// This is required in order not to debug debugger when +// the problem is in Oracle database itself. +static toSQL SQLDebugSelfCheck("toDebug:SelfCheck", + "DECLARE\n" + " error_message VARCHAR2(1000);\n" + "BEGIN\n" + " SYS.DBMS_DEBUG.SELF_CHECK;\n" + " SELECT 'OK' INTO :line<char[101],out> FROM sys.DUAL;\n" + "EXCEPTION WHEN OTHERS THEN\n" + " error_message := sqlerrm;\n" + " SELECT error_message INTO :line<char[101],out> FROM sys.DUAL;\n" + "END;", + "Perform Self-check of debugging system"); +#endif + +class toDebugTool : public toTool +{ + std::map<toConnection *, QWidget *> Windows; + + virtual const char **pictureXPM(void) + { + return const_cast<const char**>(todebug_xpm); + } +public: + toDebugTool() + : toTool(110, "PL/SQL Debugger") + { } + virtual const char *menuItem() + { + return "PL/SQL Debugger"; + } + // This one is called then Debug Tool is being launched by TOra user + virtual QWidget *toolWindow(QWidget *parent, toConnection &connection) + { +#ifdef DEBUG + // perform self-check (should probably display scary message and close if this test fails) + toQuery selfCheck(connection, SQLDebugSelfCheck); + QString str = selfCheck.readValue(); + qDebug() << "DBMS_DEBUG.SELF_CHECK result: " << str; +#endif + + // Only one Debug Tool window is allowed per connection. + // Therefore if Debug Tool is being launched for a connection with an already + // opened Debug window - that window is activated instead of opening a new one. + std::map<toConnection *, QWidget *>::iterator i = Windows.find(&connection); + if (i != Windows.end()) + { + (*i).second->raise(); + (*i).second->setFocus(); + return NULL; + } + else + { + QWidget *window = new toDebug(parent, connection); + Windows[&connection] = window; + return window; + } + } // toolWindow + + void closeWindow(toConnection &connection) + { + std::map<toConnection *, QWidget *>::iterator i = Windows.find(&connection); + if (i != Windows.end()) + Windows.erase(i); + } + virtual bool canHandle(toConnection &conn) + { + // Debug Tool is only available for Oracle DB + if (!toIsOracle(conn)) + { + return false; + } +#if 1 + // Only Oracle DB version 8 and above can handle debugging of plsql code + QString version = conn.version(); + if (version.left(version.indexOf('.')).toInt() < 8) + { + return false; + } +#endif + return true; + } +}; // class toDebugTool + +static toDebugTool DebugTool; + +// A class for a Watch dialog (adding/modifying a watch) +toDebugWatch::toDebugWatch(toDebug *parent) + : QDialog(parent), Debugger(parent) +{ + setupUi(this); + setModal(true); + + toHelp::connectDialog(this); + { + int curline, curcol; + Debugger->currentEditor()->getCursorPosition (&curline, &curcol); + Default = Debugger->currentEditor()->text(curline); + while (curcol > 0 && toIsIdent(Default[curcol - 1])) + curcol--; + while (curcol < int(Default.length()) && !toIsIdent(Default[curcol])) + curcol++; + Default.replace(0, curcol, QString::null); + curcol = 1; + while (curcol < int(Default.length()) && toIsIdent(Default[curcol])) + curcol++; + Default = Default.left(curcol); + } + + Object = Debugger->currentEditor()->object(); + + ScopeGroup = new QButtonGroup(Scope); + ScopeGroup->addButton(LocalScope_2, 1); + ScopeGroup->addButton(LocalScope, 2); + ScopeGroup->addButton(Package, 3); + ScopeGroup->addButton(GlobalScope, 4); + + connect(ScopeGroup, + SIGNAL(buttonClicked(int)), + this, + SLOT(changeScope(int))); + changeScope(1); +} // toDebugWatch::toDebugWatch + +void toDebugWatch::changeScope(int num) +{ + switch (num) + { + default: + Name->clear(); + Name->addItem(Default); + break; + case 4: + { + Name->clear(); + QString str = Debugger->currentEditor()->schema(); + str += QString::fromLatin1("."); + if (!Object.isEmpty()) + { + str += Object; + str += QString::fromLatin1("."); + } + str += Default; + Name->addItem(str); + } + break; + } +} // toDebugWatch::changeScope + +toTreeWidgetItem *toDebugWatch::createWatch(toTreeWidget *watches) +{ + QString str; + switch (ScopeGroup->checkedId()) + { + case 1: + case 5: + { + toResultViewItem *item = new toResultViewItem(watches, NULL); + item->setText(0, QString::null); + item->setText(1, QString::null); + item->setText(2, Name->currentText()); + item->setText(3, QString::null); + item->setText(4, QString::fromLatin1("NOCHANGE")); + item->setText(6, ScopeGroup->checkedId() == 5 ? "AUTO" : ""); + return item; + } + case 3: + str = Debugger->currentEditor()->schema(); + str += QString::fromLatin1("."); + str += Debugger->currentEditor()->object(); + str += QString::fromLatin1("."); + str += Name->currentText(); + break; + case 4: + str = Name->currentText(); + break; + } + QString schema; + QString object; + QString name; + int pos = str.indexOf(QString::fromLatin1(".")); + if (pos > 0) + { + schema = str.left(pos); + str.remove(0, pos + 1); + } + else + { + toStatusMessage(tr("Can't parse location")); + return NULL; + } + pos = str.indexOf(QString::fromLatin1(".")); + if (pos > 0) + { + object = str.left(pos); + str.remove(0, pos + 1); + } + toResultViewItem *item = new toResultViewItem(watches, NULL); + item->setText(0, schema); + item->setText(1, object); + item->setText(2, str); + item->setText(3, QString::null); + item->setText(4, QString::fromLatin1("NOCHANGE")); + return item; +} // toDebugWatch::createWatch + +static toSQL SQLDebugOutputPoll("toDebugOutput:Poll", + "DECLARE\n" + " coll sys.dbms_debug_vc2coll;\n" + " ret INTEGER;\n" + " i INTEGER;\n" + " line VARCHAR2(100);\n" + " errm VARCHAR2(100);\n" + "BEGIN\n" + " SYS.DBMS_DEBUG.EXECUTE('DECLARE '||\n" + " ' pp SYS.dbms_debug_vc2coll := SYS.dbms_debug_vc2coll(); '||\n" + " ' line VARCHAR2(100); '||\n" + " ' ret INTEGER; '||\n" + " 'BEGIN '||\n" + " ' SYS.DBMS_OUTPUT.GET_LINE(line,ret); '||\n" + " ' pp.EXTEND(2); '||\n" + " ' pp(1):=ret; '||\n" + " ' pp(2):=line; '||\n" + " ' :1 := pp; '||\n" + " 'END;',\n" + " -1,\n" + " 1,\n" + " coll,\n" + " line);\n" + " i:=coll.first;\n" + " IF i IS NOT NULL THEN\n" + " ret:=coll(i);\n" + " IF ret = 0 THEN\n" + " i:=coll.next(i);\n" + " line:=coll(i);\n" + " ELSE\n" + " line:='';\n" + " END IF;\n" + " ELSE\n" + " ret:=1;\n" + " END IF;\n" + " SELECT ret,line INTO :ret<int,out>,:line<char[101],out> FROM sys.DUAL;\n" + "END;", + "Poll for output in the debug session, must have same bindings"); +static toSQL SQLDebugOutputDisable("toDebugOutput:Disable", + "DECLARE\n" + " coll sys.dbms_debug_vc2coll;\n" + " errm VARCHAR2(100);\n" + "BEGIN\n" + " SYS.DBMS_DEBUG.EXECUTE('BEGIN SYS.DBMS_OUTPUT.DISABLE; END;',\n" + " -1,\n" + " 0,\n" + " coll,\n" + " errm);\n" + "END;", + "Disable output in the debug session"); +static toSQL SQLDebugOutputEnable("toDebugOutput:Enable", + "DECLARE\n" + " coll sys.dbms_debug_vc2coll;\n" + " errm VARCHAR2(100);\n" + "BEGIN\n" + " SYS.DBMS_DEBUG.EXECUTE('BEGIN SYS.DBMS_OUTPUT.ENABLE; END;',\n" + " -1,\n" + " 0,\n" + " coll,\n" + " errm);\n" + "END;", + "Enable output in the debug session"); + +// Class handling output from target session +// Note: as this one is inherited from toOutput - by default it will be refreshing +// (calling refresh(void) every N seconds (as specified in TOra preference). +// As this makes no sense when debugging is stopped this refresh timer has to be +// adjusted when starting/stopping debugging. +class toDebugOutput : public toOutput +{ + toDebug *Debugger; + // A specific debug session, the only one having target session attached. + // Attempts to call output functions from any other session will fail. + toQuery * outputSession; + +public: + toDebugOutput(toDebug *debug, QWidget *parent, toConnection &conn, toQuery *query) + : toOutput(parent, conn), Debugger(debug) + { + outputSession = query; // One specific oracle session must be used. + } + + virtual void refresh(void) + { + if (Debugger->isRunning() && enabled()) + { + try + { + int ret = -1; + do + { + outputSession->execute(SQLDebugOutputPoll); + ret = outputSession->readValue().toInt(); + QString str = outputSession->readValue(); + if (ret == 0 || str.length()) + insertLine(str); + } + while (ret == 0); + } + TOCATCH + } + } // refresh + + virtual void disable(bool dis) + { +#ifdef DEBUG + if (dis) qDebug() << "toDebugOutput::disable DISABLE!"; + else qDebug() << "toDebugOutput::disable ENABLE!"; +#endif + if (Debugger->isRunning()) + { + try + { + if (dis) + outputSession->execute(SQLDebugOutputDisable); + else + outputSession->execute(SQLDebugOutputEnable); + } +// catch (...) + catch (const QString &exc) + { + toStatusMessage(qApp->translate( + "toDebugOutput", + "Couldn't enable/disable output for session")); + } + } + } // disable + + virtual void closeEvent(QCloseEvent *event) + { + toOutput::closeEvent(event); + } +}; // class toDebugOutput + +#ifdef DEBUG +// Get text version from error/return/reason code returned by DBMS_DEBUG routines +// Used for debug purposes +// type: 1 - error, 2 - reason, 3 - continue +void toDebug::getErrorText(int code, int type, QString &ret) +{ + if (type == 1) // error codes + { + switch (code) + { + case TO_SUCCESS: + ret = "SUCCESS"; + break; + case TO_NO_SUCH_BREAKPOINT: + ret = "NO_SUCH_BREAKPOINT"; + break; + case TO_ERROR_NO_DEBUG_INFO: + ret = "ERROR_NO_DEBUG_INFO"; + break; + case TO_ERROR_ILLEGAL_LINE: + ret = "ERROR_ILLEGAL_LINE"; + break; + case TO_ERROR_BAD_HANDLE: + ret = "ERROR_BAD_HANDLE"; + break; + case TO_ERROR_UNIMPLEMENTED: + ret = "ERROR_UNIMPLEMENTED"; + break; + case TO_ERROR_TIMEOUT: + ret = "ERROR_TIMEOUT"; + break; + case TO_ERROR_NULLVALUE: + ret = "ERROR_NULLVALUE"; + break; + case TO_ERROR_NULLCOLLECTION: + ret = "ERROR_NULLCOLLECTION"; + break; + case TO_ERROR_INDEX_TABLE: + ret = "ERROR_INDEX_TABLE"; + break; + case TO_ERROR_DEFERRED: + ret = "ERROR_DEFERRED"; + break; + case TO_ERROR_EXCEPTION: + ret = "ERROR_EXCEPTION"; + break; + case TO_ERROR_COMMUNICATION: + ret = "ERROR_COMMUNICATION"; + break; + default: + ret = "UNKNOWN ERROR CODE " + code; + } // switch + } + else if (type == 2) // reason codes + { + switch (code) + { + case TO_REASON_WHATEVER: + ret = "TO_REASON_WHATEVER (0)"; + break; + case TO_REASON_STARTING: + ret = "TO_REASON_STARTING (2)"; + break; + case TO_REASON_BREAKPOINT: + ret = "TO_REASON_BREAKPOINT (3)"; + break; + case TO_REASON_ENTER: + ret = "TO_REASON_ENTER (6)"; + break; + case TO_REASON_RETURN: + ret = "TO_REASON_RETURN (7)"; + break; + case TO_REASON_FINISH: + ret = "TO_REASON_FINISH (8)"; + break; + case TO_REASON_LINE: + ret = "TO_REASON_LINE (9)"; + break; + case TO_REASON_EXIT: + ret = "TO_REASON_EXIT (15)"; + break; + case TO_REASON_TIMEOUT: + ret = "TO_REASON_TIMEOUT (17)"; + break; + case TO_REASON_KNL_EXIT: + ret = "TO_REASON_KNL_EXIT (25)"; + break; + case TO_REASON_NO_SESSION: + ret = "TO_REASON_NO_SESSION (-1)"; + break; + default: + ret = "UNKNOWN REASON CODE " + QString(code); + } + } + else if (type == 3) // continue code + { + switch (code) + { + case TO_BREAK_ANY_CALL: + ret = "TO_BREAK_ANY_CALL (12)"; + break; + case TO_BREAK_NEXT_LINE: + ret = "TO_BREAK_NEXT_LINE (32)"; + break; + case TO_ABORT_EXECUTION: + ret = "TO_ABORT_EXECUTION (8192)"; + break; + default: + ret = "UNKOWN CONTINUE CODE " + code; + } + } + else ret = "ERROR! Unknown type " + type; +} // getTextVersion +#endif + +bool toDebug::isRunning(void) +{ + toLocker lock (Lock); + return RunningTarget; +} + +// TODO: PLSQL_DEBUG is deprecated, PLSQL_OPTIMIZE_LEVEL=1 should be used instead +// Should be analysed which OracleDB versions support this new way. +static toSQL SQLDebugEnable("toDebug:EnableDebug", +// "ALTER SESSION SET PLSQL_DEBUG = TRUE", + "ALTER SESSION SET PLSQL_OPTIMIZE_LEVEL = 1", + "Enable PL/SQL debugging"); + +static toSQL SQLDebugInit("toDebug:Initialize", + "DECLARE\n" + " ret VARCHAR2(200);\n" + "BEGIN\n" + " ret:=SYS.DBMS_DEBUG.INITIALIZE;\n" + " SELECT ret INTO :f2<char[201],out> FROM sys.DUAL;\n" + "END;", + "Initialize the debug session, must have same bindings"); + +static toSQL SQLDebugOn("toDebug:DebugOn", + "BEGIN\n" + " SYS.DBMS_DEBUG.DEBUG_ON;\n" + "END;\n", + "Switch on debugging mode"); + +static toSQL SQLDebugOff("toDebug:DebugOff", + "BEGIN\n" + " SYS.DBMS_DEBUG.DEBUG_OFF;\n" + "END;\n", + "Switch off debugging mode"); + + +// Target session running in a separate thread +void toDebug::targetTask::run(void) +{ +//qDebug() << "toDebug::targetTask::run"; + bool debugModeOn = false; // is debug mode switched on in target session? + try + { + // Create a target session using parameters of a current "debug" connection + toQuery * targetSession = new toQuery(Parent.connection()); + // give pointer of target session to main debug session so that it can cancell + // this query if/when user presses "stop" button + Parent.TargetQuery = targetSession; + try + { +#ifdef DEBUG + qDebug() << "toDebug::targetTask::run ALTER SESSION SET PLSQL_OPTIMIZE_LEVEL = 1"; +#endif + targetSession->execute(SQLDebugEnable); + } + catch (...) + { + toLocker lock (Parent.Lock); + Parent.TargetLog += QString::fromLatin1("Couldn't enable debugging for target session\n"); + } + try + { +#ifdef DEBUG + qDebug() << "toDebug::targetTask::run DBMS_DEBUG.INITIALIZE"; +#endif + targetSession->execute(SQLDebugInit); + // can't use moc from nested class + QMetaObject::invokeMethod(&Parent, + "enableDebugger", + Qt::QueuedConnection, + Q_ARG(bool, true)); + + toLocker lock (Parent.Lock); + Parent.DebuggerStarted = true; + Parent.TargetID = targetSession->readValue(); + Parent.TargetLog += QString::fromLatin1("Debug session connected\n"); + Parent.ChildSemaphore.up(); // resume main TOra thread + } + catch (const QString &exc) + { + QMetaObject::invokeMethod(&Parent, + "enableDebugger", + Qt::QueuedConnection, + Q_ARG(bool, false)); + + toLocker lock (Parent.Lock); + Parent.TargetLog += QString::fromLatin1("Couldn't start debugging:"); + Parent.TargetLog += exc; + Parent.DebuggerStarted = false; + Parent.ChildSemaphore.up(); // resume main TOra thread + delete targetSession; + return; + } + + // Do not show "busy" cursor for target task as it will be running/suspended + // until the code is finished or until a user stops debugging + targetSession->setShowBusy(false); + + while (1) // this will loop until target thread is required (while debugger tool is running) + { + { + toLocker lock (Parent.Lock); + Parent.RunningTarget = false; + } +#ifdef DEBUG + qDebug() << "toDebug::targetTask::run sleep until TargetSemaphore goes up"; +#endif + Parent.TargetSemaphore.down(); +#ifdef DEBUG + qDebug() << "toDebug::targetTask::run TargetSemaphore up! Continue!"; +#endif + + QString sql; + bool debugTarget; + toQList inParams; + toQList outParams; + { + toLocker lock (Parent.Lock); + Parent.RunningTarget = true; + sql = Parent.TargetSQL; + debugTarget = Parent.DebugTarget; + Parent.TargetSQL = ""; +#ifdef DEBUG + qDebug() << "toDebug::targetTask::run Target now RUNNING! Got sql to execute/debug: " << sql; +#endif + inParams = Parent.InputData; + Parent.InputData.clear(); // To make sure data is not shared + Parent.OutputData.clear(); + } + + // Target thread is closed when empty sql is given to be executed + if (sql.isEmpty()) + break; + + try + { + Parent.Lock.lock(); + Parent.TargetLog += QString::fromLatin1("Executing SQL\n"); + Parent.Lock.unlock(); + + Parent.ChildSemaphore.up(); // resume main TOra thread + + // Check if debug mode has to be turned on (for debbuging code) + // of not (for say compilation of code in target session) + if (debugTarget && !debugModeOn) + { +#ifdef DEBUG + qDebug() << "toDebug::targetTask::run DBMS_DEBUG.DEBUG_ON"; +#endif + targetSession->execute(SQLDebugOn); + debugModeOn = true; + } + else if (!debugTarget && debugModeOn) + { +#ifdef DEBUG + qDebug() << "toDebug::targetTask::run DBMS_DEBUG.DEBUG_OFF"; +#endif + targetSession->execute(SQLDebugOff); + debugModeOn = false; + } + + // TODO: refresh timer should probably be restored to previously set + // value rather than to a default one... + Parent.Output->changeRefresh(""); // enable output refresh timer +#ifdef DEBUG + qDebug() << "toDebug::targetTask::run before execution of sql"; +#endif + outParams = targetSession->readQuery(sql, inParams); +#ifdef DEBUG + qDebug() << "toDebug::targetTask::run after execution of sql."; +#endif + } + catch (const QString &str) + { +#ifdef DEBUG + qDebug() << "toDebug::targetTask::run ERROR! catch1. str = " << str; +#endif + Parent.Lock.lock(); + Parent.TargetLog += QString::fromLatin1("Encountered error: "); + Parent.TargetLog += str; + if (!str.startsWith("ORA-06543:") && // PL/SQL: execution error - execution aborted + !str.startsWith("ORA-01013")) + Parent.TargetException += str; + Parent.TargetLog += QString::fromLatin1("\n"); + Parent.Lock.unlock(); + } + catch (...) + { +#ifdef DEBUG + qDebug() << "toDebug::targetTask::run ERROR! catch2"; +#endif + Parent.Lock.lock(); + Parent.TargetLog += QString::fromLatin1("Encountered unknown exception\n"); + Parent.TargetException += QString::fromLatin1("Encountered unknown exception\n"); + Parent.Lock.unlock(); + } + Parent.Output->changeRefresh("None"); // disable debug output refresh timer + + { + toLocker lock (Parent.Lock); + Parent.OutputData = outParams; + Parent.TargetLog += QString::fromLatin1("Execution ended\n"); + } + Parent.ChildSemaphore.up(); + } // while (1) + + // Before closing target thread switch off debug mode in target session. + // It is not mandatory to call DEBUG_OFF when ending session, but in TOra + // that oracle session could be re-used (from connection pool) for something + // else therefore debug mode must be switched off. + if (debugModeOn) + { + try + { + qDebug() << "DBMS_DEBUG.DEBUG_OFF"; + targetSession->execute(SQLDebugOff); + //targetSession->disconnect(); + } + catch (...) + { + qDebug() << "We actually excpect this to fail..."; + } + } + // TS 2010-07-10 Doesn't seem right to skipt this delete, but with it + // debugger hangs on subsequent restart of debugger during + // DBMS_DEBUG.INITIALIZE. + //targetSession->disconnect(); + //delete targetSession; + } + TOCATCH +#ifdef DEBUG + qDebug() << "toDebug::targetTask::run DONE. Finishing target session."; +#endif + toLocker lock (Parent.Lock); + Parent.DebuggerStarted = false; + Parent.RunningTarget = false; +// QMetaObject::invokeMethod(&Parent, +// "enableDebugger", +// Qt::QueuedConnection, +// Q_ARG(bool, false)); + Parent.TargetLog += QString::fromLatin1("Closing debug session\n"); + Parent.TargetThread = NULL; + Parent.ChildSemaphore.up(); // Resume main TOra thread +} + +static toTreeWidgetItem *toLastItem(toTreeWidgetItem *parent) +{ + toTreeWidgetItem *lastItem = NULL; + for (toTreeWidgetItem *item = parent->firstChild(); item; item = item->nextSibling()) + lastItem = item; + return lastItem; +} + +class toContentsItem : public toTreeWidgetItem +{ +public: + int Line; + toContentsItem(toTreeWidgetItem *parent, const QString &name, int line) + : toTreeWidgetItem(parent, toLastItem(parent), name) + { + Line = line; + } + toContentsItem(toTreeWidget *parent, const QString &name, const QString &id, int line) + : toTreeWidgetItem(parent, name, id) + { + Line = line; + } +}; + +void toDebug::reorderContent(toTreeWidgetItem *parent, int start, int diff) +{ + toTreeWidgetItem *next; + for (toTreeWidgetItem *item = parent->firstChild(); item; item = next) + { + toContentsItem * cont = dynamic_cast<toContentsItem *>(item); + next = item->nextSibling(); + bool del = false; + if (cont) + { + int line = toHighlightedText::convertLine(cont->Line, start, diff); + if (line >= 0) + cont->Line = line; + else + { + delete cont; + del = true; + } + } + if (!del && item->firstChild()) + reorderContent(item, start, diff); + } +} + +QString toDebug::editorName(const QString &schema, const QString &object, const QString &type) +{ + QString ret = connection().quote(schema) + "." + connection().quote(object); + if (type.contains("BODY")) + ret += tr(" body"); + return ret; + +} + +QString toDebug::editorName(toDebugText *text) +{ + return editorName(text->schema(), text->object(), text->type()); +} + +QString toDebug::currentSchema(void) +{ + return Schema->selected(); +} + +toTreeWidgetItem *toDebug::contents(void) +{ + return Contents->firstChild(); +} + +void toDebug::reorderContent(int start, int diff) +{ + QString name = currentEditor()->objectName(); + for (toTreeWidgetItem *item = Contents->firstChild(); item; item = item->nextSibling()) + { + if (item->text(1) == name) + reorderContent(item, start, diff); + } +} + +bool toDebug::hasMembers(const QString &str) +{ + if (str == QString::fromLatin1("PACKAGE") || str == QString::fromLatin1("PACKAGE BODY") || + str == QString::fromLatin1("TYPE") || str == QString::fromLatin1("TYPE BODY")) + return true; + else + return false; +} + +QString toDebug::constructAnonymousBlock(toTreeWidgetItem * head, toTreeWidgetItem * last) +{ + // Anonymous plsql block has to be constructed calling function/procedure + // requested for debugging and handling return value (if any). + QString curName = currentEditor()->objectName(); + toHighlightedText *current = currentEditor(); + int curline, curcol; + current->getCursorPosition (&curline, &curcol); + + bool valid = false; + int line = -1; + // Check if it is clear which procedure/function to run. This is only a question if + // package is being tested, in which case cursor must be placed on procedure/function. + if (hasMembers(currentEditor()->type())) + { + for (toTreeWidgetItem *parent = Contents->firstChild(); parent; parent = parent->nextSibling()) + { +#ifdef DEBUG + qDebug() << parent->text(1); +#endif + if (parent->text(1) == curName) + { + for (parent = parent->firstChild(); parent; parent = parent->nextSibling()) + { + toContentsItem * cont = dynamic_cast<toContentsItem *>(parent); + if (cont) + { + QString type = cont->text(0); + if (cont->Line > curline) + break; + if (cont->Line > line) + { + line = cont->Line; + if (type.startsWith("Procedure ") || type.startsWith("Function ")) + valid = true; + else + valid = false; + } + } + } + break; + } + } + } + else if (currentEditor()->type() == QString::fromLatin1("PROCEDURE") || + currentEditor()->type() == QString::fromLatin1("FUNCTION")) + { + valid = true; + line = 0; + } + + // Only procede if it is clear which procedure/function should be tested + if (valid) + { + try + { + QString token; + int level = 0; + + enum + { + beginning, + waitingEnd, + returnType, + parType, + inOut, + name, + done + } state = beginning; + + CurrentParams.clear(); + std::list<debugParam>::iterator cp = CurrentParams.begin(); + QString callName; + QString retType; + + toSQLParse::editorTokenizer tokens(current, 0, line); + + do + { + token = tokens.getToken(); + } + while (token.toUpper() == QString::fromLatin1("CREATE") || token.toUpper() == QString::fromLatin1("OR") || + token.toUpper() == QString::fromLatin1("REPLACE")); + + if (token.toUpper() != QString::fromLatin1("FUNCTION") && token.toUpper() != QString::fromLatin1("PROCEDURE")) + { + toStatusMessage(tr("Expected function or procedure, internal error")); + return QString(""); + } + do + { + token = tokens.getToken(); + if (token.isEmpty()) + { + toStatusMessage(tr("Unexpected end of declaration.")); + return QString(""); + } + if (state == returnType) + { + if (retType.isEmpty() || retType.at(retType.length() - 1) == '.' || token == QString::fromLatin1(".")) + retType += token; + else + state = done; + } + else if (token.toUpper() == QString::fromLatin1("RETURN") && level == 0) + { + state = returnType; + } + if (token == QString::fromLatin1("(")) + { + level++; + } + else if (token == QString::fromLatin1(")")) + level--; + else if (level == 1) + { + switch (state) + { + case name: + { + debugParam newPar; + CurrentParams.insert(CurrentParams.end(), newPar); + cp++; + (*cp).Name = token; + state = inOut; + break; + } + case inOut: + if (token.toUpper() == QString::fromLatin1("IN")) + { + (*cp).In = true; + break; + } + else if (token.toUpper() == QString::fromLatin1("OUT")) + { + (*cp).Out = true; + break; + } + else if (token.toUpper() == QString::fromLatin1("NOCOPY")) + break; + if (!(*cp).In && !(*cp).Out) + (*cp).In = true; + state = parType; + case parType: + if (token == QString::fromLatin1(",")) + { + state = name; + break; + } + else if (token.toUpper() == QString::fromLatin1("DEFAULT") || token == QString::fromLatin1(":=")) + { + state = waitingEnd; + break; + } + else + { + (*cp).Type += token; + } + break; + case waitingEnd: + if (token == QString::fromLatin1(",")) + state = name; + else + { + if (token[0] == '\'' && token.length() >= 2) + token = token.mid(1, token.length() - 2); + if (token.toUpper() == QString::fromLatin1("NULL")) + toParamGet::setDefault(connection(), (*cp).Name, QString::null); + else + toParamGet::setDefault(connection(), (*cp).Name, token); + } + break; + case done: + case returnType: + case beginning: + break; + } + } + else if (state == beginning) + { + callName = token; + state = name; + } + } + while (state != done && token.toUpper() != "IS" && token.toUpper() != "AS" && token != ";"); + + // construct an anonymous block calling chosen procedure/function + QChar sep = '('; + QString sql; + if (!retType.isEmpty()) + sql += QString::fromLatin1("DECLARE\n ret VARCHAR2(4000);\n"); + sql += QString::fromLatin1("BEGIN\n "); + if (!retType.isEmpty()) + sql += QString::fromLatin1("ret:="); + sql += currentEditor()->schema(); + sql += QString::fromLatin1("."); + if (hasMembers(currentEditor()->type())) + { + sql += currentEditor()->object(); + sql += QString::fromLatin1("."); + } + sql += callName; + + for (std::list<debugParam>::iterator i = CurrentParams.begin(); i != CurrentParams.end(); i++) + { + if ((*i).In) + last = new toResultViewItem(head, last, (*i).Name); + sql += sep; + sql += QString::fromLatin1(":"); + QString nam = (*i).Name; + nam.replace(QRegExp(QString::fromLatin1("[^a-zA-Z0-9]+")), QString::fromLatin1("_")); + sql += nam; + sql += QString::fromLatin1("<char["); + sql += QString::number(toConfigurationSingle::Instance().maxColSize()); + sql += QString::fromLatin1("],"); + if ((*i).In) + sql += QString::fromLatin1("in"); + if ((*i).Out) + sql += QString::fromLatin1("out"); + sql += QString::fromLatin1(">"); + sep = ','; + } + if (sep == ',') + sql += QString::fromLatin1(")"); + if (!retType.isEmpty()) + { + sql += QString::fromLatin1(";\n SELECT ret INTO :tora_int_return<char["); + sql += QString::number(toConfigurationSingle::Instance().maxColSize()); + sql += QString::fromLatin1("],out> FROM sys.DUAL"); + } + sql += QString::fromLatin1(";\nEND;"); + + return sql; + } + TOCATCH + } + else + toStatusMessage(tr("Couldn't find any function or procedure under ... [truncated message content] |
From: <ibr...@us...> - 2013-03-06 17:00:57
|
Revision: 4556 http://sourceforge.net/p/tora/code/4556 Author: ibre5041 Date: 2013-03-06 17:00:30 +0000 (Wed, 06 Mar 2013) Log Message: ----------- Merge with the old SourceForge repository URL: https://tora.svn.sourceforge.net/svnroot/tora/branches/tora3 Repository Root: https://tora.svn.sourceforge.net/svnroot/tora Repository UUID: 4bbdd057-bc0d-0410-af73-cf245c4b1aeb Revision: 4600 Node Kind: directory Schedule: normal Last Changed Author: ibre5041 Last Changed Rev: 4599 Last Changed Date: 2013-03-05 15:54:21 +0100 (Tue, 05 Mar 2013) Modified Paths: -------------- branches/tora3/README.CMAKE branches/tora3/README.LAYOUT branches/tora3/README.WINDOWS branches/tora3/extlibs/trotl/src/README branches/tora3/extlibs/trotl/src/trotl_error.cpp branches/tora3/extlibs/trotl/src/trotl_error.h branches/tora3/extlibs/trotl/src/trotl_handle.h branches/tora3/src/CMakeLists.txt branches/tora3/src/connection/tooracleconnection.cpp branches/tora3/src/connection/tooracledatatype.h branches/tora3/src/connection/tooraclefind.cpp branches/tora3/src/connection/tooracleprovider.cpp branches/tora3/src/connection/tooraclequery.cpp branches/tora3/src/connection/tooraclesetting.cpp branches/tora3/src/connection/tooracletraits.cpp branches/tora3/src/connection/toqmysqlsetting.cpp branches/tora3/src/core/main.cpp branches/tora3/src/core/tobackground.cpp branches/tora3/src/core/tobackground.h branches/tora3/src/core/tobackgroundlabel.cpp branches/tora3/src/core/tobackgroundlabel.h branches/tora3/src/core/tobarchart.cpp branches/tora3/src/core/tobrowserbasewidget.cpp branches/tora3/src/core/tocache.cpp branches/tora3/src/core/tochangeconnection.cpp branches/tora3/src/core/tocodemodel.cpp branches/tora3/src/core/toconnection.cpp branches/tora3/src/core/toconnectionprovider.h branches/tora3/src/core/toconnectionsub.h branches/tora3/src/core/todocklet.cpp branches/tora3/src/core/toeditmenu.h branches/tora3/src/core/toeditwidget.cpp branches/tora3/src/core/toeditwidget.h branches/tora3/src/core/toeventquery.cpp branches/tora3/src/core/toglobalsetting.cpp branches/tora3/src/core/toglobalsetting.h branches/tora3/src/core/tohelp.cpp branches/tora3/src/core/tohelp.h branches/tora3/src/core/tohelpsetup.cpp branches/tora3/src/core/tohelpsetup.h branches/tora3/src/core/tohtml.cpp branches/tora3/src/core/tolinechart.cpp branches/tora3/src/core/tolinechart.h branches/tora3/src/core/tomain.cpp branches/tora3/src/core/tomain.h branches/tora3/src/core/tomainwindow.cpp branches/tora3/src/core/tomainwindow.h branches/tora3/src/core/tomemoeditor.cpp branches/tora3/src/core/tomessage.h branches/tora3/src/core/tomodeleditor.cpp branches/tora3/src/core/tonewconnection.cpp branches/tora3/src/core/tonewconnection.h branches/tora3/src/core/topreferences.cpp branches/tora3/src/core/toresult.cpp branches/tora3/src/core/toresultbar.cpp branches/tora3/src/core/toresultcombo.cpp branches/tora3/src/core/toresultextract.cpp branches/tora3/src/core/toresultextract.h branches/tora3/src/core/toresultfield.cpp branches/tora3/src/core/toresultfield.h branches/tora3/src/core/toresultitem.cpp branches/tora3/src/core/toresultline.cpp branches/tora3/src/core/toresultlong.cpp branches/tora3/src/core/toresultplan.cpp branches/tora3/src/core/toresultplan.h branches/tora3/src/core/toresultschema.cpp branches/tora3/src/core/toresulttableview.cpp branches/tora3/src/core/toresulttableview.h branches/tora3/src/core/toresulttableviewedit.cpp branches/tora3/src/core/toresultview.cpp branches/tora3/src/core/toresultview.h branches/tora3/src/core/tosyntaxsetup.cpp branches/tora3/src/core/tosyntaxsetup.h branches/tora3/src/core/totableselect.cpp branches/tora3/src/core/totabwidget.h branches/tora3/src/core/totextview.cpp branches/tora3/src/core/totextview.h branches/tora3/src/core/totool.cpp branches/tora3/src/core/totool.h branches/tora3/src/core/toworkspace.cpp branches/tora3/src/core/toworkspace.h branches/tora3/src/core/utils.cpp branches/tora3/src/core/utils.h branches/tora3/src/docklets/tologging.h branches/tora3/src/docklets/toviewconnections.cpp branches/tora3/src/docklets/toviewconnections.h branches/tora3/src/docklets/toviewdirectory.cpp branches/tora3/src/docklets/toviewdirectory.h branches/tora3/src/editor/toeditorbase.cpp branches/tora3/src/editor/toeditorbase.h branches/tora3/src/editor/tohighlightedtext.h branches/tora3/src/editor/tohighlightedtexteditor.cpp branches/tora3/src/editor/tohighlightedtexteditor.h branches/tora3/src/editor/tomarkedtext.h branches/tora3/src/editor/tomarkedtexteditor.cpp branches/tora3/src/editor/tomarkedtexteditor.h branches/tora3/src/editor/tosearchreplace.cpp branches/tora3/src/editor/tosearchreplace.h branches/tora3/src/tests/test1.cpp branches/tora3/src/tests/test3.cpp branches/tora3/src/tests/test3window.cpp branches/tora3/src/tests/test3window.h branches/tora3/src/tools/toalert.cpp branches/tora3/src/tools/toanalyze.cpp branches/tora3/src/tools/tobackup.cpp branches/tora3/src/tools/tobrowser.cpp branches/tora3/src/tools/tobrowser.h branches/tora3/src/tools/tobrowserschemawidget.cpp branches/tora3/src/tools/tobrowserschemawidget.h branches/tora3/src/tools/tobrowsertablewidget.cpp branches/tora3/src/tools/tobrowsertablewidget.h branches/tora3/src/tools/tocurrent.cpp branches/tora3/src/tools/tooutput.cpp branches/tora3/src/tools/toprofiler.cpp branches/tora3/src/tools/toprofiler.h branches/tora3/src/tools/toresultstorage.cpp branches/tora3/src/tools/toresultstorage.h branches/tora3/src/tools/torollback.cpp branches/tora3/src/tools/tosandboxtool.cpp branches/tora3/src/tools/toscript.cpp branches/tora3/src/tools/toscriptschemawidget.cpp branches/tora3/src/tools/toscriptschemawidget.h branches/tora3/src/tools/toscripttreeitem.cpp branches/tora3/src/tools/toscripttreeitem.h branches/tora3/src/tools/toscripttreemodel.cpp branches/tora3/src/tools/toscripttreemodel.h branches/tora3/src/tools/tosecurity.cpp branches/tora3/src/tools/tosecuritytreemodel.cpp branches/tora3/src/tools/tosession.cpp branches/tora3/src/tools/tosession.h branches/tora3/src/tools/tosgastatement.cpp branches/tora3/src/tools/tosgatrace.cpp branches/tora3/src/tools/tosqledit.cpp branches/tora3/src/tools/tostorage.cpp branches/tora3/src/tools/totemporary.cpp branches/tora3/src/tools/totemporary.h branches/tora3/src/tools/totuning.cpp branches/tora3/src/tools/tounittest.cpp branches/tora3/src/tools/tounittest.h branches/tora3/src/tools/towaitevents.cpp branches/tora3/src/tools/toworksheet.cpp branches/tora3/src/tools/toworksheet.h branches/tora3/src/tools/toworksheetstatistic.cpp branches/tora3/src/ts_log/toostream.h Added Paths: ----------- branches/tora3/src/core/toglobalevent.cpp branches/tora3/src/core/toglobalevent.h branches/tora3/src/editor/tocustomlexer.cpp branches/tora3/src/editor/tocustomlexer.h branches/tora3/src/editor/toeditglobals.h branches/tora3/src/icons/lockconnection.xpm branches/tora3/src/obsolete/debug/ branches/tora3/src/obsolete/debug/todebug.cpp branches/tora3/src/obsolete/debug/todebug.h branches/tora3/src/obsolete/debug/todebugchangeui.ui branches/tora3/src/obsolete/debug/todebugtext.cpp branches/tora3/src/obsolete/debug/todebugtext.h branches/tora3/src/obsolete/debug/todebugwatch.ui branches/tora3/src/obsolete/dummyoci/toociwrapper.h branches/tora3/src/obsolete/plsqleditor/ branches/tora3/src/obsolete/plsqleditor/toeditextensiongotoui.ui branches/tora3/src/obsolete/plsqleditor/toeditextensions.cpp branches/tora3/src/obsolete/plsqleditor/toeditextensions.h branches/tora3/src/obsolete/plsqleditor/toeditextensionsetupui.ui branches/tora3/src/obsolete/plsqleditor/toplsqleditor.cpp branches/tora3/src/obsolete/plsqleditor/toplsqleditor.h branches/tora3/src/obsolete/plsqleditor/toplsqltext.cpp branches/tora3/src/obsolete/plsqleditor/toplsqltext.h branches/tora3/src/obsolete/scheduler/ branches/tora3/src/obsolete/scheduler/toscheduler.cpp branches/tora3/src/obsolete/scheduler/toscheduler.h branches/tora3/src/obsolete/scheduler/toschedulerui.ui branches/tora3/src/obsolete/template/ branches/tora3/src/obsolete/template/toproject.cpp branches/tora3/src/obsolete/template/toproject.h branches/tora3/src/obsolete/template/totemplate.cpp branches/tora3/src/obsolete/template/totemplate.h branches/tora3/src/obsolete/template/totemplateaddfileui.ui branches/tora3/src/obsolete/template/totemplateeditui.ui branches/tora3/src/obsolete/template/totemplateprovider.cpp branches/tora3/src/obsolete/template/totemplatesetupui.ui branches/tora3/src/obsolete/toextratranslations.cpp branches/tora3/src/obsolete/tora.pro branches/tora3/src/obsolete/toreport.cpp branches/tora3/src/obsolete/toreport.h branches/tora3/src/obsolete/toresultpie.cpp branches/tora3/src/obsolete/toresultpie.h branches/tora3/src/obsolete/toworksheetwidget.cpp branches/tora3/src/obsolete/toworksheetwidget.h branches/tora3/src/tests/test4.cpp branches/tora3/src/tests/test4ui.ui branches/tora3/src/tests/test4window.cpp branches/tora3/src/tests/test4window.h branches/tora3/utils/qt32.bat Removed Paths: ------------- branches/tora3/extlibs/otl/ branches/tora3/extlibs/trotl/src/trotl_base.h branches/tora3/src/core/toresultpie.cpp branches/tora3/src/core/toresultpie.h branches/tora3/src/stdafx.h branches/tora3/src/todebug.cpp branches/tora3/src/todebug.h branches/tora3/src/todebugchangeui.ui branches/tora3/src/todebugtext.cpp branches/tora3/src/todebugtext.h branches/tora3/src/todebugwatch.ui branches/tora3/src/toeditextensiongotoui.ui branches/tora3/src/toeditextensions.cpp branches/tora3/src/toeditextensions.h branches/tora3/src/toeditextensionsetupui.ui branches/tora3/src/toextratranslations.cpp branches/tora3/src/toociwrapper.h branches/tora3/src/tools/toworksheetwidget.cpp branches/tora3/src/tools/toworksheetwidget.h branches/tora3/src/toplsqleditor.cpp branches/tora3/src/toplsqleditor.h branches/tora3/src/toplsqltext.cpp branches/tora3/src/toplsqltext.h branches/tora3/src/toproject.cpp branches/tora3/src/toproject.h branches/tora3/src/tora.pro branches/tora3/src/toreport.cpp branches/tora3/src/toreport.h branches/tora3/src/toscheduler.cpp branches/tora3/src/toscheduler.h branches/tora3/src/toschedulerui.ui branches/tora3/src/totemplate.cpp branches/tora3/src/totemplate.h branches/tora3/src/totemplateaddfileui.ui branches/tora3/src/totemplateeditui.ui branches/tora3/src/totemplateprovider.cpp branches/tora3/src/totemplatesetupui.ui Modified: branches/tora3/README.CMAKE =================================================================== --- branches/tora3/README.CMAKE 2013-03-05 20:47:42 UTC (rev 4555) +++ branches/tora3/README.CMAKE 2013-03-06 17:00:30 UTC (rev 4556) @@ -1,20 +1,14 @@ CMAKE help and hints -------------------------------------------------------------- -There is an alternative build method since the TOra's Qt4 port. -You can use cmake for it (cmake.org). -Standard usage is very similar to configure/make/make install: -cmake [options] build_dir +On Linux use build Tora aside from sources: +mkdir -p tora3/DBUILD +cd tora3/DBUILD +cmake -DBOOST_ROOT=/usr/include -DCMAKE_BUILD_TYPE=Debug .. -where "build_dir" can be e.g.: . for TOra source root directory -or manually created directory to keep build files out of SVN copy. - -Make targets: - * make - * make install - * make dist - Options: +BOOST_ROOT for some unknown reason the CMAKE's FindBoots module +does not search in /usr/include. Cmake installs TOra into /usr/local as default. You can change it for your location: @@ -27,29 +21,18 @@ environments don't like spaces in its default paths (C:\Program oieeek, error here). - -TOra requires QScintilla2. QScintilla2 is the new Qt4 pord of old +TOra requires QScintilla2. QScintilla2 is the new Qt4 port of old Qt3 release with new API. It's strongly recomended to use standalone package of QScintilla2. Unfortunatelly it's sometimes missing in older distros. You can use TOra internal copy of QScintilla2 with: -DWANT_INTERNAL_QSCINTILLA=1 - TOra can be built against various Oracle clients. Some clients (e.g. instant-client) do not provide ORACLE_HOME settings. Cmake will warn you in this case so you can specify required paths manually: -DORACLE_PATH_INCLUDES=/usr/include/oracle/10.2.0.3/client -DORACLE_PATH_LIB=/usr/lib/oracle/10.2.0.3/client/lib - -You have to specify -DORACLE_OCI_VERSION for one of values: -[8, 8I, 9I, 10G, 10G_R2]. Example: --DORACLE_OCI_VERSION=10G_R2 - -You can switch off Oracle support with: --DENABLE_ORACLE=0 - - TOra requires PostgreSQL development environment to enable full PgSQL support (native cancel etc.). This environment shoud be found automatically on UNIXes. But you can @@ -64,26 +47,11 @@ -DENABLE_PGSQL=0 - Search following for more info: http://cmake.org http://docs.scribus.net/index.php?lang=en&page=install4 - Paths for installation The base install prefix is set with -DCMAKE_INSTALL_PREFIX (see above). You can specify installation of additional files with some variables. Changing these variables will affects TOra compilation too. -List of the settings: --DTORA_PLUGIN_DIR=path - It sets the path for functionality addons (binary plugins (if it's - used) or template description files etc.) - The default value is CMAKE_INSTALL_PREFIX/share/tora --DTORA_DOC_DIR=path - It sets the path for basic system-wide documentation fles (README, - AUTHORS, LICENSE etc.). It is not read by anybody propably but it's - pretty standard for Linux packages ;) - The default value is CMAKE_INSTALL_PREFIX/share/doc/tora --DTORA_HELP_DIR=path - It sets the location of help files (manual and API docs). - The default value is TORA_PLUGIN_DIR/help Modified: branches/tora3/README.LAYOUT =================================================================== --- branches/tora3/README.LAYOUT 2013-03-05 20:47:42 UTC (rev 4555) +++ branches/tora3/README.LAYOUT 2013-03-06 17:00:30 UTC (rev 4556) @@ -4,33 +4,51 @@ ========================= tora/ - +--config/ - | +--m4/ + +--cmake/modules/ | - +--debian/ + +--debian/ (not used yet) | +--doc/ | +--help/ | - +--ext/ - | +--otl/ - | +--loki/ + +--extlibs/ + | +--libantlr3c-3.3 + | +--libermodel + | +--loki + | +--parsing + | +--qscintilla2 + | +--stack + | +--trotl | - +--rpm/ - | + +--rpm/ (not used yet) + | +--src/ - | +--help/ <--- symlinks to doc/help - | +--i18n/ - | +--icons/ - | +--templates/ - | +--windows/ + | +--core Tora core classes + | +--editor Editor related classes + | +--tools Tora tools + | +--connection Connection provider implementations + | +--db2 + | +--ts_log Thread safe logger + | +--docklets + | +--migratetool + | +--shortcuteditor + | +--windows + | +--installer + | +--icons + | +--svg + | +--images + | +--templates + | +--i18n Commented out now + | +--parsing + | +--help <--- symlinks to doc/help + | +--images + | +--tests + | +--obsolete Various not-converted tools, components, classes + | +--dummyoci + | +--result | - +--test/ - | +--configuration/ - | +--<other tests>/ - | +--utils/ - +--qscintilla/ + +--qscintilla/ What goes in which directory ? @@ -38,14 +56,7 @@ project-root: - READMEs/NEWS ... - - autogen.sh / configure.ac -config: - - place to keep some auxiliary scripts from autotools (e.g. missing - config.guess, config.sub ...) - the purpose is to keep the project root uncluttered from such files - - a subdirectory m4, this directory contains all local m4 macros - debian: - debian specific files @@ -53,7 +64,7 @@ - for documentation note that there is a symlink to this folder from src/help -ext: +extlibs: - directory for external libraries which are part of the TOra distribution Modified: branches/tora3/README.WINDOWS =================================================================== --- branches/tora3/README.WINDOWS 2013-03-05 20:47:42 UTC (rev 4555) +++ branches/tora3/README.WINDOWS 2013-03-06 17:00:30 UTC (rev 4556) @@ -4,84 +4,99 @@ Content: - Building with MSVC - CMake - Building Windows installer. -- Building with MINGW (autotools). (OUT OF DATE) - # # Building with MSVC - CMake (+ See README.CMAKE) # - All information below assumes C:\build as the base directory, and - C:\build\tora as tora checkout and C:\build\tora-build as tora build dir + All information below assumes D:\DEVEL as the base directory, and + D:\DEVEL\tora3 as tora checkout. + + 1. Download and install "Microsoft Visual Studio 2010 Express" + 1a. (Optional) Download and install "Microsoft DirectX SDK (June 2010)" + 1b. (Optional) Download and install "Microsoft Windows SDK v7.1". + If you have Windows SDK 7.1 use it's command prompt. + 1c. Download and install Tortoise SVN. Including command line tools. Into D:\DEVEL (*without* spaces in the PATH) + 2. All related steps are done in the "Visual Studio Command Prompt" + I have MS Visual Studio 2010 Express. (Or Windows SDK 7.1 command prompt). - 0. All related steps are done in the "Visual Studio Command Prompt" - I have MS Visual Studio 2008 Express (aka version 9). It contains - all basic tools propably so there is no more stuff from Microsoft - required. + 3. Download and install Active state Perl - 1. Downaload Qt4 source version for Windows - Trolltech doesn't provide - MSVC binaries at all. I didn't find a nice download link for this, but - it was available from the FTP server: + 4. Download and unzip OpenSSL-<ver>.tgz + 4a. Build OpenSSL as described here: http://qt-project.org/wiki/Building_Qt_Desktop_for_Windows_with_MSVC + 4b. set environment qt32.bat (or qt64.bat) + 4b. perl Configure VC-WIN32 --prefix=D:\Devel\OpenSSL + 4c. ms\do_ms + 4d. nmake -f ms\ntdll.mak + 4e. nmake -f ms\ntdll.mak install + + 5. Download and unzip Boost headers. The is no need to compile anything. Only few headers are needed. - URL: ftp://ftp.qtsoftware.com/qt/source/qt-all-opensource-src-4.5.2.zip + 6. Download and unzip Qt4 source version for Windows. (Version 4.8.4) + 6a. Build OpenSSL as described here: http://qt-project.org/wiki/Building_Qt_Desktop_for_Windows_with_MSVC + 6b. Configure QT: configure.exe -debug-and-release -fast -openssl -webkit -nomake examples -nomake demos -system-proxies -stl + 6c. Compile QT: nmake (and wait) - 2. Install Oracle client - instant or standard one. + 7. Install Oracle client - instant or standard one. (set env. variable ORACLE_HOME) - 3. Download and install Postgresql development packages. It's a part + 8. (Optional) Download and install Postgresql development packages. It's a part of default installer - just check its component. NOTE: Install it to the path *without* space in its name - Qt has problems with compilation in the case of space. URL: http://www.enterprisedb.com/products/pgdownload.do#windows - Testing with version 8.4.0 Seems that this installer doesn't prompt for any paths/etc. Be sure and disable postgres service after install if you won't be running the server itself - 4. Download and install Mysql development packages. It's a part + 9. (Optional) Download and install Mysql development packages. It's a part of default installer - just check its component. NOTE: Install it to the path *without* space in its name - Qt has problems with compilation in the case of space. URL: http://dev.mysql.com/downloads/mysql/5.1.html#win32 I am testing with the 5.1.37 MSI installer, not the 'Essentials' one + + 10. Compile QT DB drivers for MySQL and PostgresSQL as described here: http://qt-project.org/doc/qt-4.8/sql-driver.html - 5. Update system environment paths in variables: INCLUDE and LIB to - fit Postgresql and Mysql includes and libraries. - Note: Mysql uses subdirectories in its lib directory. - Example: + 11. Download and install cmake from www.cmake.org. Into D:\DEVEL (*without* spaces in the PATH) -set INCLUDE=%INCLUDE%;c:\build\postgres\include\;c:\build\mysql\include\ -set LIB=%LIB%;c:\build\postgres\lib\;c:\build\mysql\lib\opt\ -set ORACLE_HOME=c:\build\oracle + 12. Check and set paths in qt32.bat + - QTDIR + - CMAKE + - Doxygen (Optional) + - OpenSSL + - Nasm (Optional) + - Perl + - DirectX SDK (Optional) + - Windows SDK 7.1 (Optional) + - Tortoise SVN (svn.exe is needed while building) + - MSVC - 6. Compile Qt4 with MSVC. Run with MS VS 2008 command prompt: + 13. Compile Tora in a GUI. + cd d:\devel\tora3 + cmake-gui + - Where is the source core: d:\devel\tora3 + - Where to build the binaries: d:\devel\tora3 + - Add Entry: Name: BOOST_ROOT + Type: "Path" + Value" "D:/DEVEL/boost_1_46_1" + - Add Entry: Name: CMAKE_BUILD_TYPE + Value: either "Debug" or "Release" + - (Optional) Add Entry: Name: Subversion_SVN_EXECUTABLE + Type: "Path" + Value: D:/DEVEL/TortoiseSVN/bin/svn.exe + Do not use SVN provided by cygwin + - Toggle WANT_INTERNAL_QSCINTILLA to Y. + - Click Configure/Generate, set generator to Visual Studio 10 (or Visual Studio 10 64bit) + 13b. Open Visual Studio 2010 and import solution tora.sln + 13c. Compile projects tora poracle - configure.exe -opensource -plugin-sql-sqlite -plugin-sql-mysql -plugin-sql-psql -plugin-sql-odbc + 14. Compile Tora in command prompt + mkdir d:\devel\tora3\debug + cd d:\devel\tora3\debug + cmake -DBOOST_ROOT=D:/DEVEL/boost_1_46_1 -DWANT_INTERNAL_QSCINTILLA=1 -DCMAKE_BUILD_TYPE=Debug -G "NMake Makefiles" .. + nmake - Might want to consider building with '-release' to only build the release code - - 7. Download and install cmake from www.cmake.org. - - 8. Compile Tora - read README.CMAKE and dont forget to check environment is in 5. - Example: -c: -cd \build\tora-build -set PATH=%PATH%;c:\build\qt\bin - -# If you need to refresh from cmake, otherwise skip this step -cmake -G "NMake Makefiles" -DWANT_INTERNAL_QSCINTILLA=1 -DCMAKE_INSTALL_PREFIX=c:\build\tora-build\RELEASE -DORACLE_OCI_VERSION=10G_R2 ..\tora - - Misc notes: seting ORACLE_HOME is a good thing (TM) - building with internal qscintilla is easier for beginners ;) - prepare for longer headache (if you're a windows devel newbie) - - If you build qscintilla externally, follow the directions to make a staticlib. - Otherwise you get mysterious linker unresolved external symbols - even though depends.exe can see them. Meh, Windows. - -nmake - Issuing nmake will actually run the build process itself. - # # Testing # @@ -114,55 +129,3 @@ Please report any bugs should you find them as this port is still in the experimental stage. - - -# -# BELOW DOCS ARE OUT OF DATE, STANDARD BUILD METHOD IS ABOVE -# - -Building with MINGW (autotools). - - At the moment this only works with QT3/Windows Free Edition port - (http://qtwin.sourceforge.net/). - - The makefiles were only tested in Mingw MSYS environment so it is - advised that you obtain and install full MINGW and MSYS packages - from http://www.mingw.org. - - This requires mingw compiled binaries of QT which could be obtained - at http://qtwin.sourceforge.net/ - - Please note that for TOra to work properly QT has to be compiled - with RTTI support in mingw. If the available QT binary does not - work then please compile your own version of it following HOWTO - instructions on http://qtwin.sourceforge.net/ website and using - -rtti configuration parameter. - - 1. Get and install (or build) QT3/Windows Free Edition from - http://qtwin.sourceforge.net/ - - 2. Get the QScintilla sources here - http://www.riverbankcomputing.co.uk/qscintilla/index.php - - 3. Obtain TOra sources - - 4. Modify the qscintilla\build.cmd file in TOra directory with - your environment settings (MINGW, QT and QScintilla paths) - - 5. Build and install QScintilla by running qscintilla\build.cmd - - 6. Copy Makefile.migw to src/Makefile in your TOra directory - - 7. Edit src/Makefile and change path for QTDIR, OCI_DLL and OCI_HOME - (and optionally for INSTALLDIR). Optionally edit the TARGET to - set the desirable executable. Also check the CFLAGS_GLOB and - LFLAGS_GLOB for the debug option (-g) depending on whether you - want debug executable or not. You may also need to create default - version of config.h - - 8. Run 'make' in MSYS environment from TOra src directory. - - 9. Optionally run 'make install' - this will strip down the executable - and copy the necessary files (not yet all of them) to the install - directory (INSTALLDIR) - Modified: branches/tora3/extlibs/trotl/src/README =================================================================== --- branches/tora3/extlibs/trotl/src/README 2013-03-05 20:47:42 UTC (rev 4555) +++ branches/tora3/extlibs/trotl/src/README 2013-03-06 17:00:30 UTC (rev 4556) @@ -5,13 +5,15 @@ - same proprocessor definitions __HERE__, min, max, ... - type tstring -trotl_base.h +trotl_handle.h - base clases - OCIhandle management - SqlInd - NULL value indicator - SqlIndArray - array of NULL values indicators - SqlValue - base class for bind variables - ColumnType - column description type + +trotl_error.h - OciException, throw_ocipl_exception, oci_check_error trotl_conn.h @@ -58,10 +60,10 @@ - trotl_int.h - trotl_var.h # - trotl_date.h -# - trotl_base.h +# - trotl_handle.h # -trotl_common.h - trotl_conn.h - - trotl_base.h + - trotl_handle.h - trotl_common.h Tests: Deleted: branches/tora3/extlibs/trotl/src/trotl_base.h =================================================================== --- branches/tora3/extlibs/trotl/src/trotl_base.h 2013-03-05 20:47:42 UTC (rev 4555) +++ branches/tora3/extlibs/trotl/src/trotl_base.h 2013-03-06 17:00:30 UTC (rev 4556) @@ -1,473 +0,0 @@ -// Copyright (c) 2003, 2004, 2005, 2006, 2007, 2008 Martin Fuchs <mar...@gm...> -// -// forked from OCIPL Version 1.3 -// by Ivan Brezina <iv...@cv...> - -/* - - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - -*/ - -#ifndef TROTL_BASE_H_ -#define TROTL_BASE_H_ - -#include <exception> -#include <vector> -#include <string> -#include <oci.h> - -#include "trotl_export.h" -#include "trotl_common.h" - -namespace trotl { - class SqlStatement; - - void oci_check_error(tstring where, OCIError* errh, sword res); - void oci_check_error(tstring where, OCIEnv* envh, sword res); - void oci_check_error(tstring where, SqlStatement &stmt, sword res); // defined in trotl_stat.cpp - - template<typename TYPE> - struct OciHandleID - { - static ub4 get_type_id(); - static ub4 get_attr_id(); - }; - - template <> inline ub4 OciHandleID<OCIEnv>::get_type_id() {return OCI_HTYPE_ENV;} - template <> inline ub4 OciHandleID<OCIError>::get_type_id() {return OCI_HTYPE_ERROR;} - template <> inline ub4 OciHandleID<OCISvcCtx>::get_type_id() {return OCI_HTYPE_SVCCTX;} - template <> inline ub4 OciHandleID<OCIStmt>::get_type_id() {return OCI_HTYPE_STMT;} - template <> inline ub4 OciHandleID<OCIBind>::get_type_id() {return OCI_HTYPE_BIND;} - template <> inline ub4 OciHandleID<OCIDefine>::get_type_id() {return OCI_HTYPE_DEFINE;} - template <> inline ub4 OciHandleID<OCIDescribe>::get_type_id() {return OCI_HTYPE_DESCRIBE;} - template <> inline ub4 OciHandleID<OCIServer>::get_type_id() {return OCI_HTYPE_SERVER;} - template <> inline ub4 OciHandleID<OCISession>::get_type_id() {return OCI_HTYPE_SESSION;} - template <> inline ub4 OciHandleID<OCITrans>::get_type_id() {return OCI_HTYPE_TRANS;} - template <> inline ub4 OciHandleID<OCIComplexObject>::get_type_id() {return OCI_HTYPE_COMPLEXOBJECT;} - template <> inline ub4 OciHandleID<OCISecurity>::get_type_id() {return OCI_HTYPE_SECURITY;} - template <> inline ub4 OciHandleID<OCISubscription>::get_type_id() {return OCI_HTYPE_SUBSCRIPTION;} - /* - template <> inline ub4 OciHandleID<***>::get_type_id() {return OCI_HTYPE_DIRPATH_CTX;} - template <> inline ub4 OciHandleID<***>::get_type_id() {return OCI_HTYPE_DIRPATH_COLUMN_ARRAY;} - template <> inline ub4 OciHandleID<***>::get_type_id() {return OCI_HTYPE_DIRPATH_STREAM;} - template <> inline ub4 OciHandleID<***>::get_type_id() {return OCI_HTYPE_PROC;} - */ - template <> inline ub4 OciHandleID<OCIServer>::get_attr_id() {return OCI_ATTR_SERVER;} - template <> inline ub4 OciHandleID<OCISession>::get_attr_id() {return OCI_ATTR_SESSION;} - template <> inline ub4 OciHandleID<OCIEnv>::get_attr_id() {std::cout << "Error:" << __TROTL_HERE__ << std::endl; return -1;} - template <> inline ub4 OciHandleID<OCIError>::get_attr_id() {std::cout << "Error:" << __TROTL_HERE__ << std::endl; return -1;} - template <> inline ub4 OciHandleID<OCISvcCtx>::get_attr_id() {std::cout << "Error:" << __TROTL_HERE__ << std::endl; return -1;} - template <> inline ub4 OciHandleID<OCIStmt>::get_attr_id() {std::cout << "Error:" << __TROTL_HERE__ << std::endl; return -1;} - - struct TROTL_EXPORT OciEnv; - - /// OCI handle holder - except OciEnv - template<typename TYPE> - struct OciSimpleHandle : public OciHandleID<TYPE> - { - typedef TYPE HandleType; - OciSimpleHandle(): - _handle(0), _envh(0) - {} - - OciSimpleHandle(OCIEnv* envh, HandleType* handle): - _envh(envh), _handle(handle) - {} - - OciSimpleHandle(OCIEnv* envh): - _handle(0) - { - alloc(envh); - } - - ~OciSimpleHandle() - { - if (_handle) - destroy(); - } - - operator HandleType*() {return _handle;} - - void alloc(OCIEnv* envh) - { - if (_handle) - destroy(); - _envh = envh; - - sword res = OCICALL(OCIHandleAlloc(envh, (dvoid**)&_handle, OciHandleID<TYPE>::get_type_id(), 0, 0)); - oci_check_error(__TROTL_HERE__, envh, res); - } - - void destroy() - { - sword res = OCICALL(OCIHandleFree(_handle, OciHandleID<TYPE>::get_type_id())); - _handle = 0; - - if (_envh) { - oci_check_error(__TROTL_HERE__, _envh, res); - _envh = 0; - } - } - - void get_attribute(dvoid* attributep, ub4* sizep, ub4 attrtype, OCIError* errh) - { - sword res = OCICALL(OCIAttrGet(_handle, OciHandleID<TYPE>::get_type_id(), attributep, sizep, attrtype, errh)); - //oci_check_error(__TROTL_HERE__, _envh, res); //?? TODO I am not here which error handle should be used here - oci_check_error(__TROTL_HERE__, errh, res); - } - - protected: - HandleType* _handle; - OCIEnv* _envh; - }; - - /// wrapping of OCI handles without freeing them in destructor - // TODO some reference counting - template<typename TYPE> - struct OciHandleWrapper : public OciHandleID<TYPE> - { - typedef TYPE HandleType; - - OciHandleWrapper(HandleType* handle): - _handle(handle) - {} - - operator HandleType*() {return _handle;} - - protected: - HandleType* _handle; - }; - - /// OCI Error Handles - TROTL_EXPORT typedef OciSimpleHandle<OCIError> OciError; - - struct TROTL_EXPORT OciEnv : public OciHandleWrapper<OCIEnv> - { - typedef OciHandleWrapper<OCIEnv> super; - - OciEnv(OCIEnv* envh) - : super(envh) - { - // allocate error handle - _errh.alloc(_handle); - } - -//Workaround for MSVC2008 -#if _MSC_VER==1400 - template struct TROTL_EXPORT OciSimpleHandle<OCIError>; -#endif - OciError _errh; - }; - - template<typename TYPE> - struct OciHandle : public OciHandleID<TYPE> - { - typedef TYPE HandleType; - - OciHandle(OciEnv& env): - _env(env),_handle(0) - { - alloc(); - } - - OciHandle(OciEnv& env, HandleType* handle) - : _env(env), _handle(handle) - {} - - OciHandle(const OciHandle& other) - : _env(other._env), _handle(other._handle) - { - const_cast<OciHandle&>(other)._handle = NULL; - } - - ~OciHandle() - { - if (_handle) - destroy(); - } - - void alloc() - { - if (_handle) - destroy(); - - sword res = OCICALL(OCIHandleAlloc(_env, (dvoid**)&_handle, OciHandleID<TYPE>::get_type_id(), 0, 0)); - oci_check_error(__TROTL_HERE__, _env, res); - } - - void destroy() - { - sword res = OCICALL(OCIHandleFree(_handle, OciHandleID<TYPE>::get_type_id())); - _handle = 0; - - oci_check_error(__TROTL_HERE__, _env, res); - } - - void set_attribute(ub4 attrtype, const tstring& str) - { - sword res = OCICALL(OCIAttrSet(_handle, OciHandleID<TYPE>::get_type_id(), (char*)str.c_str(), (ub4)str.length()*sizeof(char), attrtype, _env._errh)); - oci_check_error(__TROTL_HERE__, _env._errh, res); - } - - void set_attribute(ub4 attrtype, ub4 value) - { - sword res = OCICALL(OCIAttrSet(_handle, OciHandleID<TYPE>::get_type_id(), (OraText*)&value, (ub4)sizeof(value), attrtype, _env._errh)); - oci_check_error(__TROTL_HERE__, _env._errh, res); - } - - void get_attribute(dvoid* attributep, ub4* sizep, ub4 attrtype) - { - sword res = OCICALL(OCIAttrGet(_handle, OciHandleID<TYPE>::get_type_id(), attributep, sizep, attrtype, _env._errh)); - oci_check_error(__TROTL_HERE__, _env._errh, res); - } - - void set_attribute_handle(ub4 attrtype, void* handle) - { - sword res = OCICALL(OCIAttrSet(_handle, OciHandleID<TYPE>::get_type_id(), handle, 0, attrtype, _env._errh)); - oci_check_error(__TROTL_HERE__, _env._errh, res); - } - - template<typename ATTR> void set_attribute(ATTR& attr) - { - sword res = OCICALL(OCIAttrSet(_handle, OciHandleID<TYPE>::get_type_id(), attr, 0, ATTR::get_attr_id(), _env._errh)); - oci_check_error(__TROTL_HERE__, _env._errh, res); - } - - operator HandleType*() {return _handle;} - - OciEnv& _env; - - protected: - HandleType* _handle; - }; - - template<typename TYPE, int i> - struct OciDescriptorID - { - static ub4 get_descr_id(); - }; - - template <> inline ub4 OciDescriptorID<OCISnapshot, 0>::get_descr_id() {return OCI_DTYPE_SNAP;} - template <> inline ub4 OciDescriptorID<OCILobLocator, 0>::get_descr_id() {return OCI_DTYPE_LOB;} - template <> inline ub4 OciDescriptorID<OCILobLocator, 1>::get_descr_id() {return OCI_DTYPE_FILE;} - template <> inline ub4 OciDescriptorID<OCIRowid, 0>::get_descr_id() {return OCI_DTYPE_ROWID;} - template <> inline ub4 OciDescriptorID<OCIDateTime, 0>::get_descr_id() {return OCI_DTYPE_DATE;} - template <> inline ub4 OciDescriptorID<OCIDateTime, 1>::get_descr_id() {return OCI_DTYPE_TIMESTAMP;} - template <> inline ub4 OciDescriptorID<OCIDateTime, 2>::get_descr_id() {return OCI_DTYPE_TIMESTAMP_TZ;} - template <> inline ub4 OciDescriptorID<OCIDateTime, 3>::get_descr_id() {return OCI_DTYPE_TIMESTAMP_LTZ;} - - template <> inline ub4 OciDescriptorID<OCIAQMsgProperties, 0>::get_descr_id() {return OCI_DTYPE_AQMSG_PROPERTIES;} - template <> inline ub4 OciDescriptorID<OCIAQDeqOptions, 0>::get_descr_id() {return OCI_DTYPE_AQDEQ_OPTIONS;} - - template<typename TYPE, int i> - struct OciSimpleDescriptor: public OciDescriptorID<TYPE,i> - { - typedef TYPE HandleType; - - OciSimpleDescriptor(OCIEnv* envh, HandleType* handle) : _envh(envh), _descriptor(handle) - {} - - OciSimpleDescriptor(OCIEnv* envh) : _descriptor(0) - { - alloc(envh); - } - - ~OciSimpleDescriptor() - { - if (_descriptor) - destroy(); - } - - operator HandleType*() {return _descriptor;} - - void alloc(OCIEnv* envh) - { - if (_descriptor)destroy(); - _envh = envh; - - sword res = OCICALL(OCIDescriptorAlloc(envh, (dvoid**)&_descriptor, OciDescriptorID<TYPE,i>::get_descr_id(), 0, 0)); - oci_check_error(__TROTL_HERE__, envh, res); - } - - void destroy() - { - sword res = OCICALL(OCIDescriptorFree(_descriptor, OciDescriptorID<TYPE,i>::get_descr_id())); - _descriptor = 0; - - if (_envh) { - oci_check_error(__TROTL_HERE__, _envh, res); - _envh = 0; - } - } - private: - HandleType *_descriptor; - OCIEnv *_envh; - }; - - /// OCI Describe Handles - typedef TROTL_EXPORT OciSimpleHandle<OCIDescribe> OciDescribe; - - struct OciEnv; - - /// wrapper for the OCIEnv handle - OCIEnv* holder - struct /*TROTL_EXPORT*/ OciEnvAlloc : public OciSimpleHandle<OCIEnv> - { - typedef OciSimpleHandle<OCIEnv> super; - - OciEnvAlloc(ub4 oci_mode=OCI_OBJECT|OCI_THREADED) // OCI_OBJECT for OCINumber... functions - { - sword res = OCICALL(OCIEnvCreate(&_handle, oci_mode, 0/*ctxp*/, 0, 0, 0, 0/*xtramem_sz*/, 0/*usrmempp*/)); - //std::cerr << "OCIEnvCreate:" << res << std::endl; - oci_check_error(__TROTL_HERE__, _handle, res); - } - - ~OciEnvAlloc() - { -// sword res = OCITerminate (OCI_DEFAULT); -// oci_check_error(__TROTL_HERE__, _handle, res); - } - }; - - /* This set of specialized templates represent translation table - * "userspace datatype" => "OCI datatype constant" - * This template is used as parameter in specialization of the template TBindParInt - * It is not necessary to register all datatypes in this template - * look bellow for usage examples - **/ - template <class type> - struct SQLT - { - // Almost template specializations should have enum value set to appropriate SQLT_* - //enum { value = SQLT_* }; - }; - - /* This set of specialized templates represents translation table - * "userspace datatype" => "OCI datatype constant" - * This template is used as parameter in specialization of the template TBindParInt - * It is not necessary to register all datatypes in this template - * it is used for numerical datatypes only - * - * See trotl_stat.h - **/ - template <> struct SQLT<int> { enum { value = SQLT_INT }; }; - template <> struct SQLT<unsigned int> { enum { value = SQLT_UIN }; }; - template <> struct SQLT<long> { enum { value = SQLT_INT }; }; - template <> struct SQLT<unsigned long> { enum { value = SQLT_UIN }; }; - template <> struct SQLT<long long> { enum { value = SQLT_INT }; }; - template <> struct SQLT<float> { enum { value = SQLT_FLT }; }; - template <> struct SQLT<double> { enum { value = SQLT_FLT }; }; - -#ifdef WIN32 - class TROTL_EXPORT ::std::exception; -#endif - - struct TROTL_EXPORT OciException : public std::exception - { - typedef std::exception super; - - OciException(tstring where, OCIEnv* envh); - OciException(tstring where, OCIError* errh); - OciException(tstring where, const char* msg); - OciException(tstring where, SqlStatement& stmt); - OciException(const OciException&); - - OciException& arg(int); - OciException& arg(unsigned int); - OciException& arg(unsigned long); - - OciException& arg(tstring); - - ~OciException() throw() {} - - virtual const char* what() const throw() {return _mess.c_str();} - - int get_code(int pos = 0) const { return _sql_error_code.empty() ? 0 : _sql_error_code.at(pos); }; - const char* get_mesg() const { return _mess.c_str(); }; - const char* get_sql() const { return _last_sql.c_str(); }; - private: - ::std::vector<int> _sql_error_code; - tstring _where; - ::std::stringstream _stack; - tstring _mess; - tstring _last_sql; - ub2 _parse_offset; - }; - - /// error handling functions - extern void TROTL_EXPORT throw_oci_exception(tstring where, OCIError* errh, sword res); - extern void TROTL_EXPORT throw_oci_exception(tstring where, OCIEnv* envh, sword res); - extern void TROTL_EXPORT throw_ocipl_exception(OciException const & e); - // __declspec(noreturn) void throw_ocipl_exception(OciException& e); - - - inline void oci_check_error(tstring where, OCIError* errh, sword res) - { - switch(res) - { - case OCI_SUCCESS: - case OCI_SUCCESS_WITH_INFO: - break; - case OCI_ERROR: - throw OciException(where, errh); - break; - case OCI_INVALID_HANDLE: - throw OciException(where, "Invalid handle"); - break; - default: - throw OciException(where, "Unsupported result code"); - break; - } - } - - inline void oci_check_error(tstring where, OCIEnv* envh, sword res) - { - switch(res) - { - case OCI_SUCCESS: - case OCI_SUCCESS_WITH_INFO: - break; - case OCI_ERROR: - throw OciException(where, envh); - break; - case OCI_INVALID_HANDLE: - throw OciException(where, "Invalid handle"); - break; - default: - throw OciException(where, "Unsupported result code"); - break; - } - } - -/* - inline void oci_check_error(tstring where, OciEnv& env, sword res) - { - oci_check_error(where, env._errh, res); - } -*/ - -}; //namespace trotl - -#endif /*TROTL_BASE_H_*/ Modified: branches/tora3/extlibs/trotl/src/trotl_error.cpp =================================================================== --- branches/tora3/extlibs/trotl/src/trotl_error.cpp 2013-03-05 20:47:42 UTC (rev 4555) +++ branches/tora3/extlibs/trotl/src/trotl_error.cpp 2013-03-06 17:00:30 UTC (rev 4556) @@ -44,6 +44,44 @@ namespace trotl { +CriticalErrorList::CriticalErrorList() +{ + insert(3113); // ORA-03113: end-of-file on communication channel + insert(3114); // ORA-03114: not connected to ORACLE - this one is returned for 2nd try on broken conn + insert(3135); // ORA-03135: connection lost contact + insert(12154); // ORA-12154: TNS:could not resolve the connect identifier specified + insert(12157); // ORA-12157: TNS:internal network communication error + insert(12500); // ORA-12500: TNS:listener failed to start a dedicated server process + insert(12504); // ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA + insert(12505); // ORA-12505: TNS listener could not resolve SID given in connect descriptor + insert(12508); // ORA-12508: TNS:listener could not resolve the COMMAND given + insert(12509); // ORA-12509: TNS:listener failed to redirect client to service handler + insert(12510); // ORA-12510: TNS:database temporarily lacks resources to handle the request + insert(12511); // ORA-12511: TNS:service handler found but it is not accepting connections + insert(12513); // ORA-12513: TNS:service handler found but it has registered for a different protocol + insert(12514); // ORA-12514: TNS:listener does not currently know of service requested in connect descriptor + insert(12515); // ORA-12515: TNS:listener could not find a handler for this presentation + insert(12516); // ORA-12516: TNS:listener could not find available handler with matching protocol stack + insert(12518); // ORA-12518: TNS:listener could not hand off client connection + insert(12519); // ORA-12519: TNS:no appropriate service handler found + insert(12520); // ORA-12520: TNS:listener could not find available handler for requested type of server + insert(12521); // ORA-12521: TNS:listener does not currently know of instance requested in connect descriptor + insert(12522); // ORA-12522: TNS:listener could not find available instance with given INSTANCE_ROLE + insert(12523); // ORA-12523: TNS:listener could not find instance appropriate for the client connection + insert(12522); // ORA-12522: TNS:listener could not find available instance with given INSTANCE_ROLE + insert(12523); // ORA-12523: TNS:listener could not find instance appropriate for the client connection + insert(12524); // ORA-12524: TNS:listener could not resolve HANDLER_NAME given in connect descriptor + insert(12525); // ORA-12525: TNS:listener has not received client's request in time allowed + insert(12526); // ORA-12526: TNS:listener: all appropriate instances are in restricted mode + insert(12527); // ORA-12527: TNS:listener: all instances are in restricted mode or blocking new connections + insert(12528); // ORA-12528: TNS:listener: all appropriate instances are blocking new connections + insert(12529); // ORA-12529: TNS:connect request rejected based on current filtering rules + insert(12537); // ORA-12537: TNS:connection closed + insert(12540); // ORA-12540: TNS:internal limit restriction exceeded + insert(12541); // ORA-12541: TNS:no listener + insert(12543); // ORA-12543: TNS:destination host unreachable +}; + OciException::OciException(tstring where, OCIEnv* envh) : _where(where), _mess(where) { @@ -203,6 +241,8 @@ return *this; } +CriticalErrorList OciException::criticalErrorList; + __NORETURN void TROTL_EXPORT throw_oci_exception(OciException const & e) { throw(e); Modified: branches/tora3/extlibs/trotl/src/trotl_error.h =================================================================== --- branches/tora3/extlibs/trotl/src/trotl_error.h 2013-03-05 20:47:42 UTC (rev 4555) +++ branches/tora3/extlibs/trotl/src/trotl_error.h 2013-03-06 17:00:30 UTC (rev 4556) @@ -39,6 +39,7 @@ #include <exception> #include <vector> +#include <set> #define TROTL_BACKTRACE_DEPTH 10 @@ -58,6 +59,13 @@ class TROTL_EXPORT ::std::exception; #endif +class TROTL_EXPORT CriticalErrorList : public std::set<unsigned> +{ + typedef std::set<unsigned> super; +public: + CriticalErrorList(); +}; + struct TROTL_EXPORT OciException : public std::exception { typedef std::exception super; @@ -94,6 +102,12 @@ { return _last_sql.c_str(); }; + + inline bool is_critical() const + { + return criticalErrorList.find(get_code()) != criticalErrorList.end(); + }; + private: ::std::vector<int> _sql_error_code; tstring _where; @@ -101,6 +115,7 @@ tstring _mess; tstring _last_sql; ub2 _parse_offset; + static CriticalErrorList criticalErrorList; }; inline void oci_check_error(tstring where, OCIError* errh, sword res) Modified: branches/tora3/extlibs/trotl/src/trotl_handle.h =================================================================== --- branches/tora3/extlibs/trotl/src/trotl_handle.h 2013-03-05 20:47:42 UTC (rev 4555) +++ branches/tora3/extlibs/trotl/src/trotl_handle.h 2013-03-06 17:00:30 UTC (rev 4556) @@ -37,8 +37,8 @@ * Plus two most important wrapper classes are declared directly in this header: * OciEnv and OciError (note: see the diffenrence "OCI" vc. "Oci" */ -#ifndef TROTL_BASE_H_ -#define TROTL_BASE_H_ +#ifndef TROTL_HANDLE_H_ +#define TROTL_HANDLE_H_ #include <typeinfo> #include <oci.h> @@ -452,4 +452,4 @@ }; //namespace trotl -#endif /*TROTL_BASE_H_*/ +#endif /*TROTL_HANDLE_H_*/ Modified: branches/tora3/src/CMakeLists.txt =================================================================== --- branches/tora3/src/CMakeLists.txt 2013-03-05 20:47:42 UTC (rev 4555) +++ branches/tora3/src/CMakeLists.txt 2013-03-06 17:00:30 UTC (rev 4556) @@ -10,6 +10,7 @@ ENDIF (WIN32) SET(TORA_LIB ${EXE_NAME}) +#SET(TORA_LIB test4) ################################################################################ # Headers # @@ -123,7 +124,7 @@ connection/toqmysqlsettingui.ui connection/toqpsqlsettingui.ui - + # todebugchangeui.ui # todebugwatch.ui @@ -148,6 +149,10 @@ # LIST(APPEND TORA_UI_SRC pdfview/pdfviewwidget.ui) ENDIF (POPPLER_QT4_FOUND) +IF(TORA_DEBUG) + LIST (APPEND TORA_UI_SRC tests/test4ui.ui) +ENDIF() + ################################################################################ # QObject sub-classes(moc) # ################################################################################ @@ -163,6 +168,7 @@ core/toglobalsetting.h core/tomain.h core/tomainwindow.h + core/toglobalevent.h core/tomessage.h core/topreferences.h core/topushbutton.h @@ -236,6 +242,7 @@ editor/tohighlightedtexteditor.h editor/tohighlightedtext.h editor/tosearchreplace.h + editor/tocustomlexer.h result/toproviderobserver.h result/totablemodel.h @@ -253,12 +260,10 @@ docklets/toviewconnections.h docklets/toviewdirectory.h - docklets/tologging.h tools/tooutput.h tools/toworksheet.h - tools/toworksheetwidget.h tools/toworksheetstatistic.h tools/toworksheettext.h @@ -364,7 +369,8 @@ ENDIF(graphviz_FOUND) IF(TORA_DEBUG) - LIST(APPEND TORA_MOC_CLASSES tests/test3window.h) + LIST(APPEND TORA_MOC_CLASSES tests/test3window.h tests/test4window.h) + LIST(APPEND TORA_MOC_CLASSES docklets/tologging.h) ENDIF() ################################################################################ @@ -390,6 +396,7 @@ core/tohtml.cpp core/tomain.cpp core/tomainwindow.cpp + core/toglobalevent.cpp core/toworkspace.cpp core/tomessage.cpp core/topreferences.cpp @@ -472,6 +479,7 @@ editor/tohighlightedtext.cpp editor/tohighlightedtexteditor.cpp editor/tosearchreplace.cpp + editor/tocustomlexer.cpp result/toproviderobserver.cpp result/totablemodel.cpp @@ -500,7 +508,6 @@ docklets/toviewconnections.cpp docklets/toviewdirectory.cpp - docklets/tologging.cpp shortcuteditor/shortcutmodel.cpp shortcuteditor/shortcuteditordialog.cpp @@ -508,7 +515,6 @@ tools/tooutput.cpp tools/toworksheet.cpp - tools/toworksheetwidget.cpp tools/toworksheettext.cpp tools/toworksheetstatistic.cpp @@ -613,7 +619,8 @@ ENDIF (POPPLER_QT4_FOUND) IF(TORA_DEBUG) - LIST(APPEND TORA_SOURCES tests/test3window.cpp) + LIST(APPEND TORA_SOURCES tests/test3window.cpp tests/test4window.cpp) + LIST(APPEND TORA_SOURCES docklets/tologging.cpp) ENDIF() ################################################################################ @@ -756,6 +763,60 @@ TARGET_LINK_LIBRARIES("test3" ${TORA_LIBS}) SET_TARGET_PROPERTIES("test3" PROPERTIES ENABLE_EXPORTS ON) ADD_DEPENDENCIES("test3" revisiontag) # explicitly say that the executable depends on the svnheader + +# test4 +SET(TEST4_SOURCES + core/toworkspace.cpp + core/tosyntaxanalyzer.cpp + core/toconfiguration.cpp + core/totool.cpp + core/toconnection.cpp + core/toconnectionprovider.cpp + core/toconnectionsubloan.cpp + core/toqvalue.cpp + core/toglobalevent.cpp + core/utils.cpp + core/totimer.cpp + core/tomainwindow.cpp + core/tocache.cpp + core/tosql.cpp + core/tosqlparse.cpp + core/toquery.cpp + editor/tocustomlexer.cpp + editor/tohighlightedtexteditor.cpp + editor/tomarkedtexteditor.cpp + ) +SET(TEST4_MOC_SOURCES + tests/moc_test4window.cxx + core/moc_toworkspace.cxx + core/moc_tosyntaxanalyzer.cxx + core/moc_totool.cxx + core/moc_toconnection.cxx + core/moc_tomainwindow.cxx + core/moc_toglobalevent.cxx + core/moc_tocache.cxx + core/moc_toquery.cxx + core/moc_totimer.cxx + ts_log/moc_toostream.cxx + editor/moc_tocustomlexer.cxx + editor/moc_tohighlightedtexteditor.cxx + editor/moc_tomarkedtexteditor.cxx + ) + +ADD_EXECUTABLE("test4" ${GUI_TYPE} + tests/test4.cpp + tests/test4window.cpp +# ${TORA_UI_SOURCES} +# ${TORA_I18N_QM} + ${TEST4_MOC_SOURCES} + ${TEST4_SOURCES} + ${TORA_RCC_SRCS} + ${APPLE_BUNDLE_SOURCES} + ) +TARGET_LINK_LIBRARIES("test4" ${TORA_LIBS}) +SET_TARGET_PROPERTIES("test4" PROPERTIES ENABLE_EXPORTS ON) +ADD_DEPENDENCIES("test4" revisiontag) # explicitly say that the executable depends on the svnheader + endif() IF(USE_PCH) Modified: branches/tora3/src/connection/tooracleconnection.cpp =================================================================== --- branches/tora3/src/connection/tooracleconnection.cpp 2013-03-05 20:47:42 UTC (rev 4555) +++ branches/tora3/src/connection/tooracleconnection.cpp 2013-03-06 17:00:30 UTC (rev 4556) @@ -46,12 +46,10 @@ #define TROTL_DLL #endif -#include "toociwrapper.h" - #include "connection/tooracleconnection.h" #include "connection/tooraclequery.h" -#include "core/utils.h" +#include "core/tomainwindow.h" #include "core/toconf.h" // TOAPPNAME #include "core/toraversion.h" #include "core/tologger.h" @@ -153,7 +151,7 @@ { bool ok = false; QString newpass = QInputDialog::getText( - toMainWidget(), + Utils::toQMainWindow(), qApp->translate("toOracleConnection", "Password expired"), qApp->translate("toOracleConnection", "Enter new password"), QLineEdit::Password, @@ -163,7 +161,7 @@ throw exc; QString newpass2 = QInputDialog::getText( - toMainWidget(), + Utils::toQMainWindow(), qApp->translate("toOracleConnection", "Password expired"), qApp->translate("toOracleConnection", "Enter password again for confirmation"), QLineEdit::Password, Modified: branches/tora3/src/connection/tooracledatatype.h =================================================================== --- branches/tora3/src/connection/tooracledatatype.h 2013-03-05 20:47:42 UTC (rev 4555) +++ branches/tora3/src/connection/tooracledatatype.h 2013-03-06 17:00:30 UTC (rev 4556) @@ -143,7 +143,6 @@ { ::trotl::SqlOpenLob clob_open(_data, OCI_LOB_READONLY); bytes_read = _data.read(buffer, chunksize, offset + 1, chunksize); - buffer[bytes_read] = '\0'; } QByteArray retval(buffer, bytes_read); free(buffer); @@ -277,7 +276,6 @@ { ::trotl::SqlOpenLob blob_open(data, OCI_LOB_READONLY); bytes_read = data.read(buffer, chunksize, offset + 1, chunksize); - buffer[bytes_read] = '\0'; } QByteArray retval(buffer, bytes_read); free(buffer); Modified: branches/tora3/src/connection/tooraclefind.cpp =================================================================== --- branches/tora3/src/connection/tooraclefind.cpp 2013-03-05 20:47:42 UTC (rev 4555) +++ branches/tora3/src/connection/tooraclefind.cpp 2013-03-06 17:00:30 UTC (rev 4556) @@ -53,6 +53,9 @@ #include <QTextStream> #include <oci.h> +#if defined(Q_OS_LINUX) || defined (Q_OS_MAC) +#include <unistd.h> +#endif #if defined(Q_OS_LINUX) # define PROVIDER_LIB "libporacle.so" @@ -111,6 +114,7 @@ << QString::fromAscii("/usr/lib/oracle/10.2.0.3/client64/lib") << QString::fromAscii("/usr/lib/oracle/10.2.0.3/client/lib") << QString::fromAscii("/opt/instantclient*") + << QString::fromAscii("/usr/lib") #elif defined(Q_OS_WIN32) << QString::fromAscii("C:\\instantclient*") << QString::fromAscii("D:\\instantclient*") Modified: branches/tora3/src/connection/tooracleprovider.cpp =================================================================== --- branches/tora3/src/connection/tooracleprovider.cpp 2013-03-05 20:47:42 UTC (rev 4555) +++ branches/tora3/src/connection/tooracleprovider.cpp 2013-03-06 17:00:30 UTC (rev 4556) @@ -48,9 +48,10 @@ #include "core/toconnectionprovider.h" #include "core/tologger.h" -#include "core/utils.h" +#include "core/tomainwindow.h" #include "core/toconfiguration.h" #include "core/tooracleconst.h" + #include "connection/absfact.h" #include "connection/tooracledatatype.h" @@ -263,7 +264,7 @@ catch( QString const &e ) { TOMessageBox::warning( - toMainWidget(), + Utils::toQMainWindow(), QT_TRANSLATE_NOOP("toReadFileB", "File error"), QT_TRANSLATE_NOOP("toReadFileB", QString("Couldn't open %1 for readonly: %2").arg(filename).arg(e))); goto next; Modified: branches/tora3/src/connection/tooraclequery.cpp =================================================================== --- branches/tora3/src/connection/tooraclequery.cpp 2013-03-05 20:47:42 UTC (rev 4555) +++ branches/tora3/src/connection/tooraclequery.cpp 2013-03-06 17:00:30 UTC (rev 4556) @@ -75,8 +75,9 @@ { delete Query; Query = NULL; - Running = false; + if(exc.is_critical()) + conn->Broken = true; ThrowException(exc); } try @@ -163,8 +164,9 @@ } delete Query; Query = NULL; - Running = false; + if(exc.is_critical()) + conn->Broken = true; ThrowException(exc); } } Modified: branches/tora3/src/connection/tooraclesetting.cpp =================================================================== --- branches/tora3/src/connection/tooraclesetting.cpp 2013-03-05 20:47:42 UTC (rev 4555) +++ branches/tora3/src/connection/tooraclesetting.cpp 2013-03-06 17:00:30 UTC (rev 4556) @@ -42,11 +42,12 @@ #include "connection/tooraclesetting.h" #include "core/toconfiguration.h" #include "core/tologger.h" -#include "core/toconnection.h" -#include "core/toconnectionsub.h" -#include "core/toconnectionsubloan.h" -#include "core/toconnectionprovider.h" +//#include "core/toconnection.h" +//#include "core/toconnectionsub.h" +//#include "core/toconnectionsubloan.h" +//#include "core/toconnectionprovider.h" #include "core/utils.h" +#include "core/tomainwindow.h" toOracleSetting::toOracleSetting(QWidget *parent) : QWidget(parent) @@ -82,7 +83,7 @@ try { // Check if connection exists - toMainWidget()->currentConnection(); + toConnectionRegistrySing::Instance().currentConnection(); CreatePlanTable->setEnabled(true); } catch (...) @@ -100,36 +101,8 @@ toConfigurationSingle::Instance().setDateFormat(DefaultDate->text()); toConfigurationSingle::Instance().setTimestampFormat(DefaultTimestamp->text()); - // try to change NLS for already running sessions - QString str("ALTER SESSION SET NLS_DATE_FORMAT = '%1'"); - QString str1("ALTER SESSION SET NLS_TIMESTAMP_FORMAT = '%1'"); +#pragma message WARN("TODO/FIXME: apply new NLS_DATE_FORMAT/NLS_TIMESTAMP_FORMAT here") - foreach (toConnection * conn, toMainWidget()->connections()) - { - try - { - //tool if(conn.p... [truncated message content] |
From: <ibr...@us...> - 2013-03-07 00:16:45
|
Revision: 4559 http://sourceforge.net/p/tora/code/4559 Author: ibre5041 Date: 2013-03-07 00:16:40 +0000 (Thu, 07 Mar 2013) Log Message: ----------- Modified Paths: -------------- branches/tora3/extlibs/parsing/tsqllexeroracle.cpp branches/tora3/src/tests/test1.cpp Modified: branches/tora3/extlibs/parsing/tsqllexeroracle.cpp =================================================================== --- branches/tora3/extlibs/parsing/tsqllexeroracle.cpp 2013-03-06 22:50:36 UTC (rev 4558) +++ branches/tora3/extlibs/parsing/tsqllexeroracle.cpp 2013-03-07 00:16:40 UTC (rev 4559) @@ -25,12 +25,17 @@ pOracleSQLLexer lxr; pANTLR3_COMMON_TOKEN_STREAM tstream; pANTLR3_VECTOR lexerTokenVector; + + unsigned lastLine, lastColumn, lastIndex; }; OracleLexer::OracleLexer(const QString &statement, const QString &name) : Lexer(statement, name) , QBAinput(statement.toUtf8()) , QBAname(name.toUtf8()) + , lastLine(1) + , lastColumn(0) + , lastIndex(0) { input = antlr3StringStreamNew( (pANTLR3_UINT8) QBAinput.data(), ANTLR3_ENC_8BIT, (ANTLR3_UINT64) QBAinput.size(), (pANTLR3_UINT8)QBAname.data()); input->setUcaseLA(input, ANTLR3_TRUE); // ignore case @@ -88,31 +93,45 @@ /*virtual*/ QString OracleLexer::currentWord(unsigned line, unsigned column) { line++; // ANTLR3 starts with 1st while QScintille starts with 0th - ANTLR3_UINT32 i; + QString retval; + ANTLR3_UINT32 i, startIndex; ANTLR3_UINT32 size = this->lexerTokenVector->size(lexerTokenVector); + pANTLR3_COMMON_TOKEN token = NULL; + if(size == 0) - return QString(); + return retval; - pANTLR3_COMMON_TOKEN tokenZero = (pANTLR3_COMMON_TOKEN)lexerTokenVector->get(lexerTokenVector, 0); - QString retval((const char*)(tokenZero->getText(tokenZero)->chars)); + if( lastLine > line || (lastLine == line && lastColumn > column)) + { + pANTLR3_COMMON_TOKEN tokenZero = (pANTLR3_COMMON_TOKEN)lexerTokenVector->get(lexerTokenVector, 0); + retval = QString::fromUtf8((const char*)(tokenZero->getText(tokenZero)->chars)); + startIndex = 1; + } else { + pANTLR3_COMMON_TOKEN tokenZero = (pANTLR3_COMMON_TOKEN)lexerTokenVector->get(lexerTokenVector, lastIndex); + retval = QString::fromUtf8((const char*)(tokenZero->getText(tokenZero)->chars)); + startIndex = lastIndex; + } - for (i = 1; i < size; i++) + for (i = startIndex; i <= size; i++) { - pANTLR3_COMMON_TOKEN token = (pANTLR3_COMMON_TOKEN)lexerTokenVector->get(lexerTokenVector, i); - if ( - token->getLine(token) > line || - ( token->getLine(token) == line && token->getCharPositionInLine(token) > column ) - ) - { - return retval; - } + token = (pANTLR3_COMMON_TOKEN)lexerTokenVector->get(lexerTokenVector, i); + if( token == NULL) + break; if ( token->getChannel(token) != HIDDEN) { - retval = QString((const char*)(token->getText(token)->chars)); + lastIndex = i; + lastLine = token->getLine(token); + lastColumn = token->getCharPositionInLine(token); + retval = QString::fromUtf8((const char*)(token->getText(token)->chars)); } + + if( token->getLine(token) > line + || ( token->getLine(token) == line && token->getCharPositionInLine(token) > column )) + break; } - return QString(); + + return retval; } }; Modified: branches/tora3/src/tests/test1.cpp =================================================================== --- branches/tora3/src/tests/test1.cpp 2013-03-06 22:50:36 UTC (rev 4558) +++ branches/tora3/src/tests/test1.cpp 2013-03-07 00:16:40 UTC (rev 4559) @@ -100,7 +100,17 @@ parsing.load(); std::auto_ptr <SQLParser::Lexer> lexer = LexerFactTwoParmSing::Instance().create("OracleSQL", "a b c", ""); - lexer->firstWord(); + + for(int i = 0; i <= 10; i++) + { + std::cout << lexer->currentWord(0, i) << std::endl; + } + + for(int i = 10; i >= 0; i--) + { + std::cout << lexer->currentWord(0, i) << std::endl; + } + } catch (const QString &str) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ibr...@us...> - 2013-03-07 10:27:36
|
Revision: 4560 http://sourceforge.net/p/tora/code/4560 Author: ibre5041 Date: 2013-03-07 10:27:30 +0000 (Thu, 07 Mar 2013) Log Message: ----------- tests and instructions cleanup. Modified Paths: -------------- branches/tora3/CMakeLists.txt branches/tora3/INSTALL branches/tora3/README.CMAKE branches/tora3/README.WINDOWS branches/tora3/extlibs/parsing/CMakeLists.txt branches/tora3/src/CMakeLists.txt branches/tora3/src/tests/test1.cpp branches/tora3/src/tests/test2.cpp branches/tora3/src/tools/tounittest.cpp Modified: branches/tora3/CMakeLists.txt =================================================================== --- branches/tora3/CMakeLists.txt 2013-03-07 00:16:40 UTC (rev 4559) +++ branches/tora3/CMakeLists.txt 2013-03-07 10:27:30 UTC (rev 4560) @@ -64,6 +64,10 @@ SET(EXE_NAME "TOra") endif(APPLE) +# For Windows only. Plugings depend on thr main program binary. Therefore We must also create .lib (for each .exe) +#SET(TORA_LIB ${EXE_NAME}) +SET(TORA_LIB test1) + # Ok, it has to be called after project is set. The we are sure we have size of void pointer set correctly... INCLUDE(LibSuffix) Modified: branches/tora3/INSTALL =================================================================== --- branches/tora3/INSTALL 2013-03-07 00:16:40 UTC (rev 4559) +++ branches/tora3/INSTALL 2013-03-07 10:27:30 UTC (rev 4560) @@ -1,365 +1,4 @@ -Installation Instructions -************************* -Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, -2006, 2007, 2008, 2009 Free Software Foundation, Inc. +Automake tools are no more supported. - Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. This file is offered as-is, -without warranty of any kind. - -Basic Installation -================== - - Briefly, the shell commands `./configure; make; make install' should -configure, build, and install this package. The following -more-detailed instructions are generic; see the `README' file for -instructions specific to this package. Some packages provide this -`INSTALL' file but do not implement all of the features documented -below. The lack of an optional feature in a given package is not -necessarily a bug. More recommendations for GNU packages can be found -in *note Makefile Conventions: (standards)Makefile Conventions. - - The `configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a `Makefile' in each directory of the package. -It may also create one or more `.h' files containing system-dependent -definitions. Finally, it creates a shell script `config.status' that -you can run in the future to recreate the current configuration, and a -file `config.log' containing compiler output (useful mainly for -debugging `configure'). - - It can also use an optional file (typically called `config.cache' -and enabled with `--cache-file=config.cache' or simply `-C') that saves -the results of its tests to speed up reconfiguring. Caching is -disabled by default to prevent problems with accidental use of stale -cache files. - - If you need to do unusual things to compile the package, please try -to figure out how `configure' could check whether to do them, and mail -diffs or instructions to the address given in the `README' so they can -be considered for the next release. If you are using the cache, and at -some point `config.cache' contains results you don't want to keep, you -may remove or edit it. - - The file `configure.ac' (or `configure.in') is used to create -`configure' by a program called `autoconf'. You need `configure.ac' if -you want to change it or regenerate `configure' using a newer version -of `autoconf'. - - The simplest way to compile this package is: - - 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. - - Running `configure' might take a while. While running, it prints - some messages telling which features it is checking for. - - 2. Type `make' to compile the package. - - 3. Optionally, type `make check' to run any self-tests that come with - the package, generally using the just-built uninstalled binaries. - - 4. Type `make install' to install the programs and any data files and - documentation. When installing into a prefix owned by root, it is - recommended that the package be configured and built as a regular - user, and only the `make install' phase executed with root - privileges. - - 5. Optionally, type `make installcheck' to repeat any self-tests, but - this time using the binaries in their final installed location. - This target does not install anything. Running this target as a - regular user, particularly if the prior `make install' required - root privileges, verifies that the installation completed - correctly. - - 6. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is - also a `make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. - - 7. Often, you can also type `make uninstall' to remove the installed - files again. In practice, not all packages have tested that - uninstallation works correctly, even though it is required by the - GNU Coding Standards. - - 8. Some packages, particularly those that use Automake, provide `make - distcheck', which can by used by developers to test that all other - targets like `make install' and `make uninstall' work correctly. - This target is generally not run by end users. - -Compilers and Options -===================== - - Some systems require unusual options for compilation or linking that -the `configure' script does not know about. Run `./configure --help' -for details on some of the pertinent environment variables. - - You can give `configure' initial values for configuration parameters -by setting variables in the command line or in the environment. Here -is an example: - - ./configure CC=c99 CFLAGS=-g LIBS=-lposix - - *Note Defining Variables::, for more details. - -Compiling For Multiple Architectures -==================================== - - You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you can use GNU `make'. `cd' to the -directory where you want the object files and executables to go and run -the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. This -is known as a "VPATH" build. - - With a non-GNU `make', it is safer to compile the package for one -architecture at a time in the source code directory. After you have -installed the package for one architecture, use `make distclean' before -reconfiguring for another architecture. - - On MacOS X 10.5 and later systems, you can create libraries and -executables that work on multiple system types--known as "fat" or -"universal" binaries--by specifying multiple `-arch' options to the -compiler but only a single `-arch' option to the preprocessor. Like -this: - - ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CPP="gcc -E" CXXCPP="g++ -E" - - This is not guaranteed to produce working output in all cases, you -may have to build one architecture at a time and combine the results -using the `lipo' tool if you have problems. - -Installation Names -================== - - By default, `make install' installs the package's commands under -`/usr/local/bin', include files under `/usr/local/include', etc. You -can specify an installation prefix other than `/usr/local' by giving -`configure' the option `--prefix=PREFIX', where PREFIX must be an -absolute file name. - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -pass the option `--exec-prefix=PREFIX' to `configure', the package uses -PREFIX as the prefix for installing programs and libraries. -Documentation and other data files still use the regular prefix. - - In addition, if you use an unusual directory layout you can give -options like `--bindir=DIR' to specify different values for particular -kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. In general, the -default for these options is expressed in terms of `${prefix}', so that -specifying just `--prefix' will affect all of the other directory -specifications that were not explicitly provided. - - The most portable way to affect installation locations is to pass the -correct locations to `configure'; however, many packages provide one or -both of the following shortcuts of passing variable assignments to the -`make install' command line to change installation locations without -having to reconfigure or recompile. - - The first method involves providing an override variable for each -affected directory. For example, `make install -prefix=/alternate/directory' will choose an alternate location for all -directory configuration variables that were expressed in terms of -`${prefix}'. Any directories that were specified during `configure', -but not in terms of `${prefix}', must each be overridden at install -time for the entire installation to be relocated. The approach of -makefile variable overrides for each directory variable is required by -the GNU Coding Standards, and ideally causes no recompilation. -However, some platforms have known limitations with the semantics of -shared libraries that end up requiring recompilation when using this -method, particularly noticeable in packages that use GNU Libtool. - - The second method involves providing the `DESTDIR' variable. For -example, `make install DESTDIR=/alternate/directory' will prepend -`/alternate/directory' before all installation names. The approach of -`DESTDIR' overrides is not required by the GNU Coding Standards, and -does not work on platforms that have drive letters. On the other hand, -it does better at avoiding recompilation issues, and works well even -when some directory options were not specified in terms of `${prefix}' -at `configure' time. - -Optional Features -================= - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving `configure' the -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - - Some packages pay attention to `--enable-FEATURE' options to -`configure', where FEATURE indicates an optional part of the package. -They may also pay attention to `--with-PACKAGE' options, where PACKAGE -is something like `gnu-as' or `x' (for the X Window System). The -`README' should mention any `--enable-' and `--with-' options that the -package recognizes. - - For packages that use the X Window System, `configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the `configure' options `--x-includes=DIR' and -`--x-libraries=DIR' to specify their locations. - - Some packages offer the ability to configure how verbose the -execution of `make' will be. For these packages, running `./configure ---enable-silent-rules' sets the default to minimal output, which can be -overridden with `make V=1'; while running `./configure ---disable-silent-rules' sets the default to verbose, which can be -overridden with `make V=0'. - -Particular systems -================== - - On HP-UX, the default C compiler is not ANSI C compatible. If GNU -CC is not installed, it is recommended to use the following options in -order to use an ANSI C compiler: - - ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" - -and if that doesn't work, install pre-built binaries of GCC for HP-UX. - - On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot -parse its `<wchar.h>' header file. The option `-nodtk' can be used as -a workaround. If GNU CC is not installed, it is therefore recommended -to try - - ./configure CC="cc" - -and if that doesn't work, try - - ./configure CC="cc -nodtk" - - On Solaris, don't put `/usr/ucb' early in your `PATH'. This -directory contains several dysfunctional programs; working variants of -these programs are available in `/usr/bin'. So, if you need `/usr/ucb' -in your `PATH', put it _after_ `/usr/bin'. - - On Haiku, software installed for all users goes in `/boot/common', -not `/usr/local'. It is recommended to use the following options: - - ./configure --prefix=/boot/common - -Specifying the System Type -========================== - - There may be some features `configure' cannot figure out -automatically, but needs to determine by the type of machine the package -will run on. Usually, assuming the package is built to be run on the -_same_ architectures, `configure' can figure that out, but if it prints -a message saying it cannot guess the machine type, give it the -`--build=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name which has the form: - - CPU-COMPANY-SYSTEM - -where SYSTEM can have one of these forms: - - OS - KERNEL-OS - - See the file `config.sub' for the possible values of each field. If -`config.sub' isn't included in this package, then this package doesn't -need to know the machine type. - - If you are _building_ compiler tools for cross-compiling, you should -use the option `--target=TYPE' to select the type of system they will -produce code for. - - If you want to _use_ a cross compiler, that generates code for a -platform different from the build platform, you should specify the -"host" platform (i.e., that on which the generated programs will -eventually be run) with `--host=TYPE'. - -Sharing Defaults -================ - - If you want to set default values for `configure' scripts to share, -you can create a site shell script called `config.site' that gives -default values for variables like `CC', `cache_file', and `prefix'. -`configure' looks for `PREFIX/share/config.site' if it exists, then -`PREFIX/etc/config.site' if it exists. Or, you can set the -`CONFIG_SITE' environment variable to the location of the site script. -A warning: not all `configure' scripts look for a site script. - -Defining Variables -================== - - Variables not defined in a site shell script can be set in the -environment passed to `configure'. However, some packages may run -configure again during the build, and the customized values of these -variables may be lost. In order to avoid this problem, you should set -them in the `configure' command line, using `VAR=value'. For example: - - ./configure CC=/usr/local2/bin/gcc - -causes the specified `gcc' to be used as the C compiler (unless it is -overridden in the site shell script). - -Unfortunately, this technique does not work for `CONFIG_SHELL' due to -an Autoconf bug. Until the bug is fixed you can use this workaround: - - CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash - -`configure' Invocation -====================== - - `configure' recognizes the following options to control how it -operates. - -`--help' -`-h' - Print a summary of all of the options to `configure', and exit. - -`--help=short' -`--help=recursive' - Print a summary of the options unique to this package's - `configure', and exit. The `short' variant lists options used - only in the top level, while the `recursive' variant lists options - also present in any nested packages. - -`--version' -`-V' - Print the version of Autoconf used to generate the `configure' - script, and exit. - -`--cache-file=FILE' - Enable the cache: use and save the results of the tests in FILE, - traditionally `config.cache'. FILE defaults to `/dev/null' to - disable caching. - -`--config-cache' -`-C' - Alias for `--cache-file=config.cache'. - -`--quiet' -`--silent' -`-q' - Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to `/dev/null' (any error - messages will still be shown). - -`--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. - -`--prefix=DIR' - Use DIR as the installation prefix. *note Installation Names:: - for more details, including other options available for fine-tuning - the installation locations. - -`--no-create' -`-n' - Run the configure checks, but stop before creating any output - files. - -`configure' also accepts some other, not widely useful, options. Run -`configure --help' for more details. - +See README.CMAKE. \ No newline at end of file Modified: branches/tora3/README.CMAKE =================================================================== --- branches/tora3/README.CMAKE 2013-03-07 00:16:40 UTC (rev 4559) +++ branches/tora3/README.CMAKE 2013-03-07 10:27:30 UTC (rev 4560) @@ -1,57 +1,65 @@ CMAKE help and hints -------------------------------------------------------------- -On Linux use build Tora aside from sources: -mkdir -p tora3/DBUILD -cd tora3/DBUILD -cmake -DBOOST_ROOT=/usr/include -DCMAKE_BUILD_TYPE=Debug .. +1. On Linux use build Tora aside from sources: -Options: -BOOST_ROOT for some unknown reason the CMAKE's FindBoots module -does not search in /usr/include. +1.1 Debug Build: + mkdir -p tora3/DBUILD + cd tora3/DBUILD + cmake -DBOOST_ROOT=/usr/include -DCMAKE_BUILD_TYPE=Debug .. + make tora poracle parsing -Cmake installs TOra into /usr/local as default. You can change it -for your location: --DCMAKE_INSTALL_PREFIX:PATH=/home/username/toradevelopment -If you want to set special paths for help files or whatever see -"Paths for installation" below. +1.2. + Release Build: + mkdir -p tora3/RBUILD + cd tora3/RBUILD + cmake -DBOOST_ROOT=/usr/include -DCMAKE_BUILD_TYPE=Release .. + make tora poracle parsing -Note for Windows: if you don't specify install prefix, you can get -compile-time errorrs in some cases. It looks like some MSVC -environments don't like spaces in its default paths -(C:\Program oieeek, error here). +2. Options: + BOOST_ROOT for some unknown reason the CMAKE's FindBoots module + does not search in /usr/include. You must provide the path manually -TOra requires QScintilla2. QScintilla2 is the new Qt4 port of old -Qt3 release with new API. It's strongly recomended to use standalone -package of QScintilla2. Unfortunatelly it's sometimes missing in -older distros. You can use TOra internal copy of QScintilla2 with: --DWANT_INTERNAL_QSCINTILLA=1 + Cmake installs TOra into /usr/local as default. You can change it + for your location: + -DCMAKE_INSTALL_PREFIX:PATH=/home/username/toradevelopment + If you want to set special paths for help files or whatever see + "Paths for installation" below. -TOra can be built against various Oracle clients. Some clients -(e.g. instant-client) do not provide ORACLE_HOME settings. Cmake will -warn you in this case so you can specify required paths manually: --DORACLE_PATH_INCLUDES=/usr/include/oracle/10.2.0.3/client --DORACLE_PATH_LIB=/usr/lib/oracle/10.2.0.3/client/lib + Note for Windows: if you don't specify install prefix, you can get + compile-time errorrs in some cases. It looks like some MSVC + environments don't like spaces in its default paths + (C:\Program oieeek, error here). -TOra requires PostgreSQL development environment to enable -full PgSQL support (native cancel etc.). -This environment shoud be found automatically on UNIXes. But you can -specify path for alternative location and/or for Windows too. --DPOSTGRESQL_PATH_INCLUDES=/home/devel/pgsql/include --DPOSTGRESQL_PATH_INCLUDES=d:\pgsql\include --DPOSTGRESQL_PATH_LIB=/home/devel/pgsql/lib -Windows note: Sometimes (dunno why) it doesn't find pgsql libs. +3. QScintilla2 + TOra requires QScintilla2. QScintilla2 is the new Qt4 port of old + Qt3 release with new API. It's strongly recomended to use standalone + package of QScintilla2. Unfortunatelly it's sometimes missing in + older distros. You can use TOra internal copy of QScintilla2 with: + -DWANT_INTERNAL_QSCINTILLA=1 + +4. Oracle client libs + TOra can be built against various Oracle clients. Some clients + (e.g. instant-client) do not provide ORACLE_HOME settings. Cmake will + warn you in this case so you can specify required paths manually: + -DORACLE_PATH_INCLUDES=/usr/include/oracle/10.2.0.3/client + -DORACLE_PATH_LIB=/usr/lib/oracle/10.2.0.3/client/lib + + Or set ORACLE_HOME before runnning cmake. The main program Tora no more depends + on libclnt.so. Only the DB provider plugin poracle.so Needs it. + +5. PgSQL (support not finished yet) + TOra requires PostgreSQL development environment to enable + full PgSQL support (native cancel etc.). + This environment shoud be found automatically on UNIXes. But you can + specify path for alternative location and/or for Windows too. + -DPOSTGRESQL_PATH_INCLUDES=/home/devel/pgsql/include + -DPOSTGRESQL_PATH_INCLUDES=d:\pgsql\include + -DPOSTGRESQL_PATH_LIB=/home/devel/pgsql/lib + Windows note: Sometimes (dunno why) it doesn't find pgsql libs. You can use "set LIB=%LIB%;pathtopgsqllibs" then. -etc. -Native PostgreSQL support can be disabled with: --DENABLE_PGSQL=0 + etc. + Native PostgreSQL support can be disabled with: + -DENABLE_PGSQL=0 -Search following for more info: -http://cmake.org -http://docs.scribus.net/index.php?lang=en&page=install4 - -Paths for installation -The base install prefix is set with -DCMAKE_INSTALL_PREFIX (see above). -You can specify installation of additional files with some variables. -Changing these variables will affects TOra compilation too. Modified: branches/tora3/README.WINDOWS =================================================================== --- branches/tora3/README.WINDOWS 2013-03-07 00:16:40 UTC (rev 4559) +++ branches/tora3/README.WINDOWS 2013-03-07 10:27:30 UTC (rev 4560) @@ -1,5 +1,6 @@ -There is also a Mingw32 Fedora 11 Cross Compile build - see the README file -in the win32-cross directory, which also contains utility scripts for that build. +There is also a Mingw32 Fedora 11 Cross Compile build +- see the README file in the win32-cross directory, +which also contains utility scripts for that build. Content: - Building with MSVC - CMake @@ -39,17 +40,17 @@ 7. Install Oracle client - instant or standard one. (set env. variable ORACLE_HOME) - 8. (Optional) Download and install Postgresql development packages. It's a part - of default installer - just check its component. - NOTE: Install it to the path *without* space in its name - Qt has + 8. (Optional) Download and install Postgresql including development packages. + It's a part of the default install - just check its component. + NOTE: Install it to the path *without* spaces in its name - Qt has problems with compilation in the case of space. URL: http://www.enterprisedb.com/products/pgdownload.do#windows Seems that this installer doesn't prompt for any paths/etc. Be sure and disable postgres service after install if you won't be running the server itself - 9. (Optional) Download and install Mysql development packages. It's a part - of default installer - just check its component. + 9. (Optional) Download and install Mysql including development packages. + It's a part of default installer - just check its component. NOTE: Install it to the path *without* space in its name - Qt has problems with compilation in the case of space. @@ -60,7 +61,7 @@ 11. Download and install cmake from www.cmake.org. Into D:\DEVEL (*without* spaces in the PATH) - 12. Check and set paths in qt32.bat + 12. Check and set paths in utils/qt32.bat - QTDIR - CMAKE - Doxygen (Optional) @@ -101,15 +102,21 @@ # Testing # Above build will generate into the tora-build\RELEASE dir. Copy the various dll files from Qt, Postgres, MySQL -installs into that dir as well: - comerr32.dll gssapi32.dll k5sprt32.dll krb5_32.dll libeay32.dll libiconv-2.dll libintl-8.dll libpq.dll ssleay32.dll - libmysql.dll qsqlmysqld4.dll - oci.dll - QtCore4.dll QtGui4.dll QtNetwork4.dll QtSql4.dll QtXml4.dll +installs into that dir as well: +MSVC 2010 Runtime libs: + msvcp100.dll + msvcr100.dll +QT Libs: + qsqlmysqld4.dll + qsqlpsql4.dll + QtCore4.dll QtGui4.dll QtHelp4.dll QtNetwork4.dll QtSql4.dll QtXml4.dll +Tora Libs: + antlr3c.dll + parsing.dll + poracle.dll + trotl.dll Then you should be able to run tora.exe from that dir. This can be used to test prior to packaging. -(NOTE- Above is ghastly, surely there is a better way of doing this?!?!) - # # Building Windows installer. # Modified: branches/tora3/extlibs/parsing/CMakeLists.txt =================================================================== --- branches/tora3/extlibs/parsing/CMakeLists.txt 2013-03-07 00:16:40 UTC (rev 4559) +++ branches/tora3/extlibs/parsing/CMakeLists.txt 2013-03-07 10:27:30 UTC (rev 4560) @@ -29,14 +29,13 @@ # and the parsing.lib reffers to tora logging mechanism # therefore both libs antlr3c and parsing are static on Windows, while beeing shared on Linux # Note: if they were static on Linux they would need --whole-archive link option. -##if(WIN32) -## ADD_LIBRARY(parsing STATIC ${PARSING_SRCS}) -##else(WIN32) +if(WIN32) + ADD_LIBRARY(parsing STATIC ${PARSING_SRCS}) +else(WIN32) ADD_LIBRARY(parsing SHARED ${PARSING_SRCS}) SET_TARGET_PROPERTIES(parsing PROPERTIES ENABLE_EXPORTS ON) - TARGET_LINK_LIBRARIES(parsing ${QT_LIBRARIES} antlr3c ${EXE_NAME}) -# TARGET_LINK_LIBRARIES(parsing ${QT_LIBRARIES} antlr3c test2) + TARGET_LINK_LIBRARIES(parsing ${QT_LIBRARIES} antlr3c ${TORA_LIB}) SET(LIBRARY_OUTPUT_PATH "${CMAKE_BINARY_DIR}/src/") -##endif(WIN32) +endif(WIN32) Modified: branches/tora3/src/CMakeLists.txt =================================================================== --- branches/tora3/src/CMakeLists.txt 2013-03-07 00:16:40 UTC (rev 4559) +++ branches/tora3/src/CMakeLists.txt 2013-03-07 10:27:30 UTC (rev 4560) @@ -9,9 +9,6 @@ ADD_SUBDIRECTORY(windows) ENDIF (WIN32) -SET(TORA_LIB ${EXE_NAME}) -#SET(TORA_LIB test4) - ################################################################################ # Headers # ################################################################################ @@ -737,6 +734,7 @@ core/tomainwindow.cpp core/tocache.cpp core/tosql.cpp + core/tsqlparse.cpp core/toquery.cpp ) SET(TEST1_MOC_SOURCES @@ -762,18 +760,18 @@ ADD_DEPENDENCIES("test1" revisiontag) # explicitly say that the executable depends on the svnheader # test2 -# ADD_EXECUTABLE("test2" ${GUI_TYPE} -# tests/test2.cpp -# ${TORA_UI_SOURCES} -# ${TORA_I18N_QM} -# ${TORA_MOC_SOURCES} -# ${TORA_SOURCES} -# ${TORA_RCC_SRCS} -# ${APPLE_BUNDLE_SOURCES} -# ) -# TARGET_LINK_LIBRARIES("test2" ${TORA_LIBS}) -# SET_TARGET_PROPERTIES("test2" PROPERTIES ENABLE_EXPORTS ON) -# ADD_DEPENDENCIES("test2" revisiontag) # explicitly say that the executable depends on the svnheader +ADD_EXECUTABLE("test2" ${GUI_TYPE} + tests/test2.cpp + ${TORA_UI_SOURCES} + ${TORA_I18N_QM} + ${TORA_MOC_SOURCES} + ${TORA_SOURCES} + ${TORA_RCC_SRCS} + ${APPLE_BUNDLE_SOURCES} + ) +TARGET_LINK_LIBRARIES("test2" ${TORA_LIBS}) +SET_TARGET_PROPERTIES("test2" PROPERTIES ENABLE_EXPORTS ON) +ADD_DEPENDENCIES("test2" revisiontag) # explicitly say that the executable depends on the svnheader # test3 ADD_EXECUTABLE("test3" ${GUI_TYPE} Modified: branches/tora3/src/tests/test1.cpp =================================================================== --- branches/tora3/src/tests/test1.cpp 2013-03-07 00:16:40 UTC (rev 4559) +++ branches/tora3/src/tests/test1.cpp 2013-03-07 10:27:30 UTC (rev 4560) @@ -76,28 +76,16 @@ */ QApplication app(argc, argv); - QString style(toConfigurationSingle::Instance().style()); - if (!style.isEmpty()) - QApplication::setStyle(QStyleFactory::create(style)); - // Set the default codec to use for QString QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8")); try - { - toQValue::setNumberFormat( - toConfigurationSingle::Instance().numberFormat(), - toConfigurationSingle::Instance().numberDecimals()); + { - qRegisterMetaType<toQColumnDescriptionList>("toQColumnDescriptionList&"); - qRegisterMetaType<ValuesList>("ValuesList&"); - qRegisterMetaType<toConnection::exception>("toConnection::exception"); - - //int ret = qApp->exec(); - //return ret; - +#ifndef Q_OS_WIN32 QLibrary parsing("parsing"); parsing.load(); +#endif std::auto_ptr <SQLParser::Lexer> lexer = LexerFactTwoParmSing::Instance().create("OracleSQL", "a b c", ""); Modified: branches/tora3/src/tests/test2.cpp =================================================================== --- branches/tora3/src/tests/test2.cpp 2013-03-07 00:16:40 UTC (rev 4559) +++ branches/tora3/src/tests/test2.cpp 2013-03-07 10:27:30 UTC (rev 4560) @@ -48,10 +48,9 @@ #include "core/tosql.h" #include "core/toconfiguration.h" #include "core/toqvalue.h" -#include "core/tomarkedtext.h" +#include "editor/tomarkedtext.h" #include "core/tosplash.h" #include "core/toconnection.h" -#include "core/toeventquerytask.h" #include "core/toraversion.h" #include "core/toconnectionprovider.h" @@ -99,9 +98,6 @@ toConfigurationSingle::Instance().numberFormat(), toConfigurationSingle::Instance().numberDecimals()); - toMarkedText::setTabStop(toConfigurationSingle::Instance().tabStop()); - toMarkedText::setTabSpaces(toConfigurationSingle::Instance().tabSpaces()); - qRegisterMetaType<toQColumnDescriptionList>("toQColumnDescriptionList&"); qRegisterMetaType<ValuesList>("ValuesList&"); qRegisterMetaType<toConnection::exception>("toConnection::exception"); @@ -181,8 +177,8 @@ // uncomment this if you want to run cache refresh in synchronous mode // i.e. run it in the current main thread - toCache::cacheObjects co(*oraCon); - co.run(); + // toCache::cacheObjects co(*oraCon); + // co.run(); // uncomment this if you want to run cache refresh in async mode // i.e. run it the background thread @@ -238,10 +234,11 @@ //QList<toCache::CacheEntry const*> tables = oraCon->getCache().getEntriesInSchema(schema, toCache::TABLE); //Q_FOREACH(toCache::CacheEntry const*e, tables) { + toConnectionSubLoan conn(*oraCon); toQValue c1, c2, c3, c4, c5, c6, c7, c8, c9; //toCacheEntryTable const* f = static_cast<toCacheEntryTable const*>(e); //oraCon->getCache().describeEntry(f); - toQuery QueryC(*oraCon, ConstrainsSQL, toQueryParams() << schema.toUpper() << table.toUpper()); + toQuery QueryC(conn, ConstrainsSQL, toQueryParams() << schema.toUpper() << table.toUpper()); while (!QueryC.eof()) { c1 = QueryC.readValue(); @@ -269,7 +266,7 @@ } } - toQuery QueryR(*oraCon, ReferencesSQL, toQueryParams() << schema.toUpper() << table.toUpper()); + toQuery QueryR(conn, ReferencesSQL, toQueryParams() << schema.toUpper() << table.toUpper()); while (!QueryR.eof()) { c1 = QueryR.readValue(); Modified: branches/tora3/src/tools/tounittest.cpp =================================================================== --- branches/tora3/src/tools/tounittest.cpp 2013-03-07 00:16:40 UTC (rev 4559) +++ branches/tora3/src/tools/tounittest.cpp 2013-03-07 10:27:30 UTC (rev 4560) @@ -56,6 +56,8 @@ #include <QSplitter> #include <QSettings> +#include <QToolBar> +#include <QTreeView> // helper definitons for SQLPackageParams and SQLUnitParams columns #define ARGUMENT_NAME 1 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ibr...@us...> - 2013-03-08 12:20:58
|
Revision: 4562 http://sourceforge.net/p/tora/code/4562 Author: ibre5041 Date: 2013-03-08 12:20:54 +0000 (Fri, 08 Mar 2013) Log Message: ----------- lexing playground Modified Paths: -------------- branches/tora3/extlibs/parsing/tsqllexeroracle.cpp branches/tora3/src/core/tsqllexer.h branches/tora3/src/editor/tocustomlexer.cpp branches/tora3/src/editor/tocustomlexer.h branches/tora3/src/editor/tohighlightedtexteditor.cpp branches/tora3/src/editor/tohighlightedtexteditor.h branches/tora3/src/tests/test4window.cpp Removed Paths: ------------- branches/tora3/src/parsing/ Modified: branches/tora3/extlibs/parsing/tsqllexeroracle.cpp =================================================================== --- branches/tora3/extlibs/parsing/tsqllexeroracle.cpp 2013-03-07 13:24:56 UTC (rev 4561) +++ branches/tora3/extlibs/parsing/tsqllexeroracle.cpp 2013-03-08 12:20:54 UTC (rev 4562) @@ -8,7 +8,7 @@ #include "core/tsqllexer.h" #include "core/tsqlparse.h" -namespace SQLParser +namespace SQLLexer { class OracleLexer : public Lexer @@ -43,7 +43,7 @@ if (input == NULL) { // TODO throw here - throw ParseException(); + throw SQLParser::ParseException(); exit(ANTLR3_ERR_NOMEM); } @@ -57,7 +57,7 @@ if ( lxr == NULL ) { // TODO throw here - throw ParseException(); + throw SQLParser::ParseException(); exit(ANTLR3_ERR_NOMEM); } @@ -67,7 +67,7 @@ { // TODO throw here //_mState = P_ERROR; - throw ParseException(); + throw SQLParser::ParseException(); exit(ANTLR3_ERR_NOMEM); } this->lexerTokenVector = tstream->getTokens(tstream); @@ -136,4 +136,4 @@ }; -Util::RegisterInFactory<SQLParser::OracleLexer, LexerFactTwoParmSing> regOracleSQLLexStatement("OracleSQL"); +Util::RegisterInFactory<SQLLexer::OracleLexer, LexerFactTwoParmSing> regOracleSQLLexStatement("OracleSQL"); Modified: branches/tora3/src/core/tsqllexer.h =================================================================== --- branches/tora3/src/core/tsqllexer.h 2013-03-07 13:24:56 UTC (rev 4561) +++ branches/tora3/src/core/tsqllexer.h 2013-03-08 12:20:54 UTC (rev 4562) @@ -5,10 +5,197 @@ #include "loki/Factory_alt.h" #include <QString> +#include <QObject> +#include <QPointer> +#include <QVariant> #include <boost/iterator/iterator_facade.hpp> -namespace SQLParser +namespace SQLLexer { + +class TORA_EXPORT Position +{ +public: + Position(unsigned line, unsigned linePos): _mLine(line), _mLinePos(linePos) {}; + Position(Position const&other): _mLine(other._mLine), _mLinePos(other._mLinePos) {}; + + inline unsigned getLine() const + { + return _mLine; + }; + inline unsigned getLinePos() const + { + return _mLinePos; + }; + inline QString toString() const + { + return QString("[%1,%2]").arg(_mLine).arg(_mLinePos); + }; + inline bool operator== (const Position &other) const + { + return _mLine == other._mLine && _mLinePos == other._mLinePos; + } + + inline bool operator!= (const Position &other) const + { + return !(*this == other); + }; + + inline bool operator< (const Position &other) const + { + return (_mLine < other._mLine) || (_mLine == other._mLine && _mLinePos < other._mLinePos); + }; + + inline bool operator> (const Position &other) const + { + return (_mLine > other._mLine) || (_mLine == other._mLine && _mLinePos > other._mLinePos); + }; +private: + unsigned _mLine, _mLinePos; +}; + +/* + * Token - an element in AST tree hierarchy + */ +class TORA_EXPORT Token : public QObject // inherit from QObject for QPointer +{ + Q_OBJECT; + +public: + // TreeModel methods + inline int columnCount() const + { + return 1; + }; + inline QVariant data(int) const + { + return QVariant(toString()); + }; + + enum TokenType + { + // Special node types + X_UNASSIGNED = 0 + , X_ROOT + , X_FAILURE + , X_COMMENT + // Leaf node + , L_RESERVED + , L_TABLENAME + , L_SCHEMANAME + , L_FUNCTIONNAME + , L_PROCEDURENAME + , L_PACKAGENAME + , L_BINDVARNAME + , L_CURSORNAME + , L_EXCEPTIONNAME + , L_TABLEALIAS + , L_IDENTIFIER + , L_JOIN + , L_ON + , L_JOINING_CLAUSE + , L_USING + // Leaf node (PLSQL only) + , L_VARIABLE + , L_DATATYPE + , L_PARAMETER + }; + + enum UsageType + { + Unknown, + Declaration, + Usage, + UsageL // Used in LVALUE + }; + + Token(Token *parent, const Position &pos, const QString &str, const TokenType& tokentype = X_UNASSIGNED) + : _mPosition(pos) + , _mStr(str) + , _mTokenType(tokentype) // will be overwriten by descendent + {}; + + Token(const Token& other) + : _mPosition(other._mPosition) + , _mStr(other._mStr) + , _mTokenType(other._mTokenType) // will be overwriten by descendent + , _mTokenATypeName(other._mTokenATypeName) + , _mSpaces(other._mSpaces) + { + size_t me = this->size(); + size_t oth = other.size(); + assert( this->size() >= other.size()); + }; + + virtual ~Token() + {}; + virtual size_t size() const + { + return sizeof(*this); + }; + + const Position& getPosition() const + { + return _mPosition; + }; + operator const Position&() const + { + return getPosition(); + }; + + const QString& toString() const + { + return _mStr; + }; + + operator const QString&() const + { + return toString(); + }; + QString toStringFull() const + { + QString retval(toString()); + foreach(QPointer<Token> space, _mSpaces) + { + retval += space->toString(); + } + return retval; + }; + + inline const TokenType& getTokenType() const + { + return _mTokenType; + }; + inline const char* getTokenTypeString() const + { + return TokenType2Text[_mTokenType]; + }; + + inline const QString& getTokenATypeName() const + { + return _mTokenATypeName; + }; + inline void setTokenATypeName(QString const& name) + { + _mTokenATypeName = name; + }; + + inline void appendSpacer(QPointer<Token> space) + { + _mSpaces.append(space); + }; + +protected: + friend class Statement; + + const static char* TokenType2Text[]; + const Position _mPosition; + const QString _mStr; + const TokenType _mTokenType; + QString _mTokenATypeName; //ANTLR token type - for debugging purposes only + QList<QPointer<Token> > _mSpaces; +}; + class Lexer { public: @@ -28,7 +215,7 @@ }; // namespace SQLParser -typedef TORA_EXPORT Util::GenericFactory<SQLParser::Lexer, LOKI_TYPELIST_2(const QString &, const QString&)> LexerFactTwoParm; +typedef TORA_EXPORT Util::GenericFactory<SQLLexer::Lexer, LOKI_TYPELIST_2(const QString &, const QString&)> LexerFactTwoParm; class TORA_EXPORT LexerFactTwoParmSing: public ::Loki::SingletonHolder<LexerFactTwoParm> {}; Modified: branches/tora3/src/editor/tocustomlexer.cpp =================================================================== --- branches/tora3/src/editor/tocustomlexer.cpp 2013-03-07 13:24:56 UTC (rev 4561) +++ branches/tora3/src/editor/tocustomlexer.cpp 2013-03-08 12:20:54 UTC (rev 4562) @@ -46,10 +46,34 @@ #include <Qsci/qsciscintilla.h> #include <Qsci/qscistyle.h> +#define declareStyle(style,color, paper, font) styleNames[style] = tr(#style); \ +setColor(color, style); \ +setPaper(paper, style); \ +setFont(font, style); + toCustomLexer::toCustomLexer(QObject *parent) : QsciLexerCustom(parent) { - qDebug() << __FUNCTION__; + QFont mono; +#if defined(Q_OS_WIN) + mono = QFont("Courier New", 10); +#elif defined(Q_OS_MAC) + mono = QFont("Courier", 12); +#else + mono = QFont("Bitstream Vera Sans Mono", 9); +#endif + + styleStack = QList<int>(); + resetStyle (); + + declareStyle(Default, + QColor(0x0, 0x0, 0x0), + QColor("white"), + mono); + declareStyle(Comment, + QColor(0x0, 0x80, 0x0), + QColor("white"), + mono); } toCustomLexer::~toCustomLexer() @@ -59,89 +83,85 @@ const char* toCustomLexer::language() const { - return "AsciiDoc"; + return "MyLexer"; } QString toCustomLexer::description(int style) const { - switch(style){ - case Default: - return "Default"; - case Comment: - return "Comment"; - } - - return QString(); + if (styleNames.contains(style)) { + return styleNames[style]; + } else { + return QString(""); + } } void toCustomLexer::styleText(int start, int end) { - QString source; - int i; + QString source; + int len; - qDebug() << __FUNCTION__ - << "start =" << start - << " end =" << end; + if (!editor()) + return; - if (!editor()) - return; + resetStyle (); - char *chars = (char *) malloc (end - start); - editor()->SendScintilla(QsciScintilla::SCI_GETTEXTRANGE, -start, end, chars); - source = QString(chars); - free(chars); + char *chars = new char[(end - start) + 1]; + editor()->SendScintilla(QsciScintilla::SCI_GETTEXTRANGE, start, end, chars); + source = QString(chars); + delete [] chars; - qDebug() << "source =" << source; + len = end - start; - startStyling(start, 0x1f); - QStringList list = source.split("\n"); - for (i = 0; i < list.size(); i++) { - QString line = list.at(i); - int len = line.size(); - int style; - qDebug() << "line =" << line; + int line = editor()->SendScintilla(QsciScintilla::SCI_LINEFROMPOSITION, start); + if ( line > 0) + { + // the previous state may be needed for multi-line styling + int pos = editor()->SendScintilla(QsciScintilla::SCI_GETLINEENDPOSITION, line -1); + int state = editor()->SendScintilla(QsciScintilla::SCI_GETSTYLEAT, pos); + } - if (line.startsWith("//")) { - style = Comment; - } else { - style = Default; - } - qDebug() << "Styling " << len << "bytes " << description(style); - setStyling(len, getStyle(style)); - // newline character was consumed in split so... - setStyling(1, getStyle(Default)); - } + qDebug() << '[' << line << ',' << start << "," << end << "] " << "source =" << source; + + startStyling(start, 0x1f); + setStyling(len, getStyle()); } -QColor toCustomLexer::defaultColor(int style) +bool toCustomLexer::pushStyle(int style) { - switch(style){ - case Default: - return QColor(0xe0, 0x0, 0x0); - case Comment: - return QColor(0x0, 0xe0, 0x0); - } - return QsciLexer::defaultColor(style); + bool pushed = false; + + if (style >= getStyle()) { + styleStack << style; + pushed = true; + qDebug() << __FUNCTION__ << description(style); + } + return pushed; } -QFont toCustomLexer::defaultFont(int style) +bool toCustomLexer::popStyle() { - return QFont("Courier New", 10); + int style; + bool popped = false; + if (styleStack.size() > 1) { + style = styleStack.takeLast() ; + popped = true; + qDebug() << __FUNCTION__ << description(style); + } + return popped; } -QColor toCustomLexer::defaultPaper(int style) +int toCustomLexer::getStyle() { - return QsciLexer::defaultPaper(style); + return styleStack.last(); } -QsciStyle toCustomLexer::getStyle(int style) +bool toCustomLexer::hasStyle(int style) { - if (style < MaxStyle) { - return QsciStyle(style, description(style), defaultColor(style), - defaultPaper(style), defaultFont(style)); - } else { - return QsciStyle(style); - } + return styleStack.contains(style); } +void toCustomLexer::resetStyle() +{ + styleStack.clear(); + styleStack << Default; +} Modified: branches/tora3/src/editor/tocustomlexer.h =================================================================== --- branches/tora3/src/editor/tocustomlexer.h 2013-03-07 13:24:56 UTC (rev 4561) +++ branches/tora3/src/editor/tocustomlexer.h 2013-03-08 12:20:54 UTC (rev 4562) @@ -47,7 +47,7 @@ class QsciStyle; class toCustomLexer : public QsciLexerCustom { - Q_OBJECT + Q_OBJECT; public: enum { @@ -57,16 +57,22 @@ }; toCustomLexer(QObject *parent = 0); - ~toCustomLexer(); - const char *language() const; - QString description(int) const; - void styleText(int start, int end); - QColor defaultColor(int); - QFont defaultFont(int); - QColor defaultPaper(int); + virtual ~toCustomLexer(); + /* override - reimplemented from QsciLexerCustom */ + virtual const char *language() const; + virtual QString description(int) const; + virtual void styleText(int start, int end); + private: - QsciStyle getStyle(int); + bool pushStyle(int style); + bool popStyle(); + int getStyle(); + bool hasStyle(int); + void resetStyle(); + + QMap<int,QString> styleNames; + QList<int> styleStack; }; Modified: branches/tora3/src/editor/tohighlightedtexteditor.cpp =================================================================== --- branches/tora3/src/editor/tohighlightedtexteditor.cpp 2013-03-07 13:24:56 UTC (rev 4561) +++ branches/tora3/src/editor/tohighlightedtexteditor.cpp 2013-03-08 12:20:54 UTC (rev 4562) @@ -62,7 +62,11 @@ { static QsciLexerSQL * _sqlLexer = NULL; if (!_sqlLexer) + { _sqlLexer = new QsciLexerSQL(); + _sqlLexer->setFoldComments(true); + _sqlLexer->setFoldCompact(false); + } return _sqlLexer; } @@ -151,9 +155,6 @@ lexer->setColor(DefaultAnalyzer.getColor(toSyntaxAnalyzer::Default), -1); super::setFolding(QsciScintilla::BoxedFoldStyle); - lexer->setFoldComments(true); - lexer->setFoldCompact(false); - // enable syntax colouring if "Syntax highlighting" is on in editor preferences setSyntaxColoring(toConfigurationSingle::Instance().highlight()); @@ -386,7 +387,7 @@ } else { - QsciScintilla::setLexer(0); + QsciScintilla::setLexer(NULL); } } Modified: branches/tora3/src/editor/tohighlightedtexteditor.h =================================================================== --- branches/tora3/src/editor/tohighlightedtexteditor.h 2013-03-07 13:24:56 UTC (rev 4561) +++ branches/tora3/src/editor/tohighlightedtexteditor.h 2013-03-08 12:20:54 UTC (rev 4562) @@ -101,7 +101,7 @@ Q_OBJECT; // Associated lexer (may be not used) - QsciLexerSQL *lexer; // NOTE: this should be used in instead of toSyntaxAnalyzer + QsciLexer *lexer; // NOTE: this should be used in instead of toSyntaxAnalyzer bool syntaxColoring; /** Map of rows with errors and their error message. */ Modified: branches/tora3/src/tests/test4window.cpp =================================================================== --- branches/tora3/src/tests/test4window.cpp 2013-03-07 13:24:56 UTC (rev 4561) +++ branches/tora3/src/tests/test4window.cpp 2013-03-08 12:20:54 UTC (rev 4562) @@ -42,6 +42,7 @@ #include "tests/test4window.h" #include "core/toworkspace.h" #include "editor/tohighlightedtext.h" +#include "editor/tocustomlexer.h" #include <QStatusBar> #include <QScrollArea> @@ -53,10 +54,12 @@ { Ui::Test4Window::setupUi(this); - toHighlightedTextEditor *em = new toHighlightedTextEditor(this); - leftVerticalLayout->addWidget(em); + toHighlightedTextEditor *ed1 = new toHighlightedTextEditor(this); + leftVerticalLayout->addWidget(ed1); - rightVerticalLayout->addWidget(&Workspace); + toHighlightedTextEditor *ed2 = new toHighlightedTextEditor(this); + ed2->setLexer(new toCustomLexer(this)); + rightVerticalLayout->addWidget(ed2); QMainWindow::show(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ibr...@us...> - 2013-03-08 18:12:24
|
Revision: 4563 http://sourceforge.net/p/tora/code/4563 Author: ibre5041 Date: 2013-03-08 18:12:19 +0000 (Fri, 08 Mar 2013) Log Message: ----------- lexing playground Modified Paths: -------------- branches/tora3/CMakeLists.txt branches/tora3/extlibs/parsing/CMakeLists.txt branches/tora3/extlibs/parsing/tsqllexeroracle.cpp branches/tora3/src/CMakeLists.txt branches/tora3/src/core/tsqllexer.h branches/tora3/src/core/tsqlparse.h branches/tora3/src/editor/tocustomlexer.cpp branches/tora3/src/editor/tocustomlexer.h branches/tora3/src/editor/tohighlightedtexteditor.cpp branches/tora3/src/tests/test1.cpp branches/tora3/src/tests/test4.cpp Modified: branches/tora3/CMakeLists.txt =================================================================== --- branches/tora3/CMakeLists.txt 2013-03-08 12:20:54 UTC (rev 4562) +++ branches/tora3/CMakeLists.txt 2013-03-08 18:12:19 UTC (rev 4563) @@ -64,9 +64,11 @@ SET(EXE_NAME "TOra") endif(APPLE) -# For Windows only. Plugings depend on thr main program binary. Therefore We must also create .lib (for each .exe) +# For Windows only. Plugings depend on the main program binary. Therefore we must also create .exp .lib (for each .exe) +# The plugin's .dll must be linked against one of them (usually against tora.lib). +# Change this setting if you're compiling some test program(otherwise the test will SEGFAULT) #SET(TORA_LIB ${EXE_NAME}) -SET(TORA_LIB test1) +SET(TORA_LIB test4) # Ok, it has to be called after project is set. The we are sure we have size of void pointer set correctly... INCLUDE(LibSuffix) Modified: branches/tora3/extlibs/parsing/CMakeLists.txt =================================================================== --- branches/tora3/extlibs/parsing/CMakeLists.txt 2013-03-08 12:20:54 UTC (rev 4562) +++ branches/tora3/extlibs/parsing/CMakeLists.txt 2013-03-08 18:12:19 UTC (rev 4563) @@ -29,13 +29,11 @@ # and the parsing.lib reffers to tora logging mechanism # therefore both libs antlr3c and parsing are static on Windows, while beeing shared on Linux # Note: if they were static on Linux they would need --whole-archive link option. -if(WIN32) - ADD_LIBRARY(parsing STATIC ${PARSING_SRCS}) -else(WIN32) +#if(WIN32) +# ADD_LIBRARY(parsing STATIC ${PARSING_SRCS}) +#else(WIN32) ADD_LIBRARY(parsing SHARED ${PARSING_SRCS}) SET_TARGET_PROPERTIES(parsing PROPERTIES ENABLE_EXPORTS ON) TARGET_LINK_LIBRARIES(parsing ${QT_LIBRARIES} antlr3c ${TORA_LIB}) SET(LIBRARY_OUTPUT_PATH "${CMAKE_BINARY_DIR}/src/") -endif(WIN32) - - +#endif(WIN32) Modified: branches/tora3/extlibs/parsing/tsqllexeroracle.cpp =================================================================== --- branches/tora3/extlibs/parsing/tsqllexeroracle.cpp 2013-03-08 12:20:54 UTC (rev 4562) +++ branches/tora3/extlibs/parsing/tsqllexeroracle.cpp 2013-03-08 18:12:19 UTC (rev 4563) @@ -15,9 +15,19 @@ { public: OracleLexer(const QString &statement, const QString &name); + virtual ~OracleLexer(); virtual QString firstWord(); virtual QString currentWord(unsigned line, unsigned column); + virtual void setStatement(const char *s, unsigned len = -1); + virtual void setStatement(const QString &s); + +protected: + virtual int size() const; + virtual const Token& LA(int pos) const; + private: + void init(); + void clean(); QByteArray QBAinput; QByteArray QBAname; @@ -37,6 +47,16 @@ , lastColumn(0) , lastIndex(0) { + init(); +} + +OracleLexer::~OracleLexer() +{ + clean(); +} + +void OracleLexer::init() +{ input = antlr3StringStreamNew( (pANTLR3_UINT8) QBAinput.data(), ANTLR3_ENC_8BIT, (ANTLR3_UINT64) QBAinput.size(), (pANTLR3_UINT8)QBAname.data()); input->setUcaseLA(input, ANTLR3_TRUE); // ignore case @@ -74,7 +94,72 @@ //_mState = P_LEXER; }; -/*virtual*/ +void OracleLexer::setStatement(const char *s, unsigned len) +{ + clean(); + QBAinput.clear(); + QBAinput.append(s, len); + lastLine = 1; + lastColumn = 0; + lastIndex = 0; + init(); +} + +void OracleLexer::setStatement(const QString &statement) +{ + clean(); + QBAinput.clear(); + QBAinput.append(statement.toUtf8()); + lastLine = 1; + lastColumn = 0; + lastIndex = 0; + init(); +} + +void OracleLexer::clean() +{ + if( tstream) + tstream->free(tstream); + if( lxr) + lxr->free(lxr); + if( input) + input->free(input); +} + +int OracleLexer::size() const +{ + if(tstream) + return this->lexerTokenVector->size(lexerTokenVector); + else + return 0; +} +const Token& OracleLexer::LA(int pos) const +{ + pANTLR3_COMMON_TOKEN token = (pANTLR3_COMMON_TOKEN)lexerTokenVector->get(lexerTokenVector, pos); + if(token) + { + // ANTLR3 starts with 1st while QScintilla starts with 0th + int line = token->getLine(token) - 1; + int column = token->getCharPositionInLine(token); + unsigned length = token->getStopIndex(token) - token->getStartIndex(token) + 1; + int offset = token->getStartIndex(token); + Token::TokenType type = Token::X_UNASSIGNED; + + if( token->getChannel(token) == HIDDEN) + type = Token::X_WHITE; + else + switch(token->getType(token)) + { + case T_RESERVED: type = Token::L_RESERVED; break; + case SL_COMMENT: type = Token::X_COMMENT; break; + case ML_COMMENT: type = Token::X_COMMENT_ML; break; + } + + return Token(Position(line, column), length, type); + } else + throw SQLParser::ParseException(); +} + QString OracleLexer::firstWord() { ANTLR3_UINT32 size = this->lexerTokenVector->size(lexerTokenVector); @@ -90,9 +175,9 @@ return QString(); } -/*virtual*/ QString OracleLexer::currentWord(unsigned line, unsigned column) +QString OracleLexer::currentWord(unsigned line, unsigned column) { - line++; // ANTLR3 starts with 1st while QScintille starts with 0th + line++; // ANTLR3 starts with 1st while QScintilla starts with 0th QString retval; ANTLR3_UINT32 i, startIndex; ANTLR3_UINT32 size = this->lexerTokenVector->size(lexerTokenVector); Modified: branches/tora3/src/CMakeLists.txt =================================================================== --- branches/tora3/src/CMakeLists.txt 2013-03-08 12:20:54 UTC (rev 4562) +++ branches/tora3/src/CMakeLists.txt 2013-03-08 18:12:19 UTC (rev 4563) @@ -232,6 +232,7 @@ core/totextview.h core/tobrowserbasewidget.h # this one is used by core/todescribe.h (therefore is not in tools) core/toresultline.h + core/tsqllexer.h editor/toeditorbase.h editor/tomarkedtexteditor.h @@ -746,6 +747,7 @@ core/moc_tocache.cxx core/moc_toquery.cxx core/moc_totimer.cxx + core/moc_tsqllexer.cxx ts_log/moc_toostream.cxx ) ADD_EXECUTABLE("test1" ${GUI_TYPE} @@ -804,6 +806,7 @@ core/tocache.cpp core/tosql.cpp core/tosqlparse.cpp + core/tsqlparse.cpp core/toquery.cpp editor/tocustomlexer.cpp editor/tohighlightedtexteditor.cpp @@ -820,6 +823,7 @@ core/moc_tocache.cxx core/moc_toquery.cxx core/moc_totimer.cxx + core/moc_tsqllexer.cxx ts_log/moc_toostream.cxx editor/moc_tocustomlexer.cxx editor/moc_tohighlightedtexteditor.cxx Modified: branches/tora3/src/core/tsqllexer.h =================================================================== --- branches/tora3/src/core/tsqllexer.h 2013-03-08 12:20:54 UTC (rev 4562) +++ branches/tora3/src/core/tsqllexer.h 2013-03-08 18:12:19 UTC (rev 4563) @@ -13,188 +13,134 @@ namespace SQLLexer { -class TORA_EXPORT Position -{ -public: - Position(unsigned line, unsigned linePos): _mLine(line), _mLinePos(linePos) {}; - Position(Position const&other): _mLine(other._mLine), _mLinePos(other._mLinePos) {}; + class Lexer; - inline unsigned getLine() const - { - return _mLine; - }; - inline unsigned getLinePos() const - { - return _mLinePos; - }; - inline QString toString() const - { - return QString("[%1,%2]").arg(_mLine).arg(_mLinePos); - }; - inline bool operator== (const Position &other) const - { - return _mLine == other._mLine && _mLinePos == other._mLinePos; - } + class TORA_EXPORT Position + { + public: + Position(unsigned line, unsigned linePos): _mLine(line), _mLinePos(linePos) {}; + Position(Position const&other): _mLine(other._mLine), _mLinePos(other._mLinePos) {}; - inline bool operator!= (const Position &other) const - { - return !(*this == other); - }; + inline unsigned getLine() const + { + return _mLine; + }; + inline unsigned getLinePos() const + { + return _mLinePos; + }; + inline QString toString() const + { + return QString("[%1,%2]").arg(_mLine).arg(_mLinePos); + }; - inline bool operator< (const Position &other) const - { - return (_mLine < other._mLine) || (_mLine == other._mLine && _mLinePos < other._mLinePos); - }; + inline Position& operator=(const Position& other) + { + _mLine = other._mLine; + _mLinePos = other._mLinePos; + return *this; + } + inline bool operator== (const Position &other) const + { + return _mLine == other._mLine && _mLinePos == other._mLinePos; + } - inline bool operator> (const Position &other) const - { - return (_mLine > other._mLine) || (_mLine == other._mLine && _mLinePos > other._mLinePos); - }; -private: - unsigned _mLine, _mLinePos; -}; + inline bool operator!= (const Position &other) const + { + return !(*this == other); + }; -/* - * Token - an element in AST tree hierarchy - */ -class TORA_EXPORT Token : public QObject // inherit from QObject for QPointer -{ - Q_OBJECT; + inline bool operator< (const Position &other) const + { + return (_mLine < other._mLine) || (_mLine == other._mLine && _mLinePos < other._mLinePos); + }; -public: - // TreeModel methods - inline int columnCount() const - { - return 1; - }; - inline QVariant data(int) const - { - return QVariant(toString()); - }; + inline bool operator> (const Position &other) const + { + return (_mLine > other._mLine) || (_mLine == other._mLine && _mLinePos > other._mLinePos); + }; + private: + unsigned _mLine, _mLinePos; + }; - enum TokenType - { - // Special node types - X_UNASSIGNED = 0 - , X_ROOT - , X_FAILURE - , X_COMMENT - // Leaf node - , L_RESERVED - , L_TABLENAME - , L_SCHEMANAME - , L_FUNCTIONNAME - , L_PROCEDURENAME - , L_PACKAGENAME - , L_BINDVARNAME - , L_CURSORNAME - , L_EXCEPTIONNAME - , L_TABLEALIAS - , L_IDENTIFIER - , L_JOIN - , L_ON - , L_JOINING_CLAUSE - , L_USING - // Leaf node (PLSQL only) - , L_VARIABLE - , L_DATATYPE - , L_PARAMETER - }; + /* + * Token - an element in Lexer stream + */ + class TORA_EXPORT Token : public QObject // inherit from QObject for QPointer + { + Q_OBJECT; - enum UsageType - { - Unknown, - Declaration, - Usage, - UsageL // Used in LVALUE - }; + public: - Token(Token *parent, const Position &pos, const QString &str, const TokenType& tokentype = X_UNASSIGNED) - : _mPosition(pos) - , _mStr(str) - , _mTokenType(tokentype) // will be overwriten by descendent - {}; + enum TokenType + { + // Special node types + X_UNASSIGNED = 0 + , X_WHITE + , X_ROOT + , X_FAILURE + , X_COMMENT + , X_COMMENT_ML + // Leaf node + , L_RESERVED + , L_IDENTIFIER + }; - Token(const Token& other) - : _mPosition(other._mPosition) - , _mStr(other._mStr) - , _mTokenType(other._mTokenType) // will be overwriten by descendent - , _mTokenATypeName(other._mTokenATypeName) - , _mSpaces(other._mSpaces) - { - size_t me = this->size(); - size_t oth = other.size(); - assert( this->size() >= other.size()); - }; + Token() + : _mPosition(Position(0,0)) + , _mLength(0) + , _mTokenType(X_UNASSIGNED) + {}; - virtual ~Token() - {}; - virtual size_t size() const - { - return sizeof(*this); - }; + Token(const Position &pos, unsigned len, const TokenType& tokentype = X_UNASSIGNED) + : _mPosition(pos) + , _mLength(len) + , _mTokenType(tokentype) // will be overwriten by descendent + {}; - const Position& getPosition() const - { - return _mPosition; - }; - operator const Position&() const - { - return getPosition(); - }; + Token(const Token& other) + : _mPosition(other._mPosition) + , _mLength(other._mLength) + , _mTokenType(other._mTokenType) // will be overwriten by descendent + { + }; - const QString& toString() const - { - return _mStr; - }; + virtual ~Token() + {}; - operator const QString&() const - { - return toString(); - }; - QString toStringFull() const - { - QString retval(toString()); - foreach(QPointer<Token> space, _mSpaces) - { - retval += space->toString(); - } - return retval; - }; + inline const Position& getPosition() const + { + return _mPosition; + }; - inline const TokenType& getTokenType() const - { - return _mTokenType; - }; - inline const char* getTokenTypeString() const - { - return TokenType2Text[_mTokenType]; - }; + inline unsigned getLength() const + { + return _mLength; + } - inline const QString& getTokenATypeName() const - { - return _mTokenATypeName; - }; - inline void setTokenATypeName(QString const& name) - { - _mTokenATypeName = name; - }; + inline Token& operator=(const Token& other) + { + _mPosition = other._mPosition; + _mLength = other._mLength; + _mTokenType = other._mTokenType; + return *this; + }; - inline void appendSpacer(QPointer<Token> space) - { - _mSpaces.append(space); - }; + operator const Position&() const + { + return getPosition(); + }; -protected: - friend class Statement; + inline const TokenType& getTokenType() const + { + return _mTokenType; + }; - const static char* TokenType2Text[]; - const Position _mPosition; - const QString _mStr; - const TokenType _mTokenType; - QString _mTokenATypeName; //ANTLR token type - for debugging purposes only - QList<QPointer<Token> > _mSpaces; -}; + protected: + Position _mPosition; + unsigned _mLength; + TokenType _mTokenType; + }; class Lexer { @@ -207,7 +153,78 @@ virtual ~Lexer() {}; virtual QString firstWord() = 0; virtual QString currentWord(unsigned line, unsigned column) = 0; + virtual void setStatement(const char *s, unsigned len = -1) = 0; + virtual void setStatement(const QString &s) = 0; + + class token_const_iterator : public boost::iterator_facade + < + token_const_iterator , + Token const, + boost::forward_traversal_tag + > + { + public: +// token_const_iterator() +// : _mLastIndex(0) +// , _mCurrentIndex(0) +// {}; + + token_const_iterator(token_const_iterator const& other) + : _mToken(other._mToken) + , _mLastIndex(other._mLastIndex) + , _mCurrentIndex(0) + , _mLexer(other._mLexer) + {}; + + explicit token_const_iterator(Lexer const& l, int i) + : _mLastIndex(i) + , _mCurrentIndex(i) + , _mLexer(l) + {}; + + ~token_const_iterator() {}; + + private: + friend class boost::iterator_core_access; + void increment() + { + _mCurrentIndex = (std::min)(_mLastIndex, _mCurrentIndex + 1); + } + void decrement() + { + _mCurrentIndex = (std::max)(0, _mCurrentIndex - 1); + } + bool equal(token_const_iterator const& other) const + { + return _mCurrentIndex == other._mCurrentIndex; + } + + inline Token const& dereference() const + { + _mToken = _mLexer.LA(_mCurrentIndex); + return _mToken; + } + + mutable Token _mToken; + int _mLastIndex, _mCurrentIndex; + Lexer const& _mLexer; + }; // nested class token_const_iterator + + token_const_iterator begin() const + { + return token_const_iterator(*this, 0); + } + + token_const_iterator end() const + { + return token_const_iterator(*this, size()); + } + + protected: + virtual int size() const = 0; + virtual const Token& LA(int pos) const = 0; + QString _mStatement, _mName; bool _mEof; }; Modified: branches/tora3/src/core/tsqlparse.h =================================================================== --- branches/tora3/src/core/tsqlparse.h 2013-03-08 12:20:54 UTC (rev 4562) +++ branches/tora3/src/core/tsqlparse.h 2013-03-08 18:12:19 UTC (rev 4563) @@ -603,10 +603,8 @@ // return _mTablesSet; //}; - inline const QVector<Token const*>& tableTokens() const - { - return _mTablesList; - }; + const QVector<const Token*>& tableTokens() const; + ; //inline const QSet<QString>& aliases() const //{ @@ -679,6 +677,7 @@ }; // class token_const_iterator token_const_iterator begin() const; + token_const_iterator end() const; class token_const_iterator_to_root : public boost::iterator_facade @@ -765,6 +764,11 @@ public: }; +inline const QVector<const Token*>& Statement //: public QObject +::tableTokens() const { + return _mTablesList; +} + }; // namespace SQLParser typedef TORA_EXPORT Util::GenericFactory<SQLParser::Statement, LOKI_TYPELIST_2(const QString &, const QString&)> StatementFactTwoParm; Modified: branches/tora3/src/editor/tocustomlexer.cpp =================================================================== --- branches/tora3/src/editor/tocustomlexer.cpp 2013-03-08 12:20:54 UTC (rev 4562) +++ branches/tora3/src/editor/tocustomlexer.cpp 2013-03-08 18:12:19 UTC (rev 4563) @@ -39,6 +39,7 @@ * END_COMMON_COPYRIGHT_HEADER */ #include "editor/tocustomlexer.h" +#include "core/tsqllexer.h" #include <QDebug> #include <QColor> @@ -46,6 +47,7 @@ #include <Qsci/qsciscintilla.h> #include <Qsci/qscistyle.h> + #define declareStyle(style,color, paper, font) styleNames[style] = tr(#style); \ setColor(color, style); \ setPaper(paper, style); \ @@ -53,6 +55,7 @@ toCustomLexer::toCustomLexer(QObject *parent) : QsciLexerCustom(parent) + , lexer(LexerFactTwoParmSing::Instance().create("OracleSQL", "", "toCustomLexer")) { QFont mono; #if defined(Q_OS_WIN) @@ -74,6 +77,14 @@ QColor(0x0, 0x80, 0x0), QColor("white"), mono); + declareStyle(CommentMultiline, + QColor(0x0, 0x80, 0x0), + QColor("white"), + mono); + declareStyle(Reserved, + QColor(0x80, 0x0, 0x0), + QColor("white"), + mono); } toCustomLexer::~toCustomLexer() @@ -98,7 +109,7 @@ void toCustomLexer::styleText(int start, int end) { QString source; - int len; + int len = end - start; if (!editor()) return; @@ -107,11 +118,10 @@ char *chars = new char[(end - start) + 1]; editor()->SendScintilla(QsciScintilla::SCI_GETTEXTRANGE, start, end, chars); - source = QString(chars); + source = QString::fromUtf8(chars, end - start + 1); + lexer->setStatement(chars, len); delete [] chars; - len = end - start; - int line = editor()->SendScintilla(QsciScintilla::SCI_LINEFROMPOSITION, start); if ( line > 0) { @@ -120,10 +130,40 @@ int state = editor()->SendScintilla(QsciScintilla::SCI_GETSTYLEAT, pos); } - qDebug() << '[' << line << ',' << start << "," << end << "] " << "source =" << source; + qDebug() << '[' << line << ',' << start << "," << end << ' ' << lexer->firstWord() << "] " << "source =" << source; startStyling(start, 0x1f); - setStyling(len, getStyle()); + for(SQLLexer::Lexer::token_const_iterator i = lexer->begin(); i != lexer->end(); ++i) + { + SQLLexer::Token const &node = *i; + unsigned len2 = node.getLength(); + qDebug() << '\t' << len2 << ' ' << node.getTokenType(); + + switch( node.getTokenType()) + { + case SQLLexer::Token::X_WHITE: + setStyling(len2, Default); + break; + case SQLLexer::Token::X_UNASSIGNED: + case SQLLexer::Token::L_IDENTIFIER: + setStyling(len2, Default); + break; + case SQLLexer::Token::X_COMMENT: + setStyling(len2, Comment); + break; + case SQLLexer::Token::X_COMMENT_ML: + setStyling(len2, CommentMultiline); + break; + case SQLLexer::Token::L_RESERVED: + setStyling(len2, Reserved); + break; + default: + setStyling(len2, Default); + } + } + +// startStyling(start, 0x1f); +// setStyling(len, getStyle()); } bool toCustomLexer::pushStyle(int style) Modified: branches/tora3/src/editor/tocustomlexer.h =================================================================== --- branches/tora3/src/editor/tocustomlexer.h 2013-03-08 12:20:54 UTC (rev 4562) +++ branches/tora3/src/editor/tocustomlexer.h 2013-03-08 18:12:19 UTC (rev 4563) @@ -41,6 +41,8 @@ #ifndef TOCUSTOMLEXER_H_ #define TOCUSTOMLEXER_H_ +#include "core/tsqllexer.h" + #include <QObject> #include <Qsci/qscilexercustom.h> @@ -53,6 +55,8 @@ enum { Default = 0, Comment = 1, + CommentMultiline = 2, + Reserved = 3, MaxStyle }; @@ -73,6 +77,7 @@ QMap<int,QString> styleNames; QList<int> styleStack; + std::auto_ptr <SQLLexer::Lexer> lexer; }; Modified: branches/tora3/src/editor/tohighlightedtexteditor.cpp =================================================================== --- branches/tora3/src/editor/tohighlightedtexteditor.cpp 2013-03-08 12:20:54 UTC (rev 4562) +++ branches/tora3/src/editor/tohighlightedtexteditor.cpp 2013-03-08 18:12:19 UTC (rev 4563) @@ -44,7 +44,6 @@ #include "core/toconnection.h" #include "core/tosqlparse.h" #include "core/toconfiguration.h" -#include "editor/tocustomlexer.h" #include "core/tologger.h" #include <QListWidget> @@ -70,15 +69,14 @@ return _sqlLexer; } -toCustomLexer * customLexer() -{ - static toCustomLexer * _customLexer = NULL; - if (!_customLexer) - _customLexer = new toCustomLexer(); - return _customLexer; -} +//toCustomLexer * customLexer() +//{ +// static toCustomLexer * _customLexer = NULL; +// if (!_customLexer) +// _customLexer = new toCustomLexer(); +// return _customLexer; +//} - toComplPopup::toComplPopup(toHighlightedTextEditor* edit) : QWidget(edit, Qt::Popup) { Modified: branches/tora3/src/tests/test1.cpp =================================================================== --- branches/tora3/src/tests/test1.cpp 2013-03-08 12:20:54 UTC (rev 4562) +++ branches/tora3/src/tests/test1.cpp 2013-03-08 18:12:19 UTC (rev 4563) @@ -81,13 +81,10 @@ try { - -#ifndef Q_OS_WIN32 QLibrary parsing("parsing"); parsing.load(); -#endif - std::auto_ptr <SQLParser::Lexer> lexer = LexerFactTwoParmSing::Instance().create("OracleSQL", "a b c", ""); + std::auto_ptr <SQLLexer::Lexer> lexer = LexerFactTwoParmSing::Instance().create("OracleSQL", "a b c", ""); for(int i = 0; i <= 10; i++) { Modified: branches/tora3/src/tests/test4.cpp =================================================================== --- branches/tora3/src/tests/test4.cpp 2013-03-08 12:20:54 UTC (rev 4562) +++ branches/tora3/src/tests/test4.cpp 2013-03-08 18:12:19 UTC (rev 4563) @@ -46,6 +46,7 @@ #include "core/toconfiguration.h" #include <QApplication> +#include <QLibrary> int main(int argc, char **argv) { @@ -54,6 +55,9 @@ toConfiguration::setQSettingsEnv(); QApplication app(argc, argv); + + QLibrary parsing("parsing"); + parsing.load(); new Test4Window(); int ret = qApp->exec(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ibr...@us...> - 2013-03-08 21:08:11
|
Revision: 4564 http://sourceforge.net/p/tora/code/4564 Author: ibre5041 Date: 2013-03-08 21:08:07 +0000 (Fri, 08 Mar 2013) Log Message: ----------- custom lexer fixed Modified Paths: -------------- branches/tora3/extlibs/parsing/tsqllexeroracle.cpp branches/tora3/src/core/tsqllexer.h Modified: branches/tora3/extlibs/parsing/tsqllexeroracle.cpp =================================================================== --- branches/tora3/extlibs/parsing/tsqllexeroracle.cpp 2013-03-08 18:12:19 UTC (rev 4563) +++ branches/tora3/extlibs/parsing/tsqllexeroracle.cpp 2013-03-08 21:08:07 UTC (rev 4564) @@ -145,16 +145,21 @@ int offset = token->getStartIndex(token); Token::TokenType type = Token::X_UNASSIGNED; - if( token->getChannel(token) == HIDDEN) - type = Token::X_WHITE; + int t = token->getType(token); + if( t == SL_COMMENT ) + type = Token::X_COMMENT; + else if( t == ML_COMMENT) + type = Token::X_COMMENT_ML; + else if( token->getChannel(token) == HIDDEN) + type = Token::X_WHITE; else - switch(token->getType(token)) - { - case T_RESERVED: type = Token::L_RESERVED; break; - case SL_COMMENT: type = Token::X_COMMENT; break; - case ML_COMMENT: type = Token::X_COMMENT_ML; break; - } - + switch(token->getType(token)) + { + case T__200: + case T_RESERVED: type = Token::L_RESERVED; break; + default: type = Token::X_UNASSIGNED; + } + return Token(Position(line, column), length, type); } else throw SQLParser::ParseException(); Modified: branches/tora3/src/core/tsqllexer.h =================================================================== --- branches/tora3/src/core/tsqllexer.h 2013-03-08 18:12:19 UTC (rev 4563) +++ branches/tora3/src/core/tsqllexer.h 2013-03-08 21:08:07 UTC (rev 4564) @@ -177,7 +177,7 @@ {}; explicit token_const_iterator(Lexer const& l, int i) - : _mLastIndex(i) + : _mLastIndex(l.size()) , _mCurrentIndex(i) , _mLexer(l) {}; @@ -212,7 +212,7 @@ token_const_iterator begin() const { - return token_const_iterator(*this, 0); + return token_const_iterator(*this, 0); } token_const_iterator end() const This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ibr...@us...> - 2013-03-15 13:43:43
|
Revision: 4575 http://sourceforge.net/p/tora/code/4575 Author: ibre5041 Date: 2013-03-15 13:43:29 +0000 (Fri, 15 Mar 2013) Log Message: ----------- First working version of the toCustomLexer driven by ANTLR generated code. See test4 for details. Modified Paths: -------------- branches/tora3/extlibs/parsing/CMakeLists.txt branches/tora3/extlibs/parsing.cpp/PLSQLGuiLexer.g branches/tora3/extlibs/parsing.cpp/input/simple01.sql branches/tora3/src/core/tsqllexer.h branches/tora3/src/editor/tocustomlexer.cpp branches/tora3/src/editor/tocustomlexer.h Added Paths: ----------- branches/tora3/extlibs/parsing/PLSQLGuiLexer.cpp branches/tora3/extlibs/parsing/PLSQLGuiLexer.hpp branches/tora3/extlibs/parsing/UserGuiTraits.hpp branches/tora3/extlibs/parsing/tsqllexeroracle2.cpp Modified: branches/tora3/extlibs/parsing/CMakeLists.txt =================================================================== --- branches/tora3/extlibs/parsing/CMakeLists.txt 2013-03-14 17:09:41 UTC (rev 4574) +++ branches/tora3/extlibs/parsing/CMakeLists.txt 2013-03-15 13:43:29 UTC (rev 4575) @@ -13,12 +13,14 @@ tplsqlparseoracle.cpp tsqllexeroracle.cpp tsqlparseoracle.cpp -## tsqlparser_export.h + tsqllexeroracle2.cpp + PLSQLGuiLexer.cpp ) INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/extlibs/libantlr3c-3.3/include ${CMAKE_BINARY_DIR}/extlibs/libantlr3c-3.3 # generated antlr3config.h + ${CMAKE_SOURCE_DIR}/extlibs/libantlr3cpp-3.5.1/include ${CMAKE_SOURCE_DIR}/src # core/tologger.h ${Boost_INCLUDE_DIRS} ) Added: branches/tora3/extlibs/parsing/PLSQLGuiLexer.cpp =================================================================== --- branches/tora3/extlibs/parsing/PLSQLGuiLexer.cpp (rev 0) +++ branches/tora3/extlibs/parsing/PLSQLGuiLexer.cpp 2013-03-15 13:43:29 UTC (rev 4575) @@ -0,0 +1,46226 @@ +/** \file + * This C++ source file was generated by $ANTLR version 3.5.1-SNAPSHOT + * + * - From the grammar source file : PLSQLGuiLexer.g + * - On : 2013-03-15 14:36:36 + * - for the lexer : PLSQLGuiLexerLexer + * + * Editing it, at least manually, is not wise. + * + * C++ language generator and runtime by Gokulakannan Somasundaram ( heavy lifting from C Run-time by Jim Idle ) + * + * +*/ +// [The "BSD license"] +// Copyright (c) 2005-2009 Gokulakannan Somasundaram, ElectronDB +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +/* ============================================================================= + * This is what the grammar programmer asked us to put at the top of every file. + */ + +/* + * Oracle(c) PL/SQL 11g Parser + * + * Copyright (c) 2009-2011 Alexandre Porcelli <ale...@gm...> + * Copyright (c) 2012-2013 Ivan Brezina <ibr...@ib...> + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * This code was forked from PL/SQL parser and adoptopted + * for QScintilla's custom lexer. + */ + +/* End of Header action. + * ============================================================================= + */ + +/* ----------------------------------------- + * Include the ANTLR3 generated header file. + */ +#include "PLSQLGuiLexer.hpp" +/* ----------------------------------------- */ + +/** + * Oracle(c) PL/SQL 11g Lexer/Parser + * + * Copyright (c) 2009-2011 Alexandre Porcelli <ale...@gm...> + * Copyright (c) 2012-2013 Ivan Brezina <ibr...@ib...> + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * This code was forked from PL/SQL parser and adoptopted + * for QScintilla's custom lexer. + * + */ + + +namespace User { + +/** String literals used by PLSQLGuiLexer that we must do things like MATCHS() with. + * C will normally just lay down 8 bit characters, and you can use L"xxx" to + * get wchar_t, but wchar_t is 16 bits on Windows, which is not UTF32 and so + * we perform this little trick of defining the literals as arrays of UINT32 + * and passing in the address of these. + */ +static ANTLR_UCHAR lit_1[] = { 0x2E, 0x2E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_2[] = { 0x2A, 0x2A, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_3[] = { 0x3A, 0x3D, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_4[] = { 0x3C, 0x3D, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_5[] = { 0x3E, 0x3D, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_6[] = { 0x21, 0x3D, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_7[] = { 0x3C, 0x3E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_8[] = { 0x5E, 0x3D, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_9[] = { 0x7E, 0x3D, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_10[] = { 0x7C, 0x7C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_11[] = { 0x2D, 0x2D, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_12[] = { 0x2F, 0x2A, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_13[] = { 0x2A, 0x2F, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_14[] = { 0x50, 0x52, 0x4F, 0x4D, 0x50, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_15[] = { 0x41, 0x44, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_16[] = { 0x41, 0x44, 0x56, 0x49, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_17[] = { 0x41, 0x46, 0x54, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_18[] = { 0x41, 0x47, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_19[] = { 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_20[] = { 0x41, 0x4C, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_21[] = { 0x41, 0x4C, 0x54, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_22[] = { 0x41, 0x4E, 0x41, 0x4C, 0x59, 0x5A, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_23[] = { 0x41, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_24[] = { 0x41, 0x4E, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_25[] = { 0x41, 0x52, 0x52, 0x41, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_26[] = { 0x41, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_27[] = { 0x41, 0x53, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_28[] = { 0x41, 0x53, 0x53, 0x4F, 0x43, 0x49, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_29[] = { 0x41, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_30[] = { 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_31[] = { 0x41, 0x55, 0x44, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_32[] = { 0x41, 0x55, 0x54, 0x48, 0x49, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_33[] = { 0x41, 0x55, 0x54, 0x4F, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_34[] = { 0x41, 0x55, 0x54, 0x4F, 0x4D, 0x41, 0x54, 0x49, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_35[] = { 0x41, 0x55, 0x54, 0x4F, 0x4E, 0x4F, 0x4D, 0x4F, 0x55, 0x53, 0x5F, 0x54, 0x52, 0x41, 0x4E, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_36[] = { 0x42, 0x41, 0x54, 0x43, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_37[] = { 0x42, 0x45, 0x46, 0x4F, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_38[] = { 0x42, 0x45, 0x47, 0x49, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_39[] = { 0x42, 0x45, 0x54, 0x57, 0x45, 0x45, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_40[] = { 0x42, 0x46, 0x49, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_41[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_42[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, 0x5F, 0x49, 0x4E, 0x46, 0x49, 0x4E, 0x49, 0x54, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_43[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, 0x5F, 0x4D, 0x41, 0x58, 0x5F, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_44[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, 0x5F, 0x4D, 0x41, 0x58, 0x5F, 0x53, 0x55, 0x42, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_45[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, 0x5F, 0x4D, 0x49, 0x4E, 0x5F, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_46[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, 0x5F, 0x4D, 0x49, 0x4E, 0x5F, 0x53, 0x55, 0x42, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_47[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, 0x5F, 0x4E, 0x41, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_48[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_49[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x5F, 0x49, 0x4E, 0x46, 0x49, 0x4E, 0x49, 0x54, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_50[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x5F, 0x4D, 0x41, 0x58, 0x5F, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_51[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x5F, 0x4D, 0x41, 0x58, 0x5F, 0x53, 0x55, 0x42, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_52[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x5F, 0x4D, 0x49, 0x4E, 0x5F, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_53[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x5F, 0x4D, 0x49, 0x4E, 0x5F, 0x53, 0x55, 0x42, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_54[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x5F, 0x4E, 0x41, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_55[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x49, 0x4E, 0x54, 0x45, 0x47, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_56[] = { 0x42, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_57[] = { 0x42, 0x49, 0x54, 0x5F, 0x4C, 0x45, 0x4E, 0x47, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_58[] = { 0x42, 0x4C, 0x4F, 0x42, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_59[] = { 0x42, 0x4C, 0x4F, 0x43, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_60[] = { 0x42, 0x4F, 0x44, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_61[] = { 0x42, 0x4F, 0x4F, 0x4C, 0x45, 0x41, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_62[] = { 0x42, 0x4F, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_63[] = { 0x42, 0x52, 0x45, 0x41, 0x44, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_64[] = { 0x42, 0x55, 0x4C, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_65[] = { 0x42, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_66[] = { 0x42, 0x59, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_67[] = { 0x43, 0x41, 0x43, 0x48, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_68[] = { 0x43, 0x41, 0x4C, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_69[] = { 0x43, 0x41, 0x4E, 0x4F, 0x4E, 0x49, 0x43, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_70[] = { 0x43, 0x41, 0x53, 0x43, 0x41, 0x44, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_71[] = { 0x43, 0x41, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_72[] = { 0x43, 0x48, 0x41, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_73[] = { 0x43, 0x48, 0x41, 0x52, 0x41, 0x43, 0x54, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_74[] = { 0x43, 0x48, 0x41, 0x52, 0x41, 0x43, 0x54, 0x45, 0x52, 0x5F, 0x4C, 0x45, 0x4E, 0x47, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_75[] = { 0x43, 0x48, 0x41, 0x52, 0x5F, 0x43, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_76[] = { 0x43, 0x48, 0x45, 0x43, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_77[] = { 0x43, 0x4C, 0x4F, 0x42, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_78[] = { 0x43, 0x4C, 0x4F, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_79[] = { 0x43, 0x4C, 0x55, 0x53, 0x54, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_80[] = { 0x43, 0x4C, 0x55, 0x53, 0x54, 0x45, 0x52, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_81[] = { 0x43, 0x4F, 0x4C, 0x41, 0x55, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_82[] = { 0x43, 0x4F, 0x4C, 0x4C, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_83[] = { 0x43, 0x4F, 0x4C, 0x55, 0x4D, 0x4E, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_84[] = { 0x43, 0x4F, 0x4D, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_85[] = { 0x43, 0x4F, 0x4D, 0x4D, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_86[] = { 0x43, 0x4F, 0x4D, 0x4D, 0x49, 0x54, 0x54, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_87[] = { 0x43, 0x4F, 0x4D, 0x50, 0x41, 0x54, 0x49, 0x42, 0x49, 0x4C, 0x49, 0x54, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_88[] = { 0x43, 0x4F, 0x4D, 0x50, 0x49, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_89[] = { 0x43, 0x4F, 0x4D, 0x50, 0x4F, 0x55, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_90[] = { 0x43, 0x4F, 0x4D, 0x50, 0x52, 0x45, 0x53, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_91[] = { 0x43, 0x4F, 0x4E, 0x4E, 0x45, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_92[] = { 0x43, 0x4F, 0x4E, 0x4E, 0x45, 0x43, 0x54, 0x5F, 0x42, 0x59, 0x5F, 0x52, 0x4F, 0x4F, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_93[] = { 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x41, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_94[] = { 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_95[] = { 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4E, 0x54, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_96[] = { 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x55, 0x43, 0x54, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_97[] = { 0x43, 0x4F, 0x4E, 0x54, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_98[] = { 0x43, 0x4F, 0x4E, 0x54, 0x45, 0x58, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_99[] = { 0x43, 0x4F, 0x4E, 0x54, 0x49, 0x4E, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_100[] = { 0x43, 0x4F, 0x52, 0x52, 0x45, 0x53, 0x50, 0x4F, 0x4E, 0x44, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_101[] = { 0x43, 0x4F, 0x52, 0x52, 0x55, 0x50, 0x54, 0x5F, 0x58, 0x49, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_102[] = { 0x43, 0x4F, 0x52, 0x52, 0x55, 0x50, 0x54, 0x5F, 0x58, 0x49, 0x44, 0x5F, 0x41, 0x4C, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_103[] = { 0x43, 0x4F, 0x53, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_104[] = { 0x43, 0x52, 0x41, 0x53, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_105[] = { 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_106[] = { 0x43, 0x52, 0x4F, 0x53, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_107[] = { 0x43, 0x55, 0x42, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_108[] = { 0x43, 0x55, 0x52, 0x52, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_109[] = { 0x43, 0x55, 0x52, 0x52, 0x45, 0x4E, 0x54, 0x5F, 0x55, 0x53, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_110[] = { 0x43, 0x55, 0x52, 0x53, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_111[] = { 0x43, 0x55, 0x53, 0x54, 0x4F, 0x4D, 0x44, 0x41, 0x54, 0x55, 0x4D, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_112[] = { 0x43, 0x59, 0x43, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_113[] = { 0x44, 0x41, 0x54, 0x41, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_114[] = { 0x44, 0x41, 0x54, 0x41, 0x42, 0x41, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_115[] = { 0x44, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_116[] = { 0x44, 0x41, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_117[] = { 0x44, 0x42, 0x5F, 0x52, 0x4F, 0x4C, 0x45, 0x5F, 0x43, 0x48, 0x41, 0x4E, 0x47, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_118[] = { 0x44, 0x44, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_119[] = { 0x44, 0x45, 0x42, 0x55, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_120[] = { 0x44, 0x45, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_121[] = { 0x44, 0x45, 0x43, 0x49, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_122[] = { 0x44, 0x45, 0x43, 0x4C, 0x41, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_123[] = { 0x44, 0x45, 0x43, 0x52, 0x45, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_124[] = { 0x44, 0x45, 0x46, 0x41, 0x55, 0x4C, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_125[] = { 0x44, 0x45, 0x46, 0x41, 0x55, 0x4C, 0x54, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_126[] = { 0x44, 0x45, 0x46, 0x45, 0x52, 0x52, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_127[] = { 0x44, 0x45, 0x46, 0x49, 0x4E, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_128[] = { 0x44, 0x45, 0x4C, 0x45, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_129[] = { 0x44, 0x45, 0x53, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_130[] = { 0x44, 0x45, 0x54, 0x45, 0x52, 0x4D, 0x49, 0x4E, 0x49, 0x53, 0x54, 0x49, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_131[] = { 0x44, 0x49, 0x4D, 0x45, 0x4E, 0x53, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_132[] = { 0x44, 0x49, 0x53, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_133[] = { 0x44, 0x49, 0x53, 0x41, 0x53, 0x53, 0x4F, 0x43, 0x49, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_134[] = { 0x44, 0x49, 0x53, 0x54, 0x49, 0x4E, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_135[] = { 0x44, 0x4D, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_136[] = { 0x44, 0x4F, 0x43, 0x55, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_137[] = { 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_138[] = { 0x44, 0x52, 0x4F, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_139[] = { 0x44, 0x53, 0x49, 0x4E, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4C, 0x5F, 0x55, 0x4E, 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4E, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_140[] = { 0x45, 0x41, 0x43, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_141[] = { 0x45, 0x4C, 0x45, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_142[] = { 0x45, 0x4C, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_143[] = { 0x45, 0x4C, 0x53, 0x49, 0x46, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_144[] = { 0x45, 0x4D, 0x50, 0x54, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_145[] = { 0x45, 0x4E, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_146[] = { 0x45, 0x4E, 0x43, 0x4F, 0x44, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_147[] = { 0x45, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_148[] = { 0x45, 0x4E, 0x54, 0x49, 0x54, 0x59, 0x45, 0x53, 0x43, 0x41, 0x50, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_149[] = { 0x45, 0x52, 0x52, 0x4F, 0x52, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_150[] = { 0x45, 0x53, 0x43, 0x41, 0x50, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_151[] = { 0x45, 0x56, 0x41, 0x4C, 0x4E, 0x41, 0x4D, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_152[] = { 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_153[] = { 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_154[] = { 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x49, 0x4F, 0x4E, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_155[] = { 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x49, 0x4F, 0x4E, 0x5F, 0x49, 0x4E, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_156[] = { 0x45, 0x58, 0x43, 0x4C, 0x55, 0x44, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_157[] = { 0x45, 0x58, 0x43, 0x4C, 0x55, 0x53, 0x49, 0x56, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_158[] = { 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_159[] = { 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_160[] = { 0x45, 0x58, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_161[] = { 0x45, 0x58, 0x50, 0x4C, 0x41, 0x49, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_162[] = { 0x45, 0x58, 0x54, 0x45, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_163[] = { 0x45, 0x58, 0x54, 0x45, 0x52, 0x4E, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_164[] = { 0x46, 0x41, 0x49, 0x4C, 0x55, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_165[] = { 0x46, 0x41, 0x4C, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_166[] = { 0x46, 0x45, 0x54, 0x43, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_167[] = { 0x46, 0x49, 0x4E, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_168[] = { 0x46, 0x4C, 0x4F, 0x41, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_169[] = { 0x46, 0x4F, 0x4C, 0x4C, 0x4F, 0x57, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_170[] = { 0x46, 0x4F, 0x4C, 0x4C, 0x4F, 0x57, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_171[] = { 0x46, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_172[] = { 0x46, 0x4F, 0x52, 0x41, 0x4C, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_173[] = { 0x46, 0x4F, 0x52, 0x43, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_174[] = { 0x46, 0x52, 0x4F, 0x4D, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_175[] = { 0x46, 0x55, 0x4C, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_176[] = { 0x46, 0x55, 0x4E, 0x43, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_177[] = { 0x47, 0x4C, 0x4F, 0x42, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_178[] = { 0x47, 0x4F, 0x54, 0x4F, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_179[] = { 0x47, 0x52, 0x41, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_180[] = { 0x47, 0x52, 0x4F, 0x55, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_181[] = { 0x47, 0x55, 0x41, 0x52, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_182[] = { 0x48, 0x41, 0x53, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_183[] = { 0x48, 0x41, 0x56, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_184[] = { 0x48, 0x49, 0x44, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_185[] = { 0x48, 0x4F, 0x55, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_186[] = { 0x49, 0x44, 0x45, 0x4E, 0x54, 0x49, 0x46, 0x49, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_187[] = { 0x49, 0x46, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_188[] = { 0x49, 0x47, 0x4E, 0x4F, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_189[] = { 0x49, 0x4D, 0x4D, 0x45, 0x44, 0x49, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_190[] = { 0x49, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_191[] = { 0x49, 0x4E, 0x43, 0x4C, 0x55, 0x44, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_192[] = { 0x49, 0x4E, 0x43, 0x4C, 0x55, 0x44, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_193[] = { 0x49, 0x4E, 0x43, 0x52, 0x45, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_194[] = { 0x49, 0x4E, 0x44, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_195[] = { 0x49, 0x4E, 0x44, 0x45, 0x58, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_196[] = { 0x49, 0x4E, 0x44, 0x45, 0x58, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_197[] = { 0x49, 0x4E, 0x44, 0x45, 0x58, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_198[] = { 0x49, 0x4E, 0x44, 0x49, 0x43, 0x41, 0x54, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_199[] = { 0x49, 0x4E, 0x44, 0x49, 0x43, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_200[] = { 0x49, 0x4E, 0x46, 0x49, 0x4E, 0x49, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_201[] = { 0x49, 0x4E, 0x4C, 0x49, 0x4E, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_202[] = { 0x49, 0x4E, 0x4E, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_203[] = { 0x49, 0x4E, 0x4F, 0x55, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_204[] = { 0x49, 0x4E, 0x53, 0x45, 0x52, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_205[] = { 0x49, 0x4E, 0x53, 0x54, 0x41, 0x4E, 0x54, 0x49, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_206[] = { 0x49, 0x4E, 0x53, 0x54, 0x45, 0x41, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_207[] = { 0x49, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_208[] = { 0x49, 0x4E, 0x54, 0x45, 0x47, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_209[] = { 0x49, 0x4E, 0x54, 0x45, 0x52, 0x53, 0x45, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_210[] = { 0x49, 0x4E, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_211[] = { 0x49, 0x4E, 0x54, 0x4F, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_212[] = { 0x49, 0x4E, 0x56, 0x41, 0x4C, 0x49, 0x44, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_213[] = { 0x49, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_214[] = { 0x49, 0x53, 0x4F, 0x4C, 0x41, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_215[] = { 0x49, 0x54, 0x45, 0x52, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_216[] = { 0x4A, 0x41, 0x56, 0x41, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_217[] = { 0x4A, 0x4F, 0x49, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_218[] = { 0x4B, 0x45, 0x45, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_219[] = { 0x4C, 0x41, 0x4E, 0x47, 0x55, 0x41, 0x47, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_220[] = { 0x4C, 0x45, 0x41, 0x44, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_221[] = { 0x4C, 0x45, 0x46, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_222[] = { 0x4C, 0x45, 0x56, 0x45, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_223[] = { 0x4C, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_224[] = { 0x4C, 0x49, 0x4B, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_225[] = { 0x4C, 0x49, 0x4B, 0x45, 0x32, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_226[] = { 0x4C, 0x49, 0x4B, 0x45, 0x34, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_227[] = { 0x4C, 0x49, 0x4B, 0x45, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_228[] = { 0x4C, 0x49, 0x4D, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_229[] = { 0x4C, 0x49, 0x4E, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_230[] = { 0x4C, 0x4F, 0x43, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_231[] = { 0x4C, 0x4F, 0x43, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_232[] = { 0x4C, 0x4F, 0x43, 0x4B, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_233[] = { 0x4C, 0x4F, 0x47, 0x4F, 0x46, 0x46, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_234[] = { 0x4C, 0x4F, 0x47, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_235[] = { 0x4C, 0x4F, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_236[] = { 0x4C, 0x4F, 0x4F, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_237[] = { 0x4D, 0x41, 0x49, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_238[] = { 0x4D, 0x41, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_239[] = { 0x4D, 0x41, 0x54, 0x43, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_240[] = { 0x4D, 0x41, 0x54, 0x43, 0x48, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_241[] = { 0x4D, 0x41, 0x58, 0x56, 0x41, 0x4C, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_242[] = { 0x4D, 0x45, 0x41, 0x53, 0x55, 0x52, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_243[] = { 0x4D, 0x45, 0x4D, 0x42, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_244[] = { 0x4D, 0x45, 0x52, 0x47, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_245[] = { 0x4D, 0x49, 0x4E, 0x55, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_246[] = { 0x4D, 0x49, 0x4E, 0x55, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_247[] = { 0x4D, 0x49, 0x4E, 0x56, 0x41, 0x4C, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_248[] = { 0x4D, 0x4C, 0x53, 0x4C, 0x41, 0x42, 0x45, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_249[] = { 0x4D, 0x4F, 0x44, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_250[] = { 0x4D, 0x4F, 0x44, 0x45, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_251[] = { 0x4D, 0x4F, 0x44, 0x49, 0x46, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_252[] = { 0x4D, 0x4F, 0x44, 0x55, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_253[] = { 0x4D, 0x4F, 0x4E, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_254[] = { 0x4D, 0x55, 0x4C, 0x54, 0x49, 0x53, 0x45, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_255[] = { 0x4E, 0x41, 0x4D, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_256[] = { 0x4E, 0x41, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_257[] = { 0x4E, 0x41, 0x54, 0x49, 0x4F, 0x4E, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_258[] = { 0x4E, 0x41, 0x54, 0x55, 0x52, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_259[] = { 0x4E, 0x41, 0x54, 0x55, 0x52, 0x41, 0x4C, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_260[] = { 0x4E, 0x41, 0x56, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_261[] = { 0x4E, 0x43, 0x48, 0x41, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_262[] = { 0x4E, 0x43, 0x48, 0x41, 0x52, 0x5F, 0x43, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_263[] = { 0x4E, 0x43, 0x4C, 0x4F, 0x42, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_264[] = { 0x4E, 0x45, 0x53, 0x54, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_265[] = { 0x4E, 0x45, 0x57, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_266[] = { 0x4E, 0x45, 0x58, 0x54, 0x56, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_267[] = { 0x4E, 0x4F, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_268[] = { 0x4E, 0x4F, 0x41, 0x55, 0x44, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_269[] = { 0x4E, 0x4F, 0x43, 0x41, 0x43, 0x48, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_270[] = { 0x4E, 0x4F, 0x43, 0x4F, 0x4D, 0x50, 0x52, 0x45, 0x53, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_271[] = { 0x4E, 0x4F, 0x43, 0x4F, 0x50, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_272[] = { 0x4E, 0x4F, 0x43, 0x59, 0x43, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_273[] = { 0x4E, 0x4F, 0x45, 0x4E, 0x54, 0x49, 0x54, 0x59, 0x45, 0x53, 0x43, 0x41, 0x50, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_274[] = { 0x4E, 0x4F, 0x4D, 0x41, 0x58, 0x56, 0x41, 0x4C, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_275[] = { 0x4E, 0x4F, 0x4D, 0x49, 0x4E, 0x56, 0x41, 0x4C, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_276[] = { 0x4E, 0x4F, 0x4E, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_277[] = { 0x4E, 0x4F, 0x4F, 0x52, 0x44, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_278[] = { 0x4E, 0x4F, 0x53, 0x43, 0x48, 0x45, 0x4D, 0x41, 0x43, 0x48, 0x45, 0x43, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_279[] = { 0x4E, 0x4F, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_280[] = { 0x4E, 0x4F, 0x54, 0x48, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_281[] = { 0x4E, 0x4F, 0x57, 0x41, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_282[] = { 0x4E, 0x55, 0x4C, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_283[] = { 0x4E, 0x55, 0x4C, 0x4C, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_284[] = { 0x4E, 0x55, 0x4D, 0x42, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_285[] = { 0x4E, 0x55, 0x4D, 0x45, 0x52, 0x49, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_286[] = { 0x4E, 0x56, 0x41, 0x52, 0x43, 0x48, 0x41, 0x52, 0x32, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_287[] = { 0x4F, 0x42, 0x4A, 0x45, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_288[] = { 0x4F, 0x43, 0x54, 0x45, 0x54, 0x5F, 0x4C, 0x45, 0x4E, 0x47, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_289[] = { 0x4F, 0x46, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_290[] = { 0x4F, 0x46, 0x46, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_291[] = { 0x4F, 0x49, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_292[] = { 0x4F, 0x4C, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_293[] = { 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_294[] = { 0x4F, 0x4E, 0x4C, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_295[] = { 0x4F, 0x50, 0x45, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_296[] = { 0x4F, 0x50, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_297[] = { 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_298[] = { 0x4F, 0x52, 0x41, 0x44, 0x41, 0x54, 0x41, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_299[] = { 0x4F, 0x52, 0x44, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_300[] = { 0x4F, 0x52, 0x44, 0x49, 0x4E, 0x41, 0x4C, 0x49, 0x54, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_301[] = { 0x4F, 0x53, 0x45, 0x52, 0x52, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_302[] = { 0x4F, 0x55, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_303[] = { 0x4F, 0x55, 0x54, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_304[] = { 0x4F, 0x56, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_305[] = { 0x4F, 0x56, 0x45, 0x52, 0x4C, 0x41, 0x50, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_306[] = { 0x4F, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_307[] = { 0x50, 0x41, 0x43, 0x4B, 0x41, 0x47, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_308[] = { 0x50, 0x41, 0x52, 0x41, 0x4C, 0x4C, 0x45, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_309[] = { 0x50, 0x41, 0x52, 0x41, 0x4C, 0x4C, 0x45, 0x4C, 0x5F, 0x45, 0x4E, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_310[] = { 0x50, 0x41, 0x52, 0x41, 0x4D, 0x45, 0x54, 0x45, 0x52, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_311[] = { 0x50, 0x41, 0x52, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_312[] = { 0x50, 0x41, 0x52, 0x54, 0x49, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_313[] = { 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_314[] = { 0x50, 0x41, 0x53, 0x53, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_315[] = { 0x50, 0x49, 0x50, 0x45, 0x4C, 0x49, 0x4E, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_316[] = { 0x50, 0x49, 0x56, 0x4F, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_317[] = { 0x50, 0x4C, 0x41, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_318[] = { 0x50, 0x4C, 0x53, 0x5F, 0x49, 0x4E, 0x54, 0x45, 0x47, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_319[] = { 0x50, 0x4F, 0x53, 0x49, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_320[] = { 0x50, 0x4F, 0x53, 0x49, 0x54, 0x49, 0x56, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_321[] = { 0x50, 0x4F, 0x53, 0x49, 0x54, 0x49, 0x56, 0x45, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_322[] = { 0x50, 0x52, 0x41, 0x47, 0x4D, 0x41, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_323[] = { 0x50, 0x52, 0x45, 0x43, 0x45, 0x44, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_324[] = { 0x50, 0x52, 0x45, 0x43, 0x49, 0x53, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_325[] = { 0x50, 0x52, 0x45, 0x53, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_326[] = { 0x50, 0x52, 0x49, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_327[] = { 0x50, 0x52, 0x4F, 0x43, 0x45, 0x44, 0x55, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_328[] = { 0x50, 0x55, 0x42, 0x4C, 0x49, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_329[] = { 0x51, 0x55, 0x45, 0x52, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_330[] = { 0x52, 0x41, 0x49, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_331[] = { 0x52, 0x41, 0x4E, 0x47, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_332[] = { 0x52, 0x41, 0x57, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_333[] = { 0x52, 0x45, 0x41, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_334[] = { 0x52, 0x45, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_335[] = { 0x52, 0x45, 0x43, 0x4F, 0x52, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_336[] = { 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4E, 0x43, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_337[] = { 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4E, 0x43, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_338[] = { 0x52, 0x45, 0x4A, 0x45, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_339[] = { 0x52, 0x45, 0x4C, 0x49, 0x45, 0x53, 0x5F, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_340[] = { 0x52, 0x45, 0x4E, 0x41, 0x4D, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_341[] = { 0x52, 0x45, 0x50, 0x4C, 0x41, 0x43, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_342[] = { 0x52, 0x45, 0x53, 0x4F, 0x55, 0x52, 0x43, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_343[] = { 0x52, 0x45, 0x53, 0x50, 0x45, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_344[] = { 0x52, 0x45, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x5F, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4E, 0x43, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_345[] = { 0x52, 0x45, 0x53, 0x55, 0x4C, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_346[] = { 0x52, 0x45, 0x53, 0x55, 0x4C, 0x54, 0x5F, 0x43, 0x41, 0x43, 0x48, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_347[] = { 0x52, 0x45, 0x53, 0x55, 0x4D, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_348[] = { 0x52, 0x45, 0x54, 0x55, 0x52, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_349[] = { 0x52, 0x45, 0x54, 0x55, 0x52, 0x4E, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_350[] = { 0x52, 0x45, 0x55, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_351[] = { 0x52, 0x45, 0x56, 0x45, 0x52, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_352[] = { 0x52, 0x45, 0x56, 0x4F, 0x4B, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_353[] = { 0x52, 0x49, 0x47, 0x48, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_354[] = { 0x52, 0x4F, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_355[] = { 0x52, 0x4F, 0x4C, 0x4C, 0x42, 0x41, 0x43, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_356[] = { 0x52, 0x4F, 0x4C, 0x4C, 0x55, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_357[] = { 0x52, 0x4F, 0x57, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_358[] = { 0x52, 0x4F, 0x57, 0x49, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_359[] = { 0x52, 0x4F, 0x57, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_360[] = { 0x52, 0x55, 0x4C, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_361[] = { 0x53, 0x41, 0x4D, 0x50, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_362[] = { 0x53, 0x41, 0x56, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_363[] = { 0x53, 0x41, 0x56, 0x45, 0x50, 0x4F, 0x49, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_364[] = { 0x53, 0x43, 0x48, 0x45, 0x4D, 0x41, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_365[] = { 0x53, 0x43, 0x48, 0x45, 0x4D, 0x41, 0x43, 0x48, 0x45, 0x43, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_366[] = { 0x53, 0x43, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_367[] = { 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_368[] = { 0x53, 0x45, 0x43, 0x4F, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_369[] = { 0x53, 0x45, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_370[] = { 0x53, 0x45, 0x47, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_371[] = { 0x53, 0x45, 0x4C, 0x45, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_372[] = { 0x53, 0x45, 0x4C, 0x46, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_373[] = { 0x53, 0x45, 0x51, 0x55, 0x45, 0x4E, 0x43, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_374[] = { 0x53, 0x45, 0x51, 0x55, 0x45, 0x4E, 0x54, 0x49, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_375[] = { 0x53, 0x45, 0x52, 0x49, 0x41, 0x4C, 0x49, 0x5A, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_376[] = { 0x53, 0x45, 0x52, 0x49, 0x41, 0x4C, 0x4C, 0x59, 0x5F, 0x52, 0x45, 0x55, 0x53, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_377[] = { 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x45, 0x52, 0x52, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_378[] = { 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x4F, 0x55, 0x54, 0x50, 0x55, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_379[] = { 0x53, 0x45, 0x53, 0x53, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_380[] = { 0x53, 0x45, 0x53, 0x53, 0x49, 0x4F, 0x4E, 0x5F, 0x55, 0x53, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_381[] = { 0x53, 0x45, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_382[] = { 0x53, 0x45, 0x54, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_383[] = { 0x53, 0x45, 0x54, 0x54, 0x49, 0x4E, 0x47, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_384[] = { 0x53, 0x48, 0x41, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_385[] = { 0x53, 0x48, 0x4F, 0x57, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_386[] = { 0x53, 0x48, 0x55, 0x54, 0x44, 0x4F, 0x57, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_387[] = { 0x53, 0x49, 0x42, 0x4C, 0x49, 0x4E, 0x47, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_388[] = { 0x53, 0x49, 0x47, 0x4E, 0x54, 0x59, 0x50, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_389[] = { 0x53, 0x49, 0x4D, 0x50, 0x4C, 0x45, 0x5F, 0x49, 0x4E, 0x54, 0x45, 0x47, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_390[] = { 0x53, 0x49, 0x4E, 0x47, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_391[] = { 0x53, 0x49, 0x5A, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_392[] = { 0x53, 0x4B, 0x49, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_393[] = { 0x53, 0x4D, 0x41, 0x4C, 0x4C, 0x49, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_394[] = { 0x53, 0x4E, 0x41, 0x50, 0x53, 0x48, 0x4F, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_395[] = { 0x53, 0x4F, 0x4D, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_396[] = { 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_397[] = { 0x53, 0x51, 0x4C, 0x44, 0x41, 0x54, 0x41, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_398[] = { 0x53, 0x51, 0x4C, 0x45, 0x52, 0x52, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_399[] = { 0x53, 0x54, 0x41, 0x4E, 0x44, 0x41, 0x4C, 0x4F, 0x4E, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_400[] = { 0x53, 0x54, 0x41, 0x52, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_401[] = { 0x53, 0x54, 0x41, 0x52, 0x54, 0x55, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_402[] = { 0x53, 0x54, 0x41, 0x54, 0x45, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_403[] = { 0x53, 0x54, 0x41, 0x54, 0x45, 0x4D, 0x45, 0x4E, 0x54, 0x5F, 0x49, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_404[] = { 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_405[] = { 0x53, 0x54, 0x41, 0x54, 0x49, 0x53, 0x54, 0x49, 0x43, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_406[] = { 0x53, 0x54, 0x52, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_407[] = { 0x53, 0x55, 0x42, 0x4D, 0x55, 0x4C, 0x54, 0x49, 0x53, 0x45, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_408[] = { 0x53, 0x55, 0x42, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_409[] = { 0x53, 0x55, 0x42, 0x53, 0x54, 0x49, 0x54, 0x55, 0x54, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_410[] = { 0x53, 0x55, 0x42, 0x54, 0x59, 0x50, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_411[] = { 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_412[] = { 0x53, 0x55, 0x53, 0x50, 0x45, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_413[] = { 0x53, 0x59, 0x53, 0x54, 0x45, 0x4D, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_414[] = { 0x53, 0x59, 0x53, 0x54, 0x45, 0x4D, 0x5F, 0x55, 0x53, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_415[] = { 0x54, 0x41, 0x42, 0x41, 0x55, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_416[] = { 0x54, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_417[] = { 0x54, 0x48, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_418[] = { 0x54, 0x48, 0x45, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_419[] = { 0x54, 0x49, 0x4D, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_420[] = { 0x54, 0x49, 0x4D, 0x45, 0x4F, 0x55, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_421[] = { 0x54, 0x49, 0x4D, 0x45, 0x53, 0x54, 0x41, 0x4D, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_422[] = { 0x54, 0x49, 0x4D, 0x45, 0x53, 0x54, 0x41, 0x4D, 0x50, 0x5F, 0x4C, 0x54, 0x5A, 0x5F, 0x55, 0x4E, 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4E, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_423[] = { 0x54, 0x49, 0x4D, 0x45, 0x53, 0x54, 0x41, 0x4D, 0x50, 0x5F, 0x54, 0x5A, 0x5F, 0x55, 0x4E, 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4E, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_424[] = { 0x54, 0x49, 0x4D, 0x45, 0x53, 0x54, 0x41, 0x4D, 0x50, 0x5F, 0x55, 0x4E, 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4E, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_425[] = { 0x54, 0x49, 0x4D, 0x45, 0x5A, 0x4F, 0x4E, 0x45, 0x5F, 0x41, 0x42, 0x42, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_426[] = { 0x54, 0x49, 0x4D, 0x45, 0x5A, 0x4F, 0x4E, 0x45, 0x5F, 0x48, 0x4F, 0x55, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_427[] = { 0x54, 0x49, 0x4D, 0x45, 0x5A, 0x4F, 0x4E, 0x45, 0x5F, 0x4D, 0x49, 0x4E, 0x55, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_428[] = { 0x54, 0x49, 0x4D, 0x45, 0x5A, 0x4F, 0x4E, 0x45, 0x5F, 0x52, 0x45, 0x47, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_429[] = { 0x54, 0x4F, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_430[] = { 0x54, 0x52, 0x41, 0x49, 0x4C, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_431[] = { 0x54, 0x52, 0x41, 0x4E, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_432[] = { 0x54, 0x52, 0x49, 0x47, 0x47, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_433[] = { 0x54, 0x52, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_434[] = { 0x54, 0x52, 0x55, 0x4E, 0x43, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_435[] = { 0x54, 0x59, 0x50, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_436[] = { 0x55, 0x4E, 0x42, 0x4F, 0x55, 0x4E, 0x44, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_437[] = { 0x55, 0x4E, 0x44, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_438[] = { 0x55, 0x4E, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_439[] = { 0x55, 0x4E, 0x49, 0x51, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_440[] = { 0x55, 0x4E, 0x4B, 0x4E, 0x4F, 0x57, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_441[] = { 0x55, 0x4E, 0x4C, 0x49, 0x4D, 0x49, 0x54, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_442[] = { 0x55, 0x4E, 0x50, 0x49, 0x56, 0x4F, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_443[] = { 0x55, 0x4E, 0x54, 0x49, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_444[] = { 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_445[] = { 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_446[] = { 0x55, 0x50, 0x53, 0x45, 0x52, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_447[] = { 0x55, 0x52, 0x4F, 0x57, 0x49, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_448[] = { 0x55, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_449[] = { 0x55, 0x53, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_450[] = { 0x56, 0x41, 0x4C, 0x49, 0x44, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_451[] = { 0x56, 0x41, 0x4C, 0x55, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_452[] = { 0x56, 0x41, 0x52, 0x43, 0x48, 0x41, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_453[] = { 0x56, 0x41, 0x52, 0x43, 0x48, 0x41, 0x52, 0x32, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_454[] = { 0x56, 0x41, 0x52, 0x49, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_455[] = { 0x56, 0x41, 0x52, 0x52, 0x41, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_456[] = { 0x56, 0x41, 0x52, 0x59, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_457[] = { 0x56, 0x45, 0x52, 0x53, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_458[] = { 0x56, 0x45, 0x52, 0x53, 0x49, 0x4F, 0x4E, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_459[] = { 0x56, 0x49, 0x45, 0x57, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_460[] = { 0x56, 0x49, 0x45, 0x57, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_461[] = { 0x57, 0x41, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_462[] = { 0x57, 0x41, 0x52, 0x4E, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_463[] = { 0x57, 0x45, 0x4C, 0x4C, 0x46, 0x4F, 0x52, 0x4D, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_464[] = { 0x57, 0x48, 0x45, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_465[] = { 0x57, 0x48, 0x45, 0x4E, 0x45, 0x56, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_466[] = { 0x57, 0x48, 0x45, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_467[] = { 0x57, 0x48, 0x49, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_468[] = { 0x57, 0x49, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_469[] = { 0x57, 0x49, 0x54, 0x48, 0x49, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_470[] = { 0x57, 0x4F, 0x52, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_471[] = { 0x57, 0x52, 0x49, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_472[] = { 0x58, 0x4D, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_473[] = { 0x58, 0x4D, 0x4C, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_474[] = { 0x58, 0x4D, 0x4C, 0x4E, 0x41, 0x4D, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_475[] = { 0x59, 0x45, 0x41, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_476[] = { 0x59, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_477[] = { 0x59, 0x4D, 0x49, 0x4E, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4C, 0x5F, 0x55, 0x4E, 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4E, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_478[] = { 0x5A, 0x4F, 0x4E, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_479[] = { 0x41, 0x42, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_480[] = { 0x41, 0x43, 0x4F, 0x53, antlr3::ANTLR_S... [truncated message content] |
From: <ibr...@us...> - 2013-03-15 20:34:54
|
Revision: 4577 http://sourceforge.net/p/tora/code/4577 Author: ibre5041 Date: 2013-03-15 20:34:51 +0000 (Fri, 15 Mar 2013) Log Message: ----------- test4 Linux fixes Modified Paths: -------------- branches/tora3/extlibs/parsing/tsqllexeroracle2.cpp branches/tora3/src/CMakeLists.txt branches/tora3/src/tests/test4window.cpp Added Paths: ----------- branches/tora3/src/tests/complex05.sql branches/tora3/src/tests/test4.qrc Modified: branches/tora3/extlibs/parsing/tsqllexeroracle2.cpp =================================================================== --- branches/tora3/extlibs/parsing/tsqllexeroracle2.cpp 2013-03-15 19:51:54 UTC (rev 4576) +++ branches/tora3/extlibs/parsing/tsqllexeroracle2.cpp 2013-03-15 20:34:51 UTC (rev 4577) @@ -237,4 +237,4 @@ }; -Util::RegisterInFactory<SQLLexer::OracleLexerNew, LexerFactTwoParmSing> regOracleSQLLexStatement("OracleSQLNew"); +Util::RegisterInFactory<SQLLexer::OracleLexerNew, LexerFactTwoParmSing> regOracleSQLLexStatement2("OracleSQLNew"); Modified: branches/tora3/src/CMakeLists.txt =================================================================== --- branches/tora3/src/CMakeLists.txt 2013-03-15 19:51:54 UTC (rev 4576) +++ branches/tora3/src/CMakeLists.txt 2013-03-15 20:34:51 UTC (rev 4577) @@ -69,6 +69,10 @@ SET(TORA_RCC_FILES tora.qrc icons.qrc) +IF(TORA_DEBUG) + LIST (APPEND TORA_RCC_FILES tests/test4.qrc) +ENDIF() + ################################################################################ # User interface files # ################################################################################ Added: branches/tora3/src/tests/complex05.sql =================================================================== --- branches/tora3/src/tests/complex05.sql (rev 0) +++ branches/tora3/src/tests/complex05.sql 2013-03-15 20:34:51 UTC (rev 4577) @@ -0,0 +1,122 @@ +select + 'hello' + , 'oracle.dbs' + , 'jackie''s raincoat' + , '09-mar-98' + , '' + , '''' + , q'!name like '%dbms_%%'!' + , q'<'so,' she said, 'it's finished.'>' + , q'{select * from employees where last_name = 'smith'}' + , q'"name like '['"' + , n'nchar literal' + from dual +; + +select 25 +, +6.34 +, 0.5 +, 25e-03 +, -1 -- Here are some valid floating-point number literals: +, 25f +, +6.34F +, 0.5d +, -1D +, 1. +, .5 +, (sysdate -1d) -- here we substract "one" in decimal format +, sysdate -1m -- here we substract "one" and "m" is column's alias +, sysdate -1dm +, 1.-+.5 +, 1.+.5 +, 1.+.5D +, 1.+.5DM +, 1.D +, 1.M +, .5M +, .5DM +from dual +; + +select + T1.INC_ID "ID", + T2.RCT_NAME "Status", + T1.INC_DESCRIPTION "Description", + T4.WOG_SEARCHCODE "Workgroup", + T5.PER_SEARCHCODE "Person", + T1.INC_SOLUTION "Solution", + T6.CDL_NAME "Closure Code", + T7.CDL_NAME "Closure Code Parent", + T8.CDL_NAME "Reason Caused Code", + T9.CDL_NAME "Reason Caused Code Parent", + T10.CIT_SEARCHCODE "CI", + T11.CDL_NAME "Severity", + T12.RCT_NAME "Category", + T13.CDL_NAME "Business Impact", + T16.CDL_NAME "Priority", + TO_CHAR(T1."REG_CREATED", 'DD-MM-YY HH24:MI:SS') "Registered", + TO_CHAR(T1."INC_DEADLINE", 'DD-MM-YY HH24:MI:SS') "Deadline", + TO_CHAR(T1."INC_ACTUALFINISH", 'DD-MM-YY HH24:MI:SS') "Finish", + T3.ICF_INCSHORTTEXT3 "Message Group", + T3.ICF_INCSHORTTEXT4 "Application", + T3.ICF_INCSHORTTEXT2 "Msg ID", + T99.RCT_NAME "Folder", + c.firstwg "FirstWG", + f.firstreswg "FirstRes" +from + SERVICEDESKREPO.REP_CODES_TEXT T2, + SERVICEDESK.ITSM_INC_CUSTOM_FIELDS T3, + SERVICEDESK.ITSM_WORKGROUPS T4, + SERVICEDESK.ITSM_CODES_LOCALE T11, + SERVICEDESKREPO.REP_CODES_TEXT T12, + SERVICEDESK.ITSM_CODES_LOCALE T13, + SERVICEDESKREPO.REP_CODES_TEXT T99, + SERVICEDESK.ITSM_CODES_LOCALE T16, + (select + a.hin_subject as firstwg, + a.hin_inc_oid as firstwgoid, + to_char(a.reg_created, 'YYYY-MM-DD HH24:MI:SS') as firstwgcreated + from + itsm_historylines_incident a, + itsm_incidents b + where a.hin_inc_oid= b.inc_oid + and a.hin_subject like 'To Workgroup set to%' + -- order by firstwgcreated desc + ) c, + ( + ( + ( + ( + ( + ( + ( + (SERVICEDESK.ITSM_INCIDENTS T1 LEFT OUTER JOIN SERVICEDESK.ITSM_PERSONS T5 on T1.INC_ASSIGN_PERSON_TO=T5.PER_OID) + LEFT OUTER JOIN SERVICEDESK.ITSM_CODES T14 on T1.INC_CLO_OID=T14.COD_OID) + LEFT OUTER JOIN SERVICEDESK.ITSM_CODES_LOCALE T6 on T14.COD_OID=T6.CDL_COD_OID) + LEFT OUTER JOIN SERVICEDESK.ITSM_CODES_LOCALE T7 on T14.COD_COD_OID=T7.CDL_COD_OID) + LEFT OUTER JOIN SERVICEDESK.ITSM_CODES T15 on T1.INC_CLA_OID=T15.COD_OID) + LEFT OUTER JOIN SERVICEDESK.ITSM_CODES_LOCALE T8 on T15.COD_OID=T8.CDL_COD_OID) + LEFT OUTER JOIN SERVICEDESK.ITSM_CODES_LOCALE T9 on T15.COD_COD_OID=T9.CDL_COD_OID) + LEFT OUTER JOIN SERVICEDESK.ITSM_CONFIGURATION_ITEMS T10 on T1.INC_CIT_OID=T10.CIT_OID) + LEFT OUTER JOIN (select d.hin_subject as firstreswg, d.hin_inc_oid as firstresoid, to_char(d.reg_created, 'YYYY-MM-DD HH24:MI:SS') as firstrescreated + from itsm_historylines_incident d, + itsm_incidents e + where d.hin_inc_oid= e.inc_oid + and ( d.hin_subject like 'To Workgroup from%' and d.hin_subject not like 'To Workgroup from%to "ITSC % Service Desk"%' ) + order by + firstrescreated desc + ) + f on f.firstresoid=T1.INC_OID +where + T1.INC_STA_OID=T2.RCT_RCD_OID and + T1.INC_OID=T3.ICF_INC_OID and + T1.INC_ASSIGN_WORKGROUP=T4.WOG_OID and + T1.INC_SEV_OID=T11.CDL_COD_OID and + T1.INC_CAT_OID=T12.RCT_RCD_OID and + T13.CDL_COD_OID=T1.INC_IMP_OID and + T1.INC_POO_OID=T99.RCT_RCD_OID and + T1.INC_PRI_OID=T16.CDL_COD_OID + and TO_DATE(T1."REG_CREATED", 'YYYY-MM-DD HH24:MI:SS') >= SYSDATE -1 + and TO_DATE(T1."REG_CREATED", 'YYYY-MM-DD HH24:MI:SS') <= SYSDATE + and c.firstwgoid=T1.INC_OID + ; \ No newline at end of file Added: branches/tora3/src/tests/test4.qrc =================================================================== --- branches/tora3/src/tests/test4.qrc (rev 0) +++ branches/tora3/src/tests/test4.qrc 2013-03-15 20:34:51 UTC (rev 4577) @@ -0,0 +1,6 @@ +<!DOCTYPE RCC> +<RCC version="1.0"> +<qresource> + <file>complex05.sql</file> +</qresource> +</RCC> Modified: branches/tora3/src/tests/test4window.cpp =================================================================== --- branches/tora3/src/tests/test4window.cpp 2013-03-15 19:51:54 UTC (rev 4576) +++ branches/tora3/src/tests/test4window.cpp 2013-03-15 20:34:51 UTC (rev 4577) @@ -54,12 +54,19 @@ { Ui::Test4Window::setupUi(this); + QFile complexSql(":/complex05.sql"); + bool r = complexSql.open(QIODevice::ReadOnly | QIODevice::Text); + QByteArray bytes = complexSql.readAll(); + QString sql(bytes); + toHighlightedTextEditor *ed1 = new toHighlightedTextEditor(this); leftVerticalLayout->addWidget(ed1); + ed1->setText(sql); toHighlightedTextEditor *ed2 = new toHighlightedTextEditor(this); ed2->setLexer(new toCustomLexer(this)); rightVerticalLayout->addWidget(ed2); + ed2->setText(sql); QMainWindow::show(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ibr...@us...> - 2013-03-17 18:28:06
|
Revision: 4581 http://sourceforge.net/p/tora/code/4581 Author: ibre5041 Date: 2013-03-17 18:28:01 +0000 (Sun, 17 Mar 2013) Log Message: ----------- Do not search for Boost on Linux, it will not found anyway Modified Paths: -------------- branches/tora3/CMakeLists.txt branches/tora3/extlibs/libermodel/CMakeLists.txt branches/tora3/extlibs/parsing/CMakeLists.txt branches/tora3/extlibs/trotl/src/CMakeLists.txt branches/tora3/src/CMakeLists.txt Modified: branches/tora3/CMakeLists.txt =================================================================== --- branches/tora3/CMakeLists.txt 2013-03-16 23:14:18 UTC (rev 4580) +++ branches/tora3/CMakeLists.txt 2013-03-17 18:28:01 UTC (rev 4581) @@ -39,14 +39,18 @@ ADD_DEFINITIONS("-DHAVE_SVNREVISION_H=1") ENDIF() -# Boost headers are required to compile with -DDEBUG (see tologger.h) and also for trotl sql parser -# SET(Boost_DEBUG TRUE) -FIND_PACKAGE(Boost 1.46.0 REQUIRED) -IF (Boost_FOUND) - MESSAGE(STATUS "Found Boost libraries for debug build: ${Boost_INCLUDE_DIRS}") -ELSE (Boost_FOUND) - MESSAGE(FATAL "Boost libs not found.") -ENDIF (Boost_FOUND) +IF(WIN32) + # Boost headers are required to compile with -DDEBUG (see tologger.h) and also for trotl sql parser + # SET(Boost_DEBUG TRUE) + FIND_PACKAGE(Boost 1.46.0 REQUIRED) + IF (Boost_FOUND) + MESSAGE(STATUS "Found Boost libraries for debug build: ${Boost_INCLUDE_DIRS}") + ELSE (Boost_FOUND) + MESSAGE(FATAL "Boost libs not found.") + ENDIF (Boost_FOUND) +ELSE() + FIND_PACKAGE(Boost 1.46.0) +ENDIF() #Project Setup PROJECT(TOra) Modified: branches/tora3/extlibs/libermodel/CMakeLists.txt =================================================================== --- branches/tora3/extlibs/libermodel/CMakeLists.txt 2013-03-16 23:14:18 UTC (rev 4580) +++ branches/tora3/extlibs/libermodel/CMakeLists.txt 2013-03-17 18:28:01 UTC (rev 4581) @@ -34,10 +34,11 @@ QT4_WRAP_CPP(ERMODEL_MOC_SOURCES ${ERMODEL_MOC_CLASSES}) -INCLUDE_DIRECTORIES( - ${graphviz_INCLUDE_DIRECTORIES} - ${Boost_INCLUDE_DIRS} -) +INCLUDE_DIRECTORIES(${graphviz_INCLUDE_DIRECTORIES}) +IF(Boost_FOUND) + INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS}) +ENDIF() + ADD_LIBRARY(ermodel STATIC ${ERMODEL_SRCS} ${ERMODEL_MOC_SOURCES}) TARGET_LINK_LIBRARIES(ermodel ${graphviz_LIBRARIES} ${QT_LIBRARIES}) Modified: branches/tora3/extlibs/parsing/CMakeLists.txt =================================================================== --- branches/tora3/extlibs/parsing/CMakeLists.txt 2013-03-16 23:14:18 UTC (rev 4580) +++ branches/tora3/extlibs/parsing/CMakeLists.txt 2013-03-17 18:28:01 UTC (rev 4581) @@ -22,9 +22,12 @@ ${CMAKE_BINARY_DIR}/extlibs/libantlr3c-3.3 # generated antlr3config.h ${CMAKE_SOURCE_DIR}/extlibs/libantlr3cpp-3.5.1/include ${CMAKE_SOURCE_DIR}/src # core/tologger.h - ${Boost_INCLUDE_DIRS} ) +IF(Boost_FOUND) + INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS}) +ENDIF() + ADD_DEFINITIONS("-DTSQLPARSER_MAKE_DLL") # Windows DLL cannot refer to symbols defined in the main application or in previously loaded DLLs. Modified: branches/tora3/extlibs/trotl/src/CMakeLists.txt =================================================================== --- branches/tora3/extlibs/trotl/src/CMakeLists.txt 2013-03-16 23:14:18 UTC (rev 4580) +++ branches/tora3/extlibs/trotl/src/CMakeLists.txt 2013-03-17 18:28:01 UTC (rev 4581) @@ -1,9 +1,12 @@ INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/extlibs/stack ${ORACLE_INCLUDES} - ${Boost_INCLUDE_DIRS} ) +IF(Boost_FOUND) + INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS}) +ENDIF() + SET(TROTL_SOURCES trotl_anydata.cpp trotl_collection.cpp Modified: branches/tora3/src/CMakeLists.txt =================================================================== --- branches/tora3/src/CMakeLists.txt 2013-03-16 23:14:18 UTC (rev 4580) +++ branches/tora3/src/CMakeLists.txt 2013-03-17 18:28:01 UTC (rev 4581) @@ -20,10 +20,13 @@ ${CMAKE_SOURCE_DIR}/extlibs/otl ${CMAKE_SOURCE_DIR}/extlibs/trotl/src ${CMAKE_SOURCE_DIR}/extlibs/parsing - ${Boost_INCLUDE_DIRS} ${QT_INCLUDES} ) +IF (Boost_FOUND) + INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS}) +ENDIF() + IF (ORACLE_INCLUDES) INCLUDE_DIRECTORIES( ${ORACLE_INCLUDES} ) ENDIF (ORACLE_INCLUDES) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ibr...@us...> - 2013-03-17 18:48:33
|
Revision: 4582 http://sourceforge.net/p/tora/code/4582 Author: ibre5041 Date: 2013-03-17 18:48:29 +0000 (Sun, 17 Mar 2013) Log Message: ----------- Remove support for precompiled headers. PCHs speedup compilation 2-3x times but: - Are nearly imposible to implement in CMAKE (not supported) - These hacks cause a lot troubles during compilation Modified Paths: -------------- branches/tora3/CMakeLists.txt branches/tora3/src/CMakeLists.txt Modified: branches/tora3/CMakeLists.txt =================================================================== --- branches/tora3/CMakeLists.txt 2013-03-17 18:28:01 UTC (rev 4581) +++ branches/tora3/CMakeLists.txt 2013-03-17 18:48:29 UTC (rev 4582) @@ -1,6 +1,14 @@ ############################################################################################################## ########## CMake Setup ########## +# Set a default build type if none was specified +IF(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + MESSAGE(STATUS "Setting build type to 'Debug' as none was specified.") + SET(CMAKE_BUILD_TYPE Debug CACHE STRING "Choose the type of build." FORCE) + # Set the possible values of build type for cmake-gui + SET_PROPERTY(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo") +ENDIF() + # options available for user's input OPTION(WANT_INTERNAL_QSCINTILLA "Use internal/bundled QScintilla2 source" OFF) OPTION(ENABLE_ORACLE "Enable/Disable Oracle support at all. Including detection" ON) @@ -8,7 +16,7 @@ OPTION(ENABLE_DB2 "Enable/Disable DB2 support. Including detection" ON) OPTION(ENABLE_TERADATA "Enable/Disable Teradata support." ON) OPTION(WANT_RPM "Enable additional RPM related stuff. Additional make package_rpm target" OFF) -OPTION(USE_PCH "Use percompiled headers" ON) +#OPTION(USE_PCH "Use percompiled headers" ON) OPTION(USE_EXPERIMENTAL "Use experimental code" ON) #Set our CMake minimum version @@ -91,13 +99,6 @@ SET(CMAKE_C_FLAGS_RELEASE "-O2 ${CXX_WARNINGS} -rdynamic -ggdb3") ENDIF (CMAKE_COMPILER_IS_GNUCC) -# # Set a default build type if none was specified -# IF(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) -# message(STATUS "Setting build type to 'Debug' as none was specified.") -# set(CMAKE_BUILD_TYPE Debug CACHE STRING "Choose the type of build." FORCE) -# # Set the possible values of build type for cmake-gui - set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo") -# ENDIF() #Convert our simpler command line option to the CMake style #None, Debug, Release, .. or custom ones if (CMAKE_BUILD_TYPE MATCHES [Dd]ebug) Modified: branches/tora3/src/CMakeLists.txt =================================================================== --- branches/tora3/src/CMakeLists.txt 2013-03-17 18:28:01 UTC (rev 4581) +++ branches/tora3/src/CMakeLists.txt 2013-03-17 18:48:29 UTC (rev 4582) @@ -1,4 +1,5 @@ -INCLUDE(PCHSupport_26) +# Precompiled headers broken +# INCLUDE(PCHSupport_26) ################################################################################ # Subdirectories # @@ -853,17 +854,19 @@ endif() -IF(USE_PCH) - IF(CMAKE_GENERATOR MATCHES Visual*) -# ADD_MSVC_PRECOMPILED_HEADERS( "stdafx.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/precompiled.h" ${EXE_NAME}) -# only one target can use precompiled headers on windows - cmake is insane sometimes -# ADD_MSVC_PRECOMPILED_HEADERS( "stdafx.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/precompiled.h" "test1") -# ADD_MSVC_PRECOMPILED_HEADERS( "stdafx.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/precompiled.h" "test2") - ELSE(CMAKE_GENERATOR MATCHES Visual*) - ADD_PRECOMPILED_HEADER(${EXE_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/precompiled.h) -# ADD_PRECOMPILED_HEADER("test1" ${CMAKE_CURRENT_SOURCE_DIR}/precompiled.h) - ENDIF(CMAKE_GENERATOR MATCHES Visual*) -ENDIF(USE_PCH) +# Precompiled headers broken (and not supported by CMAKE) +# IF(USE_PCH) +# IF(CMAKE_GENERATOR MATCHES Visual*) +# # ADD_MSVC_PRECOMPILED_HEADERS( "stdafx.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/precompiled.h" ${EXE_NAME}) +# # only one target can use precompiled headers on windows - cmake is insane sometimes +# # ADD_MSVC_PRECOMPILED_HEADERS( "stdafx.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/precompiled.h" "test1") +# # ADD_MSVC_PRECOMPILED_HEADERS( "stdafx.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/precompiled.h" "test2") +# # ADD_MSVC_PRECOMPILED_HEADERS( "stdafx.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/precompiled.h" "test4") +# ELSE(CMAKE_GENERATOR MATCHES Visual*) +# # ADD_PRECOMPILED_HEADER(${EXE_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/precompiled.h) +# # ADD_PRECOMPILED_HEADER("test1" ${CMAKE_CURRENT_SOURCE_DIR}/precompiled.h) +# ENDIF(CMAKE_GENERATOR MATCHES Visual*) +# ENDIF(USE_PCH) ################################################################################ # Connection provider libraries # This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ibr...@us...> - 2013-03-17 19:15:23
|
Revision: 4583 http://sourceforge.net/p/tora/code/4583 Author: ibre5041 Date: 2013-03-17 19:15:20 +0000 (Sun, 17 Mar 2013) Log Message: ----------- fix dependencies for Debug and Release build Modified Paths: -------------- branches/tora3/CMakeLists.txt branches/tora3/src/CMakeLists.txt Modified: branches/tora3/CMakeLists.txt =================================================================== --- branches/tora3/CMakeLists.txt 2013-03-17 18:48:29 UTC (rev 4582) +++ branches/tora3/CMakeLists.txt 2013-03-17 19:15:20 UTC (rev 4583) @@ -79,8 +79,10 @@ # For Windows only. Plugings depend on the main program binary. Therefore we must also create .exp .lib (for each .exe) # The plugin's .dll must be linked against one of them (usually against tora.lib). # Change this setting if you're compiling some test program(otherwise the test will SEGFAULT) -#SET(TORA_LIB ${EXE_NAME}) -SET(TORA_LIB test4) +IF(WIN32) + #SET(TORA_LIB ${EXE_NAME}) + SET(TORA_LIB test4) +ENDIF() # Ok, it has to be called after project is set. The we are sure we have size of void pointer set correctly... INCLUDE(LibSuffix) Modified: branches/tora3/src/CMakeLists.txt =================================================================== --- branches/tora3/src/CMakeLists.txt 2013-03-17 18:48:29 UTC (rev 4582) +++ branches/tora3/src/CMakeLists.txt 2013-03-17 19:15:20 UTC (rev 4583) @@ -850,7 +850,7 @@ ) TARGET_LINK_LIBRARIES("test4" ${TORA_LIBS}) SET_TARGET_PROPERTIES("test4" PROPERTIES ENABLE_EXPORTS ON) -ADD_DEPENDENCIES("test4" revisiontag) # explicitly say that the executable depends on the svnheader +ADD_DEPENDENCIES("test4" revisiontag ${EXE_NAME}) # explicitly say that the executable depends on the svnheader endif() @@ -881,7 +881,11 @@ "connection/tooracleconnection.cpp" "connection/tooraclequery.cpp") TARGET_LINK_LIBRARIES(${PROVIDER_ORACLE} ${ORACLE_LIBRARIES} ${QT_LIBRARIES} ${TORA_LIB} "trotl") - ADD_DEPENDENCIES(${PROVIDER_ORACLE} ${TORA_LIB}) + IF(DEFINED TORA_LIB) + ADD_DEPENDENCIES(${PROVIDER_ORACLE} ${TORA_LIB}) + ELSE() + ADD_DEPENDENCIES(${PROVIDER_ORACLE} ${EXE_NAME}) + ENDIF() MESSAGE(STATUS "${PROVIDER_ORACLE} ${ORACLE_LIBRARIES} ${QT_LIBRARIES} ${TORA_LIB} trotl") ENDIF(ORACLE_FOUND) @@ -892,7 +896,11 @@ "connection/toteradataprovider.cpp" "connection/toteradatatraits.cpp") TARGET_LINK_LIBRARIES(${PROVIDER_TERADATA} ${TERADATA_LIBRARIES} ${QT_LIBRARIES} ${TORA_LIB}) - ADD_DEPENDENCIES(${PROVIDER_TERADATA} ${TORA_LIB}) + IF(DEFINED TORA_LIB) + ADD_DEPENDENCIES(${PROVIDER_TERADATA} ${TORA_LIB}) + ELSE() + ADD_DEPENDENCIES(${PROVIDER_ORACLE} ${EXE_NAME}) + ENDIF() ENDIF (TERADATA_FOUND) ################################################################################ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ibr...@us...> - 2013-03-17 19:47:55
|
Revision: 4584 http://sourceforge.net/p/tora/code/4584 Author: ibre5041 Date: 2013-03-17 19:47:39 +0000 (Sun, 17 Mar 2013) Log Message: ----------- parsing library disabled for the moment Modified Paths: -------------- branches/tora3/extlibs/CMakeLists.txt branches/tora3/src/CMakeLists.txt Added Paths: ----------- branches/tora3/cmake/modules/PrecompiledHeader.cmake branches/tora3/src/parsing/ branches/tora3/src/parsing/PLSQLGuiLexer.cpp branches/tora3/src/parsing/PLSQLGuiLexer.hpp branches/tora3/src/parsing/UserGuiTraits.hpp branches/tora3/src/parsing/tsqllexeroracle2.cpp Added: branches/tora3/cmake/modules/PrecompiledHeader.cmake =================================================================== --- branches/tora3/cmake/modules/PrecompiledHeader.cmake (rev 0) +++ branches/tora3/cmake/modules/PrecompiledHeader.cmake 2013-03-17 19:47:39 UTC (rev 4584) @@ -0,0 +1,99 @@ +# Macro for setting up precompiled headers. Usage: +# +# add_precompiled_header(target header.h [FORCEINCLUDE]) +# +# MSVC: A source file with the same name as the header must exist and +# be included in the target (E.g. header.cpp). +# +# MSVC: Add FORCEINCLUDE to automatically include the precompiled +# header file from every source file. +# +# GCC: The precompiled header is always automatically included from +# every header file. +# +# Copyright (C) 2009-2013 Lars Christensen <la...@be...> +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation files +# (the ‘Software’), to deal in the Software without restriction, +# including without limitation the rights to use, copy, modify, merge, +# publish, distribute, sublicense, and/or sell copies of the Software, +# and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED ‘AS IS’, WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +MACRO(ADD_PRECOMPILED_HEADER _targetName _input) + GET_FILENAME_COMPONENT(_inputWe ${_input} NAME_WE) + SET(pch_source ${_inputWe}.cpp) + FOREACH(arg ${ARGN}) + IF(arg STREQUAL FORCEINCLUDE) + SET(FORCEINCLUDE ON) + ELSE(arg STREQUAL FORCEINCLUDE) + SET(FORCEINCLUDE OFF) + ENDIF(arg STREQUAL FORCEINCLUDE) + ENDFOREACH(arg) + + IF(MSVC) + GET_TARGET_PROPERTY(sources ${_targetName} SOURCES) + SET(_sourceFound FALSE) + FOREACH(_source ${sources}) + SET(PCH_COMPILE_FLAGS "") + IF(_source MATCHES \\.\(cc|cxx|cpp\)$) + GET_FILENAME_COMPONENT(_sourceWe ${_source} NAME_WE) + IF(_sourceWe STREQUAL ${_inputWe}) + SET(PCH_COMPILE_FLAGS "${PCH_COMPILE_FLAGS} /Yc${_input}") + SET(_sourceFound TRUE) + ELSE(_sourceWe STREQUAL ${_inputWe}) + SET(PCH_COMPILE_FLAGS "${PCH_COMPILE_FLAGS} /Yu${_input}") + IF(FORCEINCLUDE) + SET(PCH_COMPILE_FLAGS "${PCH_COMPILE_FLAGS} /FI${_input}") + ENDIF(FORCEINCLUDE) + ENDIF(_sourceWe STREQUAL ${_inputWe}) + SET_SOURCE_FILES_PROPERTIES(${_source} PROPERTIES COMPILE_FLAGS "${PCH_COMPILE_FLAGS}") + ENDIF(_source MATCHES \\.\(cc|cxx|cpp\)$) + ENDFOREACH() + IF(NOT _sourceFound) + MESSAGE(FATAL_ERROR "A source file for ${_input} was not found. Required for MSVC builds.") + ENDIF(NOT _sourceFound) + ENDIF(MSVC) + + IF(CMAKE_COMPILER_IS_GNUCXX) + GET_FILENAME_COMPONENT(_name ${_input} NAME) + SET(_source "${CMAKE_CURRENT_SOURCE_DIR}/${_input}") + SET(_outdir "${CMAKE_CURRENT_BINARY_DIR}/${_name}.gch") + MAKE_DIRECTORY(${_outdir}) + SET(_output "${_outdir}/.c++") + + STRING(TOUPPER "CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE}" _flags_var_name) + SET(_compiler_FLAGS ${${_flags_var_name}}) + + GET_DIRECTORY_PROPERTY(_directory_flags INCLUDE_DIRECTORIES) + FOREACH(item ${_directory_flags}) + LIST(APPEND _compiler_FLAGS "-I${item}") + ENDFOREACH(item) + + GET_DIRECTORY_PROPERTY(_directory_flags DEFINITIONS) + LIST(APPEND _compiler_FLAGS ${_directory_flags}) + + SEPARATE_ARGUMENTS(_compiler_FLAGS) + MESSAGE("${CMAKE_CXX_COMPILER} -DPCHCOMPILE ${_compiler_FLAGS} -x c++-header -o {_output} ${_source}") + ADD_CUSTOM_COMMAND( + OUTPUT ${_output} + COMMAND ${CMAKE_CXX_COMPILER} ${_compiler_FLAGS} -x c++-header -o ${_output} ${_source} + DEPENDS ${_source} ) + ADD_CUSTOM_TARGET(${_targetName}_gch DEPENDS ${_output}) + ADD_DEPENDENCIES(${_targetName} ${_targetName}_gch) + SET_TARGET_PROPERTIES(${_targetName} PROPERTIES COMPILE_FLAGS "-include ${_name} -Winvalid-pch") + ENDIF(CMAKE_COMPILER_IS_GNUCXX) +ENDMACRO() Modified: branches/tora3/extlibs/CMakeLists.txt =================================================================== --- branches/tora3/extlibs/CMakeLists.txt 2013-03-17 19:15:20 UTC (rev 4583) +++ branches/tora3/extlibs/CMakeLists.txt 2013-03-17 19:47:39 UTC (rev 4584) @@ -18,7 +18,10 @@ ENDIF(WANT_INTERNAL_QSCINTILLA) ADD_SUBDIRECTORY(libantlr3c-3.3) -ADD_SUBDIRECTORY(parsing) + +# Disabled, partially moved into src/parsing +# ADD_SUBDIRECTORY(parsing) + IF (graphviz_FOUND) ADD_SUBDIRECTORY(libermodel) ENDIF(graphviz_FOUND) Modified: branches/tora3/src/CMakeLists.txt =================================================================== --- branches/tora3/src/CMakeLists.txt 2013-03-17 19:15:20 UTC (rev 4583) +++ branches/tora3/src/CMakeLists.txt 2013-03-17 19:47:39 UTC (rev 4584) @@ -21,6 +21,7 @@ ${CMAKE_SOURCE_DIR}/extlibs/otl ${CMAKE_SOURCE_DIR}/extlibs/trotl/src ${CMAKE_SOURCE_DIR}/extlibs/parsing + ${CMAKE_SOURCE_DIR}/extlibs/libantlr3cpp-3.5.1/include ${QT_INCLUDES} ) @@ -841,6 +842,8 @@ ADD_EXECUTABLE("test4" ${GUI_TYPE} tests/test4.cpp tests/test4window.cpp + parsing/PLSQLGuiLexer.cpp + parsing/tsqllexeroracle2.cpp # ${TORA_UI_SOURCES} # ${TORA_I18N_QM} ${TEST4_MOC_SOURCES} Copied: branches/tora3/src/parsing/PLSQLGuiLexer.cpp (from rev 4580, branches/tora3/extlibs/parsing/PLSQLGuiLexer.cpp) =================================================================== --- branches/tora3/src/parsing/PLSQLGuiLexer.cpp (rev 0) +++ branches/tora3/src/parsing/PLSQLGuiLexer.cpp 2013-03-17 19:47:39 UTC (rev 4584) @@ -0,0 +1,46226 @@ +/** \file + * This C++ source file was generated by $ANTLR version 3.5.1-SNAPSHOT + * + * - From the grammar source file : PLSQLGuiLexer.g + * - On : 2013-03-15 14:36:36 + * - for the lexer : PLSQLGuiLexerLexer + * + * Editing it, at least manually, is not wise. + * + * C++ language generator and runtime by Gokulakannan Somasundaram ( heavy lifting from C Run-time by Jim Idle ) + * + * +*/ +// [The "BSD license"] +// Copyright (c) 2005-2009 Gokulakannan Somasundaram, ElectronDB +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +/* ============================================================================= + * This is what the grammar programmer asked us to put at the top of every file. + */ + +/* + * Oracle(c) PL/SQL 11g Parser + * + * Copyright (c) 2009-2011 Alexandre Porcelli <ale...@gm...> + * Copyright (c) 2012-2013 Ivan Brezina <ibr...@ib...> + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * This code was forked from PL/SQL parser and adoptopted + * for QScintilla's custom lexer. + */ + +/* End of Header action. + * ============================================================================= + */ + +/* ----------------------------------------- + * Include the ANTLR3 generated header file. + */ +#include "PLSQLGuiLexer.hpp" +/* ----------------------------------------- */ + +/** + * Oracle(c) PL/SQL 11g Lexer/Parser + * + * Copyright (c) 2009-2011 Alexandre Porcelli <ale...@gm...> + * Copyright (c) 2012-2013 Ivan Brezina <ibr...@ib...> + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * This code was forked from PL/SQL parser and adoptopted + * for QScintilla's custom lexer. + * + */ + + +namespace User { + +/** String literals used by PLSQLGuiLexer that we must do things like MATCHS() with. + * C will normally just lay down 8 bit characters, and you can use L"xxx" to + * get wchar_t, but wchar_t is 16 bits on Windows, which is not UTF32 and so + * we perform this little trick of defining the literals as arrays of UINT32 + * and passing in the address of these. + */ +static ANTLR_UCHAR lit_1[] = { 0x2E, 0x2E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_2[] = { 0x2A, 0x2A, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_3[] = { 0x3A, 0x3D, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_4[] = { 0x3C, 0x3D, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_5[] = { 0x3E, 0x3D, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_6[] = { 0x21, 0x3D, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_7[] = { 0x3C, 0x3E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_8[] = { 0x5E, 0x3D, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_9[] = { 0x7E, 0x3D, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_10[] = { 0x7C, 0x7C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_11[] = { 0x2D, 0x2D, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_12[] = { 0x2F, 0x2A, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_13[] = { 0x2A, 0x2F, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_14[] = { 0x50, 0x52, 0x4F, 0x4D, 0x50, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_15[] = { 0x41, 0x44, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_16[] = { 0x41, 0x44, 0x56, 0x49, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_17[] = { 0x41, 0x46, 0x54, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_18[] = { 0x41, 0x47, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_19[] = { 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_20[] = { 0x41, 0x4C, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_21[] = { 0x41, 0x4C, 0x54, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_22[] = { 0x41, 0x4E, 0x41, 0x4C, 0x59, 0x5A, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_23[] = { 0x41, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_24[] = { 0x41, 0x4E, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_25[] = { 0x41, 0x52, 0x52, 0x41, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_26[] = { 0x41, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_27[] = { 0x41, 0x53, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_28[] = { 0x41, 0x53, 0x53, 0x4F, 0x43, 0x49, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_29[] = { 0x41, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_30[] = { 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_31[] = { 0x41, 0x55, 0x44, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_32[] = { 0x41, 0x55, 0x54, 0x48, 0x49, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_33[] = { 0x41, 0x55, 0x54, 0x4F, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_34[] = { 0x41, 0x55, 0x54, 0x4F, 0x4D, 0x41, 0x54, 0x49, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_35[] = { 0x41, 0x55, 0x54, 0x4F, 0x4E, 0x4F, 0x4D, 0x4F, 0x55, 0x53, 0x5F, 0x54, 0x52, 0x41, 0x4E, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_36[] = { 0x42, 0x41, 0x54, 0x43, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_37[] = { 0x42, 0x45, 0x46, 0x4F, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_38[] = { 0x42, 0x45, 0x47, 0x49, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_39[] = { 0x42, 0x45, 0x54, 0x57, 0x45, 0x45, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_40[] = { 0x42, 0x46, 0x49, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_41[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_42[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, 0x5F, 0x49, 0x4E, 0x46, 0x49, 0x4E, 0x49, 0x54, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_43[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, 0x5F, 0x4D, 0x41, 0x58, 0x5F, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_44[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, 0x5F, 0x4D, 0x41, 0x58, 0x5F, 0x53, 0x55, 0x42, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_45[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, 0x5F, 0x4D, 0x49, 0x4E, 0x5F, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_46[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, 0x5F, 0x4D, 0x49, 0x4E, 0x5F, 0x53, 0x55, 0x42, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_47[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, 0x5F, 0x4E, 0x41, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_48[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_49[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x5F, 0x49, 0x4E, 0x46, 0x49, 0x4E, 0x49, 0x54, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_50[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x5F, 0x4D, 0x41, 0x58, 0x5F, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_51[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x5F, 0x4D, 0x41, 0x58, 0x5F, 0x53, 0x55, 0x42, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_52[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x5F, 0x4D, 0x49, 0x4E, 0x5F, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_53[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x5F, 0x4D, 0x49, 0x4E, 0x5F, 0x53, 0x55, 0x42, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_54[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x5F, 0x4E, 0x41, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_55[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x49, 0x4E, 0x54, 0x45, 0x47, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_56[] = { 0x42, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_57[] = { 0x42, 0x49, 0x54, 0x5F, 0x4C, 0x45, 0x4E, 0x47, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_58[] = { 0x42, 0x4C, 0x4F, 0x42, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_59[] = { 0x42, 0x4C, 0x4F, 0x43, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_60[] = { 0x42, 0x4F, 0x44, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_61[] = { 0x42, 0x4F, 0x4F, 0x4C, 0x45, 0x41, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_62[] = { 0x42, 0x4F, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_63[] = { 0x42, 0x52, 0x45, 0x41, 0x44, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_64[] = { 0x42, 0x55, 0x4C, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_65[] = { 0x42, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_66[] = { 0x42, 0x59, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_67[] = { 0x43, 0x41, 0x43, 0x48, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_68[] = { 0x43, 0x41, 0x4C, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_69[] = { 0x43, 0x41, 0x4E, 0x4F, 0x4E, 0x49, 0x43, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_70[] = { 0x43, 0x41, 0x53, 0x43, 0x41, 0x44, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_71[] = { 0x43, 0x41, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_72[] = { 0x43, 0x48, 0x41, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_73[] = { 0x43, 0x48, 0x41, 0x52, 0x41, 0x43, 0x54, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_74[] = { 0x43, 0x48, 0x41, 0x52, 0x41, 0x43, 0x54, 0x45, 0x52, 0x5F, 0x4C, 0x45, 0x4E, 0x47, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_75[] = { 0x43, 0x48, 0x41, 0x52, 0x5F, 0x43, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_76[] = { 0x43, 0x48, 0x45, 0x43, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_77[] = { 0x43, 0x4C, 0x4F, 0x42, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_78[] = { 0x43, 0x4C, 0x4F, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_79[] = { 0x43, 0x4C, 0x55, 0x53, 0x54, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_80[] = { 0x43, 0x4C, 0x55, 0x53, 0x54, 0x45, 0x52, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_81[] = { 0x43, 0x4F, 0x4C, 0x41, 0x55, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_82[] = { 0x43, 0x4F, 0x4C, 0x4C, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_83[] = { 0x43, 0x4F, 0x4C, 0x55, 0x4D, 0x4E, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_84[] = { 0x43, 0x4F, 0x4D, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_85[] = { 0x43, 0x4F, 0x4D, 0x4D, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_86[] = { 0x43, 0x4F, 0x4D, 0x4D, 0x49, 0x54, 0x54, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_87[] = { 0x43, 0x4F, 0x4D, 0x50, 0x41, 0x54, 0x49, 0x42, 0x49, 0x4C, 0x49, 0x54, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_88[] = { 0x43, 0x4F, 0x4D, 0x50, 0x49, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_89[] = { 0x43, 0x4F, 0x4D, 0x50, 0x4F, 0x55, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_90[] = { 0x43, 0x4F, 0x4D, 0x50, 0x52, 0x45, 0x53, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_91[] = { 0x43, 0x4F, 0x4E, 0x4E, 0x45, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_92[] = { 0x43, 0x4F, 0x4E, 0x4E, 0x45, 0x43, 0x54, 0x5F, 0x42, 0x59, 0x5F, 0x52, 0x4F, 0x4F, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_93[] = { 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x41, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_94[] = { 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_95[] = { 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4E, 0x54, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_96[] = { 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x55, 0x43, 0x54, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_97[] = { 0x43, 0x4F, 0x4E, 0x54, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_98[] = { 0x43, 0x4F, 0x4E, 0x54, 0x45, 0x58, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_99[] = { 0x43, 0x4F, 0x4E, 0x54, 0x49, 0x4E, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_100[] = { 0x43, 0x4F, 0x52, 0x52, 0x45, 0x53, 0x50, 0x4F, 0x4E, 0x44, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_101[] = { 0x43, 0x4F, 0x52, 0x52, 0x55, 0x50, 0x54, 0x5F, 0x58, 0x49, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_102[] = { 0x43, 0x4F, 0x52, 0x52, 0x55, 0x50, 0x54, 0x5F, 0x58, 0x49, 0x44, 0x5F, 0x41, 0x4C, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_103[] = { 0x43, 0x4F, 0x53, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_104[] = { 0x43, 0x52, 0x41, 0x53, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_105[] = { 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_106[] = { 0x43, 0x52, 0x4F, 0x53, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_107[] = { 0x43, 0x55, 0x42, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_108[] = { 0x43, 0x55, 0x52, 0x52, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_109[] = { 0x43, 0x55, 0x52, 0x52, 0x45, 0x4E, 0x54, 0x5F, 0x55, 0x53, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_110[] = { 0x43, 0x55, 0x52, 0x53, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_111[] = { 0x43, 0x55, 0x53, 0x54, 0x4F, 0x4D, 0x44, 0x41, 0x54, 0x55, 0x4D, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_112[] = { 0x43, 0x59, 0x43, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_113[] = { 0x44, 0x41, 0x54, 0x41, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_114[] = { 0x44, 0x41, 0x54, 0x41, 0x42, 0x41, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_115[] = { 0x44, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_116[] = { 0x44, 0x41, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_117[] = { 0x44, 0x42, 0x5F, 0x52, 0x4F, 0x4C, 0x45, 0x5F, 0x43, 0x48, 0x41, 0x4E, 0x47, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_118[] = { 0x44, 0x44, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_119[] = { 0x44, 0x45, 0x42, 0x55, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_120[] = { 0x44, 0x45, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_121[] = { 0x44, 0x45, 0x43, 0x49, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_122[] = { 0x44, 0x45, 0x43, 0x4C, 0x41, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_123[] = { 0x44, 0x45, 0x43, 0x52, 0x45, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_124[] = { 0x44, 0x45, 0x46, 0x41, 0x55, 0x4C, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_125[] = { 0x44, 0x45, 0x46, 0x41, 0x55, 0x4C, 0x54, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_126[] = { 0x44, 0x45, 0x46, 0x45, 0x52, 0x52, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_127[] = { 0x44, 0x45, 0x46, 0x49, 0x4E, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_128[] = { 0x44, 0x45, 0x4C, 0x45, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_129[] = { 0x44, 0x45, 0x53, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_130[] = { 0x44, 0x45, 0x54, 0x45, 0x52, 0x4D, 0x49, 0x4E, 0x49, 0x53, 0x54, 0x49, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_131[] = { 0x44, 0x49, 0x4D, 0x45, 0x4E, 0x53, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_132[] = { 0x44, 0x49, 0x53, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_133[] = { 0x44, 0x49, 0x53, 0x41, 0x53, 0x53, 0x4F, 0x43, 0x49, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_134[] = { 0x44, 0x49, 0x53, 0x54, 0x49, 0x4E, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_135[] = { 0x44, 0x4D, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_136[] = { 0x44, 0x4F, 0x43, 0x55, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_137[] = { 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_138[] = { 0x44, 0x52, 0x4F, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_139[] = { 0x44, 0x53, 0x49, 0x4E, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4C, 0x5F, 0x55, 0x4E, 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4E, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_140[] = { 0x45, 0x41, 0x43, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_141[] = { 0x45, 0x4C, 0x45, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_142[] = { 0x45, 0x4C, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_143[] = { 0x45, 0x4C, 0x53, 0x49, 0x46, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_144[] = { 0x45, 0x4D, 0x50, 0x54, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_145[] = { 0x45, 0x4E, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_146[] = { 0x45, 0x4E, 0x43, 0x4F, 0x44, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_147[] = { 0x45, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_148[] = { 0x45, 0x4E, 0x54, 0x49, 0x54, 0x59, 0x45, 0x53, 0x43, 0x41, 0x50, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_149[] = { 0x45, 0x52, 0x52, 0x4F, 0x52, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_150[] = { 0x45, 0x53, 0x43, 0x41, 0x50, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_151[] = { 0x45, 0x56, 0x41, 0x4C, 0x4E, 0x41, 0x4D, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_152[] = { 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_153[] = { 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_154[] = { 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x49, 0x4F, 0x4E, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_155[] = { 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x49, 0x4F, 0x4E, 0x5F, 0x49, 0x4E, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_156[] = { 0x45, 0x58, 0x43, 0x4C, 0x55, 0x44, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_157[] = { 0x45, 0x58, 0x43, 0x4C, 0x55, 0x53, 0x49, 0x56, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_158[] = { 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_159[] = { 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_160[] = { 0x45, 0x58, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_161[] = { 0x45, 0x58, 0x50, 0x4C, 0x41, 0x49, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_162[] = { 0x45, 0x58, 0x54, 0x45, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_163[] = { 0x45, 0x58, 0x54, 0x45, 0x52, 0x4E, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_164[] = { 0x46, 0x41, 0x49, 0x4C, 0x55, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_165[] = { 0x46, 0x41, 0x4C, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_166[] = { 0x46, 0x45, 0x54, 0x43, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_167[] = { 0x46, 0x49, 0x4E, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_168[] = { 0x46, 0x4C, 0x4F, 0x41, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_169[] = { 0x46, 0x4F, 0x4C, 0x4C, 0x4F, 0x57, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_170[] = { 0x46, 0x4F, 0x4C, 0x4C, 0x4F, 0x57, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_171[] = { 0x46, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_172[] = { 0x46, 0x4F, 0x52, 0x41, 0x4C, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_173[] = { 0x46, 0x4F, 0x52, 0x43, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_174[] = { 0x46, 0x52, 0x4F, 0x4D, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_175[] = { 0x46, 0x55, 0x4C, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_176[] = { 0x46, 0x55, 0x4E, 0x43, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_177[] = { 0x47, 0x4C, 0x4F, 0x42, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_178[] = { 0x47, 0x4F, 0x54, 0x4F, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_179[] = { 0x47, 0x52, 0x41, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_180[] = { 0x47, 0x52, 0x4F, 0x55, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_181[] = { 0x47, 0x55, 0x41, 0x52, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_182[] = { 0x48, 0x41, 0x53, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_183[] = { 0x48, 0x41, 0x56, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_184[] = { 0x48, 0x49, 0x44, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_185[] = { 0x48, 0x4F, 0x55, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_186[] = { 0x49, 0x44, 0x45, 0x4E, 0x54, 0x49, 0x46, 0x49, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_187[] = { 0x49, 0x46, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_188[] = { 0x49, 0x47, 0x4E, 0x4F, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_189[] = { 0x49, 0x4D, 0x4D, 0x45, 0x44, 0x49, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_190[] = { 0x49, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_191[] = { 0x49, 0x4E, 0x43, 0x4C, 0x55, 0x44, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_192[] = { 0x49, 0x4E, 0x43, 0x4C, 0x55, 0x44, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_193[] = { 0x49, 0x4E, 0x43, 0x52, 0x45, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_194[] = { 0x49, 0x4E, 0x44, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_195[] = { 0x49, 0x4E, 0x44, 0x45, 0x58, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_196[] = { 0x49, 0x4E, 0x44, 0x45, 0x58, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_197[] = { 0x49, 0x4E, 0x44, 0x45, 0x58, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_198[] = { 0x49, 0x4E, 0x44, 0x49, 0x43, 0x41, 0x54, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_199[] = { 0x49, 0x4E, 0x44, 0x49, 0x43, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_200[] = { 0x49, 0x4E, 0x46, 0x49, 0x4E, 0x49, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_201[] = { 0x49, 0x4E, 0x4C, 0x49, 0x4E, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_202[] = { 0x49, 0x4E, 0x4E, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_203[] = { 0x49, 0x4E, 0x4F, 0x55, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_204[] = { 0x49, 0x4E, 0x53, 0x45, 0x52, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_205[] = { 0x49, 0x4E, 0x53, 0x54, 0x41, 0x4E, 0x54, 0x49, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_206[] = { 0x49, 0x4E, 0x53, 0x54, 0x45, 0x41, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_207[] = { 0x49, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_208[] = { 0x49, 0x4E, 0x54, 0x45, 0x47, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_209[] = { 0x49, 0x4E, 0x54, 0x45, 0x52, 0x53, 0x45, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_210[] = { 0x49, 0x4E, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_211[] = { 0x49, 0x4E, 0x54, 0x4F, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_212[] = { 0x49, 0x4E, 0x56, 0x41, 0x4C, 0x49, 0x44, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_213[] = { 0x49, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_214[] = { 0x49, 0x53, 0x4F, 0x4C, 0x41, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_215[] = { 0x49, 0x54, 0x45, 0x52, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_216[] = { 0x4A, 0x41, 0x56, 0x41, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_217[] = { 0x4A, 0x4F, 0x49, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_218[] = { 0x4B, 0x45, 0x45, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_219[] = { 0x4C, 0x41, 0x4E, 0x47, 0x55, 0x41, 0x47, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_220[] = { 0x4C, 0x45, 0x41, 0x44, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_221[] = { 0x4C, 0x45, 0x46, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_222[] = { 0x4C, 0x45, 0x56, 0x45, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_223[] = { 0x4C, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_224[] = { 0x4C, 0x49, 0x4B, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_225[] = { 0x4C, 0x49, 0x4B, 0x45, 0x32, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_226[] = { 0x4C, 0x49, 0x4B, 0x45, 0x34, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_227[] = { 0x4C, 0x49, 0x4B, 0x45, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_228[] = { 0x4C, 0x49, 0x4D, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_229[] = { 0x4C, 0x49, 0x4E, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_230[] = { 0x4C, 0x4F, 0x43, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_231[] = { 0x4C, 0x4F, 0x43, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_232[] = { 0x4C, 0x4F, 0x43, 0x4B, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_233[] = { 0x4C, 0x4F, 0x47, 0x4F, 0x46, 0x46, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_234[] = { 0x4C, 0x4F, 0x47, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_235[] = { 0x4C, 0x4F, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_236[] = { 0x4C, 0x4F, 0x4F, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_237[] = { 0x4D, 0x41, 0x49, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_238[] = { 0x4D, 0x41, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_239[] = { 0x4D, 0x41, 0x54, 0x43, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_240[] = { 0x4D, 0x41, 0x54, 0x43, 0x48, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_241[] = { 0x4D, 0x41, 0x58, 0x56, 0x41, 0x4C, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_242[] = { 0x4D, 0x45, 0x41, 0x53, 0x55, 0x52, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_243[] = { 0x4D, 0x45, 0x4D, 0x42, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_244[] = { 0x4D, 0x45, 0x52, 0x47, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_245[] = { 0x4D, 0x49, 0x4E, 0x55, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_246[] = { 0x4D, 0x49, 0x4E, 0x55, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_247[] = { 0x4D, 0x49, 0x4E, 0x56, 0x41, 0x4C, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_248[] = { 0x4D, 0x4C, 0x53, 0x4C, 0x41, 0x42, 0x45, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_249[] = { 0x4D, 0x4F, 0x44, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_250[] = { 0x4D, 0x4F, 0x44, 0x45, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_251[] = { 0x4D, 0x4F, 0x44, 0x49, 0x46, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_252[] = { 0x4D, 0x4F, 0x44, 0x55, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_253[] = { 0x4D, 0x4F, 0x4E, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_254[] = { 0x4D, 0x55, 0x4C, 0x54, 0x49, 0x53, 0x45, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_255[] = { 0x4E, 0x41, 0x4D, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_256[] = { 0x4E, 0x41, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_257[] = { 0x4E, 0x41, 0x54, 0x49, 0x4F, 0x4E, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_258[] = { 0x4E, 0x41, 0x54, 0x55, 0x52, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_259[] = { 0x4E, 0x41, 0x54, 0x55, 0x52, 0x41, 0x4C, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_260[] = { 0x4E, 0x41, 0x56, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_261[] = { 0x4E, 0x43, 0x48, 0x41, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_262[] = { 0x4E, 0x43, 0x48, 0x41, 0x52, 0x5F, 0x43, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_263[] = { 0x4E, 0x43, 0x4C, 0x4F, 0x42, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_264[] = { 0x4E, 0x45, 0x53, 0x54, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_265[] = { 0x4E, 0x45, 0x57, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_266[] = { 0x4E, 0x45, 0x58, 0x54, 0x56, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_267[] = { 0x4E, 0x4F, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_268[] = { 0x4E, 0x4F, 0x41, 0x55, 0x44, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_269[] = { 0x4E, 0x4F, 0x43, 0x41, 0x43, 0x48, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_270[] = { 0x4E, 0x4F, 0x43, 0x4F, 0x4D, 0x50, 0x52, 0x45, 0x53, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_271[] = { 0x4E, 0x4F, 0x43, 0x4F, 0x50, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_272[] = { 0x4E, 0x4F, 0x43, 0x59, 0x43, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_273[] = { 0x4E, 0x4F, 0x45, 0x4E, 0x54, 0x49, 0x54, 0x59, 0x45, 0x53, 0x43, 0x41, 0x50, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_274[] = { 0x4E, 0x4F, 0x4D, 0x41, 0x58, 0x56, 0x41, 0x4C, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_275[] = { 0x4E, 0x4F, 0x4D, 0x49, 0x4E, 0x56, 0x41, 0x4C, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_276[] = { 0x4E, 0x4F, 0x4E, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_277[] = { 0x4E, 0x4F, 0x4F, 0x52, 0x44, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_278[] = { 0x4E, 0x4F, 0x53, 0x43, 0x48, 0x45, 0x4D, 0x41, 0x43, 0x48, 0x45, 0x43, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_279[] = { 0x4E, 0x4F, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_280[] = { 0x4E, 0x4F, 0x54, 0x48, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_281[] = { 0x4E, 0x4F, 0x57, 0x41, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_282[] = { 0x4E, 0x55, 0x4C, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_283[] = { 0x4E, 0x55, 0x4C, 0x4C, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_284[] = { 0x4E, 0x55, 0x4D, 0x42, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_285[] = { 0x4E, 0x55, 0x4D, 0x45, 0x52, 0x49, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_286[] = { 0x4E, 0x56, 0x41, 0x52, 0x43, 0x48, 0x41, 0x52, 0x32, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_287[] = { 0x4F, 0x42, 0x4A, 0x45, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_288[] = { 0x4F, 0x43, 0x54, 0x45, 0x54, 0x5F, 0x4C, 0x45, 0x4E, 0x47, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_289[] = { 0x4F, 0x46, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_290[] = { 0x4F, 0x46, 0x46, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_291[] = { 0x4F, 0x49, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_292[] = { 0x4F, 0x4C, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_293[] = { 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_294[] = { 0x4F, 0x4E, 0x4C, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_295[] = { 0x4F, 0x50, 0x45, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_296[] = { 0x4F, 0x50, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_297[] = { 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_298[] = { 0x4F, 0x52, 0x41, 0x44, 0x41, 0x54, 0x41, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_299[] = { 0x4F, 0x52, 0x44, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_300[] = { 0x4F, 0x52, 0x44, 0x49, 0x4E, 0x41, 0x4C, 0x49, 0x54, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_301[] = { 0x4F, 0x53, 0x45, 0x52, 0x52, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_302[] = { 0x4F, 0x55, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_303[] = { 0x4F, 0x55, 0x54, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_304[] = { 0x4F, 0x56, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_305[] = { 0x4F, 0x56, 0x45, 0x52, 0x4C, 0x41, 0x50, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_306[] = { 0x4F, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_307[] = { 0x50, 0x41, 0x43, 0x4B, 0x41, 0x47, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_308[] = { 0x50, 0x41, 0x52, 0x41, 0x4C, 0x4C, 0x45, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_309[] = { 0x50, 0x41, 0x52, 0x41, 0x4C, 0x4C, 0x45, 0x4C, 0x5F, 0x45, 0x4E, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_310[] = { 0x50, 0x41, 0x52, 0x41, 0x4D, 0x45, 0x54, 0x45, 0x52, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_311[] = { 0x50, 0x41, 0x52, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_312[] = { 0x50, 0x41, 0x52, 0x54, 0x49, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_313[] = { 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_314[] = { 0x50, 0x41, 0x53, 0x53, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_315[] = { 0x50, 0x49, 0x50, 0x45, 0x4C, 0x49, 0x4E, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_316[] = { 0x50, 0x49, 0x56, 0x4F, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_317[] = { 0x50, 0x4C, 0x41, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_318[] = { 0x50, 0x4C, 0x53, 0x5F, 0x49, 0x4E, 0x54, 0x45, 0x47, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_319[] = { 0x50, 0x4F, 0x53, 0x49, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_320[] = { 0x50, 0x4F, 0x53, 0x49, 0x54, 0x49, 0x56, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_321[] = { 0x50, 0x4F, 0x53, 0x49, 0x54, 0x49, 0x56, 0x45, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_322[] = { 0x50, 0x52, 0x41, 0x47, 0x4D, 0x41, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_323[] = { 0x50, 0x52, 0x45, 0x43, 0x45, 0x44, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_324[] = { 0x50, 0x52, 0x45, 0x43, 0x49, 0x53, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_325[] = { 0x50, 0x52, 0x45, 0x53, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_326[] = { 0x50, 0x52, 0x49, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_327[] = { 0x50, 0x52, 0x4F, 0x43, 0x45, 0x44, 0x55, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_328[] = { 0x50, 0x55, 0x42, 0x4C, 0x49, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_329[] = { 0x51, 0x55, 0x45, 0x52, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_330[] = { 0x52, 0x41, 0x49, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_331[] = { 0x52, 0x41, 0x4E, 0x47, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_332[] = { 0x52, 0x41, 0x57, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_333[] = { 0x52, 0x45, 0x41, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_334[] = { 0x52, 0x45, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_335[] = { 0x52, 0x45, 0x43, 0x4F, 0x52, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_336[] = { 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4E, 0x43, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_337[] = { 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4E, 0x43, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_338[] = { 0x52, 0x45, 0x4A, 0x45, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_339[] = { 0x52, 0x45, 0x4C, 0x49, 0x45, 0x53, 0x5F, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_340[] = { 0x52, 0x45, 0x4E, 0x41, 0x4D, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_341[] = { 0x52, 0x45, 0x50, 0x4C, 0x41, 0x43, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_342[] = { 0x52, 0x45, 0x53, 0x4F, 0x55, 0x52, 0x43, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_343[] = { 0x52, 0x45, 0x53, 0x50, 0x45, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_344[] = { 0x52, 0x45, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x5F, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4E, 0x43, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_345[] = { 0x52, 0x45, 0x53, 0x55, 0x4C, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_346[] = { 0x52, 0x45, 0x53, 0x55, 0x4C, 0x54, 0x5F, 0x43, 0x41, 0x43, 0x48, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_347[] = { 0x52, 0x45, 0x53, 0x55, 0x4D, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_348[] = { 0x52, 0x45, 0x54, 0x55, 0x52, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_349[] = { 0x52, 0x45, 0x54, 0x55, 0x52, 0x4E, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_350[] = { 0x52, 0x45, 0x55, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_351[] = { 0x52, 0x45, 0x56, 0x45, 0x52, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_352[] = { 0x52, 0x45, 0x56, 0x4F, 0x4B, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_353[] = { 0x52, 0x49, 0x47, 0x48, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_354[] = { 0x52, 0x4F, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_355[] = { 0x52, 0x4F, 0x4C, 0x4C, 0x42, 0x41, 0x43, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_356[] = { 0x52, 0x4F, 0x4C, 0x4C, 0x55, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_357[] = { 0x52, 0x4F, 0x57, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_358[] = { 0x52, 0x4F, 0x57, 0x49, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_359[] = { 0x52, 0x4F, 0x57, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_360[] = { 0x52, 0x55, 0x4C, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_361[] = { 0x53, 0x41, 0x4D, 0x50, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_362[] = { 0x53, 0x41, 0x56, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_363[] = { 0x53, 0x41, 0x56, 0x45, 0x50, 0x4F, 0x49, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_364[] = { 0x53, 0x43, 0x48, 0x45, 0x4D, 0x41, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_365[] = { 0x53, 0x43, 0x48, 0x45, 0x4D, 0x41, 0x43, 0x48, 0x45, 0x43, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_366[] = { 0x53, 0x43, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_367[] = { 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_368[] = { 0x53, 0x45, 0x43, 0x4F, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_369[] = { 0x53, 0x45, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_370[] = { 0x53, 0x45, 0x47, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_371[] = { 0x53, 0x45, 0x4C, 0x45, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_372[] = { 0x53, 0x45, 0x4C, 0x46, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_373[] = { 0x53, 0x45, 0x51, 0x55, 0x45, 0x4E, 0x43, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_374[] = { 0x53, 0x45, 0x51, 0x55, 0x45, 0x4E, 0x54, 0x49, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_375[] = { 0x53, 0x45, 0x52, 0x49, 0x41, 0x4C, 0x49, 0x5A, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_376[] = { 0x53, 0x45, 0x52, 0x49, 0x41, 0x4C, 0x4C, 0x59, 0x5F, 0x52, 0x45, 0x55, 0x53, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_377[] = { 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x45, 0x52, 0x52, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_378[] = { 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x4F, 0x55, 0x54, 0x50, 0x55, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_379[] = { 0x53, 0x45, 0x53, 0x53, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_380[] = { 0x53, 0x45, 0x53, 0x53, 0x49, 0x4F, 0x4E, 0x5F, 0x55, 0x53, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_381[] = { 0x53, 0x45, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_382[] = { 0x53, 0x45, 0x54, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_383[] = { 0x53, 0x45, 0x54, 0x54, 0x49, 0x4E, 0x47, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_384[] = { 0x53, 0x48, 0x41, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_385[] = { 0x53, 0x48, 0x4F, 0x57, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_386[] = { 0x53, 0x48, 0x55, 0x54, 0x44, 0x4F, 0x57, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_387[] = { 0x53, 0x49, 0x42, 0x4C, 0x49, 0x4E, 0x47, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_388[] = { 0x53, 0x49, 0x47, 0x4E, 0x54, 0x59, 0x50, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_389[] = { 0x53, 0x49, 0x4D, 0x50, 0x4C, 0x45, 0x5F, 0x49, 0x4E, 0x54, 0x45, 0x47, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_390[] = { 0x53, 0x49, 0x4E, 0x47, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_391[] = { 0x53, 0x49, 0x5A, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_392[] = { 0x53, 0x4B, 0x49, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_393[] = { 0x53, 0x4D, 0x41, 0x4C, 0x4C, 0x49, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_394[] = { 0x53, 0x4E, 0x41, 0x50, 0x53, 0x48, 0x4F, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_395[] = { 0x53, 0x4F, 0x4D, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_396[] = { 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_397[] = { 0x53, 0x51, 0x4C, 0x44, 0x41, 0x54, 0x41, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_398[] = { 0x53, 0x51, 0x4C, 0x45, 0x52, 0x52, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_399[] = { 0x53, 0x54, 0x41, 0x4E, 0x44, 0x41, 0x4C, 0x4F, 0x4E, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_400[] = { 0x53, 0x54, 0x41, 0x52, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_401[] = { 0x53, 0x54, 0x41, 0x52, 0x54, 0x55, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_402[] = { 0x53, 0x54, 0x41, 0x54, 0x45, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_403[] = { 0x53, 0x54, 0x41, 0x54, 0x45, 0x4D, 0x45, 0x4E, 0x54, 0x5F, 0x49, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_404[] = { 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_405[] = { 0x53, 0x54, 0x41, 0x54, 0x49, 0x53, 0x54, 0x49, 0x43, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_406[] = { 0x53, 0x54, 0x52, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_407[] = { 0x53, 0x55, 0x42, 0x4D, 0x55, 0x4C, 0x54, 0x49, 0x53, 0x45, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_408[] = { 0x53, 0x55, 0x42, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_409[] = { 0x53, 0x55, 0x42, 0x53, 0x54, 0x49, 0x54, 0x55, 0x54, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_410[] = { 0x53, 0x55, 0x42, 0x54, 0x59, 0x50, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_411[] = { 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_412[] = { 0x53, 0x55, 0x53, 0x50, 0x45, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_413[] = { 0x53, 0x59, 0x53, 0x54, 0x45, 0x4D, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_414[] = { 0x53, 0x59, 0x53, 0x54, 0x45, 0x4D, 0x5F, 0x55, 0x53, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_415[] = { 0x54, 0x41, 0x42, 0x41, 0x55, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_416[] = { 0x54, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_417[] = { 0x54, 0x48, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_418[] = { 0x54, 0x48, 0x45, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_419[] = { 0x54, 0x49, 0x4D, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_420[] = { 0x54, 0x49, 0x4D, 0x45, 0x4F, 0x55, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_421[] = { 0x54, 0x49, 0x4D, 0x45, 0x53, 0x54, 0x41, 0x4D, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_422[] = { 0x54, 0x49, 0x4D, 0x45, 0x53, 0x54, 0x41, 0x4D, 0x50, 0x5F, 0x4C, 0x54, 0x5A, 0x5F, 0x55, 0x4E, 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4E, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_423[] = { 0x54, 0x49, 0x4D, 0x45, 0x53, 0x54, 0x41, 0x4D, 0x50, 0x5F, 0x54, 0x5A, 0x5F, 0x55, 0x4E, 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4E, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_424[] = { 0x54, 0x49, 0x4D, 0x45, 0x53, 0x54, 0x41, 0x4D, 0x50, 0x5F, 0x55, 0x4E, 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4E, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_425[] = { 0x54, 0x49, 0x4D, 0x45, 0x5A, 0x4F, 0x4E, 0x45, 0x5F, 0x41, 0x42, 0x42, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_426[] = { 0x54, 0x49, 0x4D, 0x45, 0x5A, 0x4F, 0x4E, 0x45, 0x5F, 0x48, 0x4F, 0x55, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_427[] = { 0x54, 0x49, 0x4D, 0x45, 0x5A, 0x4F, 0x4E, 0x45, 0x5F, 0x4D, 0x49, 0x4E, 0x55, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_428[] = { 0x54, 0x49, 0x4D, 0x45, 0x5A, 0x4F, 0x4E, 0x45, 0x5F, 0x52, 0x45, 0x47, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_429[] = { 0x54, 0x4F, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_430[] = { 0x54, 0x52, 0x41, 0x49, 0x4C, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_431[] = { 0x54, 0x52, 0x41, 0x4E, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_432[] = { 0x54, 0x52, 0x49, 0x47, 0x47, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_433[] = { 0x54, 0x52, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_434[] = { 0x54, 0x52, 0x55, 0x4E, 0x43, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_435[] = { 0x54, 0x59, 0x50, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_436[] =... [truncated message content] |
From: <ibr...@us...> - 2013-03-18 13:58:22
|
Revision: 4585 http://sourceforge.net/p/tora/code/4585 Author: ibre5041 Date: 2013-03-18 13:57:57 +0000 (Mon, 18 Mar 2013) Log Message: ----------- Use precompiled headers, at least on Windows Modified Paths: -------------- branches/tora3/CMakeLists.txt branches/tora3/cmake/modules/PrecompiledHeader.cmake branches/tora3/src/CMakeLists.txt branches/tora3/src/core/tosqlparse.cpp Added Paths: ----------- branches/tora3/src/parsing/PLSQLGuiLexer.cc branches/tora3/src/parsing/tsqllexeroracle2.cc branches/tora3/src/precompiled/ branches/tora3/src/precompiled/README.txt branches/tora3/src/precompiled/precompiled_linux.h branches/tora3/src/precompiled/precompiled_msvc.cpp branches/tora3/src/precompiled/precompiled_msvc.h Removed Paths: ------------- branches/tora3/src/parsing/PLSQLGuiLexer.cpp branches/tora3/src/parsing/tsqllexeroracle2.cpp branches/tora3/src/precompiled.h branches/tora3/src/stdafx.cpp Modified: branches/tora3/CMakeLists.txt =================================================================== --- branches/tora3/CMakeLists.txt 2013-03-17 19:47:39 UTC (rev 4584) +++ branches/tora3/CMakeLists.txt 2013-03-18 13:57:57 UTC (rev 4585) @@ -16,7 +16,7 @@ OPTION(ENABLE_DB2 "Enable/Disable DB2 support. Including detection" ON) OPTION(ENABLE_TERADATA "Enable/Disable Teradata support." ON) OPTION(WANT_RPM "Enable additional RPM related stuff. Additional make package_rpm target" OFF) -#OPTION(USE_PCH "Use percompiled headers" ON) +OPTION(USE_PCH "Use percompiled headers" OFF) OPTION(USE_EXPERIMENTAL "Use experimental code" ON) #Set our CMake minimum version Modified: branches/tora3/cmake/modules/PrecompiledHeader.cmake =================================================================== --- branches/tora3/cmake/modules/PrecompiledHeader.cmake 2013-03-17 19:47:39 UTC (rev 4584) +++ branches/tora3/cmake/modules/PrecompiledHeader.cmake 2013-03-18 13:57:57 UTC (rev 4585) @@ -49,7 +49,9 @@ SET(_sourceFound FALSE) FOREACH(_source ${sources}) SET(PCH_COMPILE_FLAGS "") - IF(_source MATCHES \\.\(cc|cxx|cpp\)$) + # .cc suffix excluded from list by Ivan + # IF(_source MATCHES \\.\(cc|cxx|cpp\)$) + IF(_source MATCHES \\.\(cxx|cpp\)$) GET_FILENAME_COMPONENT(_sourceWe ${_source} NAME_WE) IF(_sourceWe STREQUAL ${_inputWe}) SET(PCH_COMPILE_FLAGS "${PCH_COMPILE_FLAGS} /Yc${_input}") @@ -61,7 +63,7 @@ ENDIF(FORCEINCLUDE) ENDIF(_sourceWe STREQUAL ${_inputWe}) SET_SOURCE_FILES_PROPERTIES(${_source} PROPERTIES COMPILE_FLAGS "${PCH_COMPILE_FLAGS}") - ENDIF(_source MATCHES \\.\(cc|cxx|cpp\)$) + ENDIF() ENDFOREACH() IF(NOT _sourceFound) MESSAGE(FATAL_ERROR "A source file for ${_input} was not found. Required for MSVC builds.") Modified: branches/tora3/src/CMakeLists.txt =================================================================== --- branches/tora3/src/CMakeLists.txt 2013-03-17 19:47:39 UTC (rev 4584) +++ branches/tora3/src/CMakeLists.txt 2013-03-18 13:57:57 UTC (rev 4585) @@ -1,6 +1,12 @@ -# Precompiled headers broken -# INCLUDE(PCHSupport_26) +# Precompiled headers +IF(USE_PCH AND WIN32 AND MSVC) + INCLUDE(PrecompiledHeader) + SET(PCH_DEFINED TRUE) + SET(PCH_HEADER "precompiled_msvc.h") + SET(PCH_SOURCE "precompiled/precompiled_msvc.cpp") +ENDIF() + ################################################################################ # Subdirectories # ################################################################################ @@ -15,6 +21,7 @@ ################################################################################ INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR} + ${CMAKE_SOURCE_DIR}/precompiled ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR}/extlibs/loki/include @@ -329,30 +336,18 @@ #TODO tools/toalert.h #TODO tools/totuning.h - #TODO tools/tosqledit.h - + #TODO tools/tosqledit.h # todebug.h # todebugtext.h - # toeditextensions.h - # toplsqleditor.h # toplsqltext.h - # toproject.h # # toreport.h - # toresultlabel.h - - # # toresultresources.h - - # # toscheduler.h - - # # tostoragedefinition.h - # totemplate.h ) @@ -385,7 +380,6 @@ ################################################################################ # sources SET(TORA_SOURCES - stdafx.cpp # NOTE(MSVC) the there is NO way how to force /Yc option for this file only core/toabout.cpp core/tobackground.cpp core/tobackgroundlabel.cpp @@ -602,9 +596,9 @@ # tooracletable.cpp ) -IF (USE_PCH) - LIST(APPEND TORA_SOURCES "stdafx.cpp") -ENDIF (USE_PCH) +IF (PCH_DEFINED) + LIST(APPEND TORA_SOURCES ${PCH_SOURCE}) +ENDIF (PCH_DEFINED) IF(ORACLE_FOUND) LIST(APPEND TORA_SOURCES connection/tooraclesetting.cpp) @@ -727,6 +721,9 @@ TARGET_LINK_LIBRARIES(${EXE_NAME} ${TORA_LIBS}) SET_TARGET_PROPERTIES(${EXE_NAME} PROPERTIES ENABLE_EXPORTS ON) ADD_DEPENDENCIES(${EXE_NAME} revisiontag) # explicitly say that the executable depends on the svnheader +IF(PCH_DEFINED) + ADD_PRECOMPILED_HEADER(${EXE_NAME} ${PCH_HEADER} FORCEINCLUDE) +ENDIF() if(TORA_DEBUG) # test1 @@ -842,35 +839,24 @@ ADD_EXECUTABLE("test4" ${GUI_TYPE} tests/test4.cpp tests/test4window.cpp - parsing/PLSQLGuiLexer.cpp - parsing/tsqllexeroracle2.cpp -# ${TORA_UI_SOURCES} -# ${TORA_I18N_QM} + parsing/PLSQLGuiLexer.cc + parsing/tsqllexeroracle2.cc + ${TORA_UI_SOURCES} ${TEST4_MOC_SOURCES} ${TEST4_SOURCES} ${TORA_RCC_SRCS} ${APPLE_BUNDLE_SOURCES} + ${PCH_SOURCE} ) TARGET_LINK_LIBRARIES("test4" ${TORA_LIBS}) SET_TARGET_PROPERTIES("test4" PROPERTIES ENABLE_EXPORTS ON) -ADD_DEPENDENCIES("test4" revisiontag ${EXE_NAME}) # explicitly say that the executable depends on the svnheader +ADD_DEPENDENCIES("test4" revisiontag) # explicitly say that the executable depends on the svnheader +IF(PCH_DEFINED) + ADD_PRECOMPILED_HEADER("test4" ${PCH_HEADER} FORCEINCLUDE) +ENDIF() -endif() +ENDIF(TORA_DEBUG) -# Precompiled headers broken (and not supported by CMAKE) -# IF(USE_PCH) -# IF(CMAKE_GENERATOR MATCHES Visual*) -# # ADD_MSVC_PRECOMPILED_HEADERS( "stdafx.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/precompiled.h" ${EXE_NAME}) -# # only one target can use precompiled headers on windows - cmake is insane sometimes -# # ADD_MSVC_PRECOMPILED_HEADERS( "stdafx.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/precompiled.h" "test1") -# # ADD_MSVC_PRECOMPILED_HEADERS( "stdafx.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/precompiled.h" "test2") -# # ADD_MSVC_PRECOMPILED_HEADERS( "stdafx.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/precompiled.h" "test4") -# ELSE(CMAKE_GENERATOR MATCHES Visual*) -# # ADD_PRECOMPILED_HEADER(${EXE_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/precompiled.h) -# # ADD_PRECOMPILED_HEADER("test1" ${CMAKE_CURRENT_SOURCE_DIR}/precompiled.h) -# ENDIF(CMAKE_GENERATOR MATCHES Visual*) -# ENDIF(USE_PCH) - ################################################################################ # Connection provider libraries # ################################################################################ Modified: branches/tora3/src/core/tosqlparse.cpp =================================================================== --- branches/tora3/src/core/tosqlparse.cpp 2013-03-17 19:47:39 UTC (rev 4584) +++ branches/tora3/src/core/tosqlparse.cpp 2013-03-18 13:57:57 UTC (rev 4585) @@ -957,7 +957,7 @@ int i; for (i = ret.length() - 1; i >= 0 && ret[i].isSpace(); i--) ; - ret = ret.mid(0, std::max(i + 1, 0)); + ret = ret.mid(0, (std::max)(i + 1, 0)); ret += ("\n"); ret += indentString(level + exc); } @@ -1155,7 +1155,7 @@ { ret += QString("%1").arg(word, Settings.RightSeparator ? maxlev - 1 : 1 - maxlev); - current = level + std::max(int(word.length()), maxlev - 1); + current = level + (std::max)(int(word.length()), maxlev - 1); } else { Copied: branches/tora3/src/parsing/PLSQLGuiLexer.cc (from rev 4584, branches/tora3/src/parsing/PLSQLGuiLexer.cpp) =================================================================== --- branches/tora3/src/parsing/PLSQLGuiLexer.cc (rev 0) +++ branches/tora3/src/parsing/PLSQLGuiLexer.cc 2013-03-18 13:57:57 UTC (rev 4585) @@ -0,0 +1,46226 @@ +/** \file + * This C++ source file was generated by $ANTLR version 3.5.1-SNAPSHOT + * + * - From the grammar source file : PLSQLGuiLexer.g + * - On : 2013-03-15 14:36:36 + * - for the lexer : PLSQLGuiLexerLexer + * + * Editing it, at least manually, is not wise. + * + * C++ language generator and runtime by Gokulakannan Somasundaram ( heavy lifting from C Run-time by Jim Idle ) + * + * +*/ +// [The "BSD license"] +// Copyright (c) 2005-2009 Gokulakannan Somasundaram, ElectronDB +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +/* ============================================================================= + * This is what the grammar programmer asked us to put at the top of every file. + */ + +/* + * Oracle(c) PL/SQL 11g Parser + * + * Copyright (c) 2009-2011 Alexandre Porcelli <ale...@gm...> + * Copyright (c) 2012-2013 Ivan Brezina <ibr...@ib...> + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * This code was forked from PL/SQL parser and adoptopted + * for QScintilla's custom lexer. + */ + +/* End of Header action. + * ============================================================================= + */ + +/* ----------------------------------------- + * Include the ANTLR3 generated header file. + */ +#include "PLSQLGuiLexer.hpp" +/* ----------------------------------------- */ + +/** + * Oracle(c) PL/SQL 11g Lexer/Parser + * + * Copyright (c) 2009-2011 Alexandre Porcelli <ale...@gm...> + * Copyright (c) 2012-2013 Ivan Brezina <ibr...@ib...> + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * This code was forked from PL/SQL parser and adoptopted + * for QScintilla's custom lexer. + * + */ + + +namespace User { + +/** String literals used by PLSQLGuiLexer that we must do things like MATCHS() with. + * C will normally just lay down 8 bit characters, and you can use L"xxx" to + * get wchar_t, but wchar_t is 16 bits on Windows, which is not UTF32 and so + * we perform this little trick of defining the literals as arrays of UINT32 + * and passing in the address of these. + */ +static ANTLR_UCHAR lit_1[] = { 0x2E, 0x2E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_2[] = { 0x2A, 0x2A, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_3[] = { 0x3A, 0x3D, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_4[] = { 0x3C, 0x3D, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_5[] = { 0x3E, 0x3D, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_6[] = { 0x21, 0x3D, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_7[] = { 0x3C, 0x3E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_8[] = { 0x5E, 0x3D, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_9[] = { 0x7E, 0x3D, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_10[] = { 0x7C, 0x7C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_11[] = { 0x2D, 0x2D, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_12[] = { 0x2F, 0x2A, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_13[] = { 0x2A, 0x2F, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_14[] = { 0x50, 0x52, 0x4F, 0x4D, 0x50, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_15[] = { 0x41, 0x44, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_16[] = { 0x41, 0x44, 0x56, 0x49, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_17[] = { 0x41, 0x46, 0x54, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_18[] = { 0x41, 0x47, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_19[] = { 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_20[] = { 0x41, 0x4C, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_21[] = { 0x41, 0x4C, 0x54, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_22[] = { 0x41, 0x4E, 0x41, 0x4C, 0x59, 0x5A, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_23[] = { 0x41, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_24[] = { 0x41, 0x4E, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_25[] = { 0x41, 0x52, 0x52, 0x41, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_26[] = { 0x41, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_27[] = { 0x41, 0x53, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_28[] = { 0x41, 0x53, 0x53, 0x4F, 0x43, 0x49, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_29[] = { 0x41, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_30[] = { 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_31[] = { 0x41, 0x55, 0x44, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_32[] = { 0x41, 0x55, 0x54, 0x48, 0x49, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_33[] = { 0x41, 0x55, 0x54, 0x4F, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_34[] = { 0x41, 0x55, 0x54, 0x4F, 0x4D, 0x41, 0x54, 0x49, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_35[] = { 0x41, 0x55, 0x54, 0x4F, 0x4E, 0x4F, 0x4D, 0x4F, 0x55, 0x53, 0x5F, 0x54, 0x52, 0x41, 0x4E, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_36[] = { 0x42, 0x41, 0x54, 0x43, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_37[] = { 0x42, 0x45, 0x46, 0x4F, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_38[] = { 0x42, 0x45, 0x47, 0x49, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_39[] = { 0x42, 0x45, 0x54, 0x57, 0x45, 0x45, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_40[] = { 0x42, 0x46, 0x49, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_41[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_42[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, 0x5F, 0x49, 0x4E, 0x46, 0x49, 0x4E, 0x49, 0x54, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_43[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, 0x5F, 0x4D, 0x41, 0x58, 0x5F, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_44[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, 0x5F, 0x4D, 0x41, 0x58, 0x5F, 0x53, 0x55, 0x42, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_45[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, 0x5F, 0x4D, 0x49, 0x4E, 0x5F, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_46[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, 0x5F, 0x4D, 0x49, 0x4E, 0x5F, 0x53, 0x55, 0x42, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_47[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, 0x5F, 0x4E, 0x41, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_48[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_49[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x5F, 0x49, 0x4E, 0x46, 0x49, 0x4E, 0x49, 0x54, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_50[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x5F, 0x4D, 0x41, 0x58, 0x5F, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_51[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x5F, 0x4D, 0x41, 0x58, 0x5F, 0x53, 0x55, 0x42, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_52[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x5F, 0x4D, 0x49, 0x4E, 0x5F, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_53[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x5F, 0x4D, 0x49, 0x4E, 0x5F, 0x53, 0x55, 0x42, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_54[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x5F, 0x4E, 0x41, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_55[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x49, 0x4E, 0x54, 0x45, 0x47, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_56[] = { 0x42, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_57[] = { 0x42, 0x49, 0x54, 0x5F, 0x4C, 0x45, 0x4E, 0x47, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_58[] = { 0x42, 0x4C, 0x4F, 0x42, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_59[] = { 0x42, 0x4C, 0x4F, 0x43, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_60[] = { 0x42, 0x4F, 0x44, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_61[] = { 0x42, 0x4F, 0x4F, 0x4C, 0x45, 0x41, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_62[] = { 0x42, 0x4F, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_63[] = { 0x42, 0x52, 0x45, 0x41, 0x44, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_64[] = { 0x42, 0x55, 0x4C, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_65[] = { 0x42, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_66[] = { 0x42, 0x59, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_67[] = { 0x43, 0x41, 0x43, 0x48, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_68[] = { 0x43, 0x41, 0x4C, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_69[] = { 0x43, 0x41, 0x4E, 0x4F, 0x4E, 0x49, 0x43, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_70[] = { 0x43, 0x41, 0x53, 0x43, 0x41, 0x44, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_71[] = { 0x43, 0x41, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_72[] = { 0x43, 0x48, 0x41, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_73[] = { 0x43, 0x48, 0x41, 0x52, 0x41, 0x43, 0x54, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_74[] = { 0x43, 0x48, 0x41, 0x52, 0x41, 0x43, 0x54, 0x45, 0x52, 0x5F, 0x4C, 0x45, 0x4E, 0x47, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_75[] = { 0x43, 0x48, 0x41, 0x52, 0x5F, 0x43, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_76[] = { 0x43, 0x48, 0x45, 0x43, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_77[] = { 0x43, 0x4C, 0x4F, 0x42, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_78[] = { 0x43, 0x4C, 0x4F, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_79[] = { 0x43, 0x4C, 0x55, 0x53, 0x54, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_80[] = { 0x43, 0x4C, 0x55, 0x53, 0x54, 0x45, 0x52, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_81[] = { 0x43, 0x4F, 0x4C, 0x41, 0x55, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_82[] = { 0x43, 0x4F, 0x4C, 0x4C, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_83[] = { 0x43, 0x4F, 0x4C, 0x55, 0x4D, 0x4E, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_84[] = { 0x43, 0x4F, 0x4D, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_85[] = { 0x43, 0x4F, 0x4D, 0x4D, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_86[] = { 0x43, 0x4F, 0x4D, 0x4D, 0x49, 0x54, 0x54, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_87[] = { 0x43, 0x4F, 0x4D, 0x50, 0x41, 0x54, 0x49, 0x42, 0x49, 0x4C, 0x49, 0x54, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_88[] = { 0x43, 0x4F, 0x4D, 0x50, 0x49, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_89[] = { 0x43, 0x4F, 0x4D, 0x50, 0x4F, 0x55, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_90[] = { 0x43, 0x4F, 0x4D, 0x50, 0x52, 0x45, 0x53, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_91[] = { 0x43, 0x4F, 0x4E, 0x4E, 0x45, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_92[] = { 0x43, 0x4F, 0x4E, 0x4E, 0x45, 0x43, 0x54, 0x5F, 0x42, 0x59, 0x5F, 0x52, 0x4F, 0x4F, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_93[] = { 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x41, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_94[] = { 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_95[] = { 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4E, 0x54, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_96[] = { 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x55, 0x43, 0x54, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_97[] = { 0x43, 0x4F, 0x4E, 0x54, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_98[] = { 0x43, 0x4F, 0x4E, 0x54, 0x45, 0x58, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_99[] = { 0x43, 0x4F, 0x4E, 0x54, 0x49, 0x4E, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_100[] = { 0x43, 0x4F, 0x52, 0x52, 0x45, 0x53, 0x50, 0x4F, 0x4E, 0x44, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_101[] = { 0x43, 0x4F, 0x52, 0x52, 0x55, 0x50, 0x54, 0x5F, 0x58, 0x49, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_102[] = { 0x43, 0x4F, 0x52, 0x52, 0x55, 0x50, 0x54, 0x5F, 0x58, 0x49, 0x44, 0x5F, 0x41, 0x4C, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_103[] = { 0x43, 0x4F, 0x53, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_104[] = { 0x43, 0x52, 0x41, 0x53, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_105[] = { 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_106[] = { 0x43, 0x52, 0x4F, 0x53, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_107[] = { 0x43, 0x55, 0x42, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_108[] = { 0x43, 0x55, 0x52, 0x52, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_109[] = { 0x43, 0x55, 0x52, 0x52, 0x45, 0x4E, 0x54, 0x5F, 0x55, 0x53, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_110[] = { 0x43, 0x55, 0x52, 0x53, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_111[] = { 0x43, 0x55, 0x53, 0x54, 0x4F, 0x4D, 0x44, 0x41, 0x54, 0x55, 0x4D, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_112[] = { 0x43, 0x59, 0x43, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_113[] = { 0x44, 0x41, 0x54, 0x41, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_114[] = { 0x44, 0x41, 0x54, 0x41, 0x42, 0x41, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_115[] = { 0x44, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_116[] = { 0x44, 0x41, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_117[] = { 0x44, 0x42, 0x5F, 0x52, 0x4F, 0x4C, 0x45, 0x5F, 0x43, 0x48, 0x41, 0x4E, 0x47, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_118[] = { 0x44, 0x44, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_119[] = { 0x44, 0x45, 0x42, 0x55, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_120[] = { 0x44, 0x45, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_121[] = { 0x44, 0x45, 0x43, 0x49, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_122[] = { 0x44, 0x45, 0x43, 0x4C, 0x41, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_123[] = { 0x44, 0x45, 0x43, 0x52, 0x45, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_124[] = { 0x44, 0x45, 0x46, 0x41, 0x55, 0x4C, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_125[] = { 0x44, 0x45, 0x46, 0x41, 0x55, 0x4C, 0x54, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_126[] = { 0x44, 0x45, 0x46, 0x45, 0x52, 0x52, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_127[] = { 0x44, 0x45, 0x46, 0x49, 0x4E, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_128[] = { 0x44, 0x45, 0x4C, 0x45, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_129[] = { 0x44, 0x45, 0x53, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_130[] = { 0x44, 0x45, 0x54, 0x45, 0x52, 0x4D, 0x49, 0x4E, 0x49, 0x53, 0x54, 0x49, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_131[] = { 0x44, 0x49, 0x4D, 0x45, 0x4E, 0x53, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_132[] = { 0x44, 0x49, 0x53, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_133[] = { 0x44, 0x49, 0x53, 0x41, 0x53, 0x53, 0x4F, 0x43, 0x49, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_134[] = { 0x44, 0x49, 0x53, 0x54, 0x49, 0x4E, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_135[] = { 0x44, 0x4D, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_136[] = { 0x44, 0x4F, 0x43, 0x55, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_137[] = { 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_138[] = { 0x44, 0x52, 0x4F, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_139[] = { 0x44, 0x53, 0x49, 0x4E, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4C, 0x5F, 0x55, 0x4E, 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4E, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_140[] = { 0x45, 0x41, 0x43, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_141[] = { 0x45, 0x4C, 0x45, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_142[] = { 0x45, 0x4C, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_143[] = { 0x45, 0x4C, 0x53, 0x49, 0x46, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_144[] = { 0x45, 0x4D, 0x50, 0x54, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_145[] = { 0x45, 0x4E, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_146[] = { 0x45, 0x4E, 0x43, 0x4F, 0x44, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_147[] = { 0x45, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_148[] = { 0x45, 0x4E, 0x54, 0x49, 0x54, 0x59, 0x45, 0x53, 0x43, 0x41, 0x50, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_149[] = { 0x45, 0x52, 0x52, 0x4F, 0x52, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_150[] = { 0x45, 0x53, 0x43, 0x41, 0x50, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_151[] = { 0x45, 0x56, 0x41, 0x4C, 0x4E, 0x41, 0x4D, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_152[] = { 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_153[] = { 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_154[] = { 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x49, 0x4F, 0x4E, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_155[] = { 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x49, 0x4F, 0x4E, 0x5F, 0x49, 0x4E, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_156[] = { 0x45, 0x58, 0x43, 0x4C, 0x55, 0x44, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_157[] = { 0x45, 0x58, 0x43, 0x4C, 0x55, 0x53, 0x49, 0x56, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_158[] = { 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_159[] = { 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_160[] = { 0x45, 0x58, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_161[] = { 0x45, 0x58, 0x50, 0x4C, 0x41, 0x49, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_162[] = { 0x45, 0x58, 0x54, 0x45, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_163[] = { 0x45, 0x58, 0x54, 0x45, 0x52, 0x4E, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_164[] = { 0x46, 0x41, 0x49, 0x4C, 0x55, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_165[] = { 0x46, 0x41, 0x4C, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_166[] = { 0x46, 0x45, 0x54, 0x43, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_167[] = { 0x46, 0x49, 0x4E, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_168[] = { 0x46, 0x4C, 0x4F, 0x41, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_169[] = { 0x46, 0x4F, 0x4C, 0x4C, 0x4F, 0x57, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_170[] = { 0x46, 0x4F, 0x4C, 0x4C, 0x4F, 0x57, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_171[] = { 0x46, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_172[] = { 0x46, 0x4F, 0x52, 0x41, 0x4C, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_173[] = { 0x46, 0x4F, 0x52, 0x43, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_174[] = { 0x46, 0x52, 0x4F, 0x4D, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_175[] = { 0x46, 0x55, 0x4C, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_176[] = { 0x46, 0x55, 0x4E, 0x43, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_177[] = { 0x47, 0x4C, 0x4F, 0x42, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_178[] = { 0x47, 0x4F, 0x54, 0x4F, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_179[] = { 0x47, 0x52, 0x41, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_180[] = { 0x47, 0x52, 0x4F, 0x55, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_181[] = { 0x47, 0x55, 0x41, 0x52, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_182[] = { 0x48, 0x41, 0x53, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_183[] = { 0x48, 0x41, 0x56, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_184[] = { 0x48, 0x49, 0x44, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_185[] = { 0x48, 0x4F, 0x55, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_186[] = { 0x49, 0x44, 0x45, 0x4E, 0x54, 0x49, 0x46, 0x49, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_187[] = { 0x49, 0x46, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_188[] = { 0x49, 0x47, 0x4E, 0x4F, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_189[] = { 0x49, 0x4D, 0x4D, 0x45, 0x44, 0x49, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_190[] = { 0x49, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_191[] = { 0x49, 0x4E, 0x43, 0x4C, 0x55, 0x44, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_192[] = { 0x49, 0x4E, 0x43, 0x4C, 0x55, 0x44, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_193[] = { 0x49, 0x4E, 0x43, 0x52, 0x45, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_194[] = { 0x49, 0x4E, 0x44, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_195[] = { 0x49, 0x4E, 0x44, 0x45, 0x58, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_196[] = { 0x49, 0x4E, 0x44, 0x45, 0x58, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_197[] = { 0x49, 0x4E, 0x44, 0x45, 0x58, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_198[] = { 0x49, 0x4E, 0x44, 0x49, 0x43, 0x41, 0x54, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_199[] = { 0x49, 0x4E, 0x44, 0x49, 0x43, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_200[] = { 0x49, 0x4E, 0x46, 0x49, 0x4E, 0x49, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_201[] = { 0x49, 0x4E, 0x4C, 0x49, 0x4E, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_202[] = { 0x49, 0x4E, 0x4E, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_203[] = { 0x49, 0x4E, 0x4F, 0x55, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_204[] = { 0x49, 0x4E, 0x53, 0x45, 0x52, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_205[] = { 0x49, 0x4E, 0x53, 0x54, 0x41, 0x4E, 0x54, 0x49, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_206[] = { 0x49, 0x4E, 0x53, 0x54, 0x45, 0x41, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_207[] = { 0x49, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_208[] = { 0x49, 0x4E, 0x54, 0x45, 0x47, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_209[] = { 0x49, 0x4E, 0x54, 0x45, 0x52, 0x53, 0x45, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_210[] = { 0x49, 0x4E, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_211[] = { 0x49, 0x4E, 0x54, 0x4F, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_212[] = { 0x49, 0x4E, 0x56, 0x41, 0x4C, 0x49, 0x44, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_213[] = { 0x49, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_214[] = { 0x49, 0x53, 0x4F, 0x4C, 0x41, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_215[] = { 0x49, 0x54, 0x45, 0x52, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_216[] = { 0x4A, 0x41, 0x56, 0x41, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_217[] = { 0x4A, 0x4F, 0x49, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_218[] = { 0x4B, 0x45, 0x45, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_219[] = { 0x4C, 0x41, 0x4E, 0x47, 0x55, 0x41, 0x47, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_220[] = { 0x4C, 0x45, 0x41, 0x44, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_221[] = { 0x4C, 0x45, 0x46, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_222[] = { 0x4C, 0x45, 0x56, 0x45, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_223[] = { 0x4C, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_224[] = { 0x4C, 0x49, 0x4B, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_225[] = { 0x4C, 0x49, 0x4B, 0x45, 0x32, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_226[] = { 0x4C, 0x49, 0x4B, 0x45, 0x34, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_227[] = { 0x4C, 0x49, 0x4B, 0x45, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_228[] = { 0x4C, 0x49, 0x4D, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_229[] = { 0x4C, 0x49, 0x4E, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_230[] = { 0x4C, 0x4F, 0x43, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_231[] = { 0x4C, 0x4F, 0x43, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_232[] = { 0x4C, 0x4F, 0x43, 0x4B, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_233[] = { 0x4C, 0x4F, 0x47, 0x4F, 0x46, 0x46, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_234[] = { 0x4C, 0x4F, 0x47, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_235[] = { 0x4C, 0x4F, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_236[] = { 0x4C, 0x4F, 0x4F, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_237[] = { 0x4D, 0x41, 0x49, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_238[] = { 0x4D, 0x41, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_239[] = { 0x4D, 0x41, 0x54, 0x43, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_240[] = { 0x4D, 0x41, 0x54, 0x43, 0x48, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_241[] = { 0x4D, 0x41, 0x58, 0x56, 0x41, 0x4C, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_242[] = { 0x4D, 0x45, 0x41, 0x53, 0x55, 0x52, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_243[] = { 0x4D, 0x45, 0x4D, 0x42, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_244[] = { 0x4D, 0x45, 0x52, 0x47, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_245[] = { 0x4D, 0x49, 0x4E, 0x55, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_246[] = { 0x4D, 0x49, 0x4E, 0x55, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_247[] = { 0x4D, 0x49, 0x4E, 0x56, 0x41, 0x4C, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_248[] = { 0x4D, 0x4C, 0x53, 0x4C, 0x41, 0x42, 0x45, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_249[] = { 0x4D, 0x4F, 0x44, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_250[] = { 0x4D, 0x4F, 0x44, 0x45, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_251[] = { 0x4D, 0x4F, 0x44, 0x49, 0x46, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_252[] = { 0x4D, 0x4F, 0x44, 0x55, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_253[] = { 0x4D, 0x4F, 0x4E, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_254[] = { 0x4D, 0x55, 0x4C, 0x54, 0x49, 0x53, 0x45, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_255[] = { 0x4E, 0x41, 0x4D, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_256[] = { 0x4E, 0x41, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_257[] = { 0x4E, 0x41, 0x54, 0x49, 0x4F, 0x4E, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_258[] = { 0x4E, 0x41, 0x54, 0x55, 0x52, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_259[] = { 0x4E, 0x41, 0x54, 0x55, 0x52, 0x41, 0x4C, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_260[] = { 0x4E, 0x41, 0x56, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_261[] = { 0x4E, 0x43, 0x48, 0x41, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_262[] = { 0x4E, 0x43, 0x48, 0x41, 0x52, 0x5F, 0x43, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_263[] = { 0x4E, 0x43, 0x4C, 0x4F, 0x42, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_264[] = { 0x4E, 0x45, 0x53, 0x54, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_265[] = { 0x4E, 0x45, 0x57, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_266[] = { 0x4E, 0x45, 0x58, 0x54, 0x56, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_267[] = { 0x4E, 0x4F, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_268[] = { 0x4E, 0x4F, 0x41, 0x55, 0x44, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_269[] = { 0x4E, 0x4F, 0x43, 0x41, 0x43, 0x48, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_270[] = { 0x4E, 0x4F, 0x43, 0x4F, 0x4D, 0x50, 0x52, 0x45, 0x53, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_271[] = { 0x4E, 0x4F, 0x43, 0x4F, 0x50, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_272[] = { 0x4E, 0x4F, 0x43, 0x59, 0x43, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_273[] = { 0x4E, 0x4F, 0x45, 0x4E, 0x54, 0x49, 0x54, 0x59, 0x45, 0x53, 0x43, 0x41, 0x50, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_274[] = { 0x4E, 0x4F, 0x4D, 0x41, 0x58, 0x56, 0x41, 0x4C, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_275[] = { 0x4E, 0x4F, 0x4D, 0x49, 0x4E, 0x56, 0x41, 0x4C, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_276[] = { 0x4E, 0x4F, 0x4E, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_277[] = { 0x4E, 0x4F, 0x4F, 0x52, 0x44, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_278[] = { 0x4E, 0x4F, 0x53, 0x43, 0x48, 0x45, 0x4D, 0x41, 0x43, 0x48, 0x45, 0x43, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_279[] = { 0x4E, 0x4F, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_280[] = { 0x4E, 0x4F, 0x54, 0x48, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_281[] = { 0x4E, 0x4F, 0x57, 0x41, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_282[] = { 0x4E, 0x55, 0x4C, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_283[] = { 0x4E, 0x55, 0x4C, 0x4C, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_284[] = { 0x4E, 0x55, 0x4D, 0x42, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_285[] = { 0x4E, 0x55, 0x4D, 0x45, 0x52, 0x49, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_286[] = { 0x4E, 0x56, 0x41, 0x52, 0x43, 0x48, 0x41, 0x52, 0x32, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_287[] = { 0x4F, 0x42, 0x4A, 0x45, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_288[] = { 0x4F, 0x43, 0x54, 0x45, 0x54, 0x5F, 0x4C, 0x45, 0x4E, 0x47, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_289[] = { 0x4F, 0x46, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_290[] = { 0x4F, 0x46, 0x46, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_291[] = { 0x4F, 0x49, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_292[] = { 0x4F, 0x4C, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_293[] = { 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_294[] = { 0x4F, 0x4E, 0x4C, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_295[] = { 0x4F, 0x50, 0x45, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_296[] = { 0x4F, 0x50, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_297[] = { 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_298[] = { 0x4F, 0x52, 0x41, 0x44, 0x41, 0x54, 0x41, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_299[] = { 0x4F, 0x52, 0x44, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_300[] = { 0x4F, 0x52, 0x44, 0x49, 0x4E, 0x41, 0x4C, 0x49, 0x54, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_301[] = { 0x4F, 0x53, 0x45, 0x52, 0x52, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_302[] = { 0x4F, 0x55, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_303[] = { 0x4F, 0x55, 0x54, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_304[] = { 0x4F, 0x56, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_305[] = { 0x4F, 0x56, 0x45, 0x52, 0x4C, 0x41, 0x50, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_306[] = { 0x4F, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_307[] = { 0x50, 0x41, 0x43, 0x4B, 0x41, 0x47, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_308[] = { 0x50, 0x41, 0x52, 0x41, 0x4C, 0x4C, 0x45, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_309[] = { 0x50, 0x41, 0x52, 0x41, 0x4C, 0x4C, 0x45, 0x4C, 0x5F, 0x45, 0x4E, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_310[] = { 0x50, 0x41, 0x52, 0x41, 0x4D, 0x45, 0x54, 0x45, 0x52, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_311[] = { 0x50, 0x41, 0x52, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_312[] = { 0x50, 0x41, 0x52, 0x54, 0x49, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_313[] = { 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_314[] = { 0x50, 0x41, 0x53, 0x53, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_315[] = { 0x50, 0x49, 0x50, 0x45, 0x4C, 0x49, 0x4E, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_316[] = { 0x50, 0x49, 0x56, 0x4F, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_317[] = { 0x50, 0x4C, 0x41, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_318[] = { 0x50, 0x4C, 0x53, 0x5F, 0x49, 0x4E, 0x54, 0x45, 0x47, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_319[] = { 0x50, 0x4F, 0x53, 0x49, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_320[] = { 0x50, 0x4F, 0x53, 0x49, 0x54, 0x49, 0x56, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_321[] = { 0x50, 0x4F, 0x53, 0x49, 0x54, 0x49, 0x56, 0x45, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_322[] = { 0x50, 0x52, 0x41, 0x47, 0x4D, 0x41, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_323[] = { 0x50, 0x52, 0x45, 0x43, 0x45, 0x44, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_324[] = { 0x50, 0x52, 0x45, 0x43, 0x49, 0x53, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_325[] = { 0x50, 0x52, 0x45, 0x53, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_326[] = { 0x50, 0x52, 0x49, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_327[] = { 0x50, 0x52, 0x4F, 0x43, 0x45, 0x44, 0x55, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_328[] = { 0x50, 0x55, 0x42, 0x4C, 0x49, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_329[] = { 0x51, 0x55, 0x45, 0x52, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_330[] = { 0x52, 0x41, 0x49, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_331[] = { 0x52, 0x41, 0x4E, 0x47, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_332[] = { 0x52, 0x41, 0x57, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_333[] = { 0x52, 0x45, 0x41, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_334[] = { 0x52, 0x45, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_335[] = { 0x52, 0x45, 0x43, 0x4F, 0x52, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_336[] = { 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4E, 0x43, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_337[] = { 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4E, 0x43, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_338[] = { 0x52, 0x45, 0x4A, 0x45, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_339[] = { 0x52, 0x45, 0x4C, 0x49, 0x45, 0x53, 0x5F, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_340[] = { 0x52, 0x45, 0x4E, 0x41, 0x4D, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_341[] = { 0x52, 0x45, 0x50, 0x4C, 0x41, 0x43, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_342[] = { 0x52, 0x45, 0x53, 0x4F, 0x55, 0x52, 0x43, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_343[] = { 0x52, 0x45, 0x53, 0x50, 0x45, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_344[] = { 0x52, 0x45, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x5F, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4E, 0x43, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_345[] = { 0x52, 0x45, 0x53, 0x55, 0x4C, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_346[] = { 0x52, 0x45, 0x53, 0x55, 0x4C, 0x54, 0x5F, 0x43, 0x41, 0x43, 0x48, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_347[] = { 0x52, 0x45, 0x53, 0x55, 0x4D, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_348[] = { 0x52, 0x45, 0x54, 0x55, 0x52, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_349[] = { 0x52, 0x45, 0x54, 0x55, 0x52, 0x4E, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_350[] = { 0x52, 0x45, 0x55, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_351[] = { 0x52, 0x45, 0x56, 0x45, 0x52, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_352[] = { 0x52, 0x45, 0x56, 0x4F, 0x4B, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_353[] = { 0x52, 0x49, 0x47, 0x48, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_354[] = { 0x52, 0x4F, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_355[] = { 0x52, 0x4F, 0x4C, 0x4C, 0x42, 0x41, 0x43, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_356[] = { 0x52, 0x4F, 0x4C, 0x4C, 0x55, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_357[] = { 0x52, 0x4F, 0x57, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_358[] = { 0x52, 0x4F, 0x57, 0x49, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_359[] = { 0x52, 0x4F, 0x57, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_360[] = { 0x52, 0x55, 0x4C, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_361[] = { 0x53, 0x41, 0x4D, 0x50, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_362[] = { 0x53, 0x41, 0x56, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_363[] = { 0x53, 0x41, 0x56, 0x45, 0x50, 0x4F, 0x49, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_364[] = { 0x53, 0x43, 0x48, 0x45, 0x4D, 0x41, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_365[] = { 0x53, 0x43, 0x48, 0x45, 0x4D, 0x41, 0x43, 0x48, 0x45, 0x43, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_366[] = { 0x53, 0x43, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_367[] = { 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_368[] = { 0x53, 0x45, 0x43, 0x4F, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_369[] = { 0x53, 0x45, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_370[] = { 0x53, 0x45, 0x47, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_371[] = { 0x53, 0x45, 0x4C, 0x45, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_372[] = { 0x53, 0x45, 0x4C, 0x46, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_373[] = { 0x53, 0x45, 0x51, 0x55, 0x45, 0x4E, 0x43, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_374[] = { 0x53, 0x45, 0x51, 0x55, 0x45, 0x4E, 0x54, 0x49, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_375[] = { 0x53, 0x45, 0x52, 0x49, 0x41, 0x4C, 0x49, 0x5A, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_376[] = { 0x53, 0x45, 0x52, 0x49, 0x41, 0x4C, 0x4C, 0x59, 0x5F, 0x52, 0x45, 0x55, 0x53, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_377[] = { 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x45, 0x52, 0x52, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_378[] = { 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x4F, 0x55, 0x54, 0x50, 0x55, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_379[] = { 0x53, 0x45, 0x53, 0x53, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_380[] = { 0x53, 0x45, 0x53, 0x53, 0x49, 0x4F, 0x4E, 0x5F, 0x55, 0x53, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_381[] = { 0x53, 0x45, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_382[] = { 0x53, 0x45, 0x54, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_383[] = { 0x53, 0x45, 0x54, 0x54, 0x49, 0x4E, 0x47, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_384[] = { 0x53, 0x48, 0x41, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_385[] = { 0x53, 0x48, 0x4F, 0x57, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_386[] = { 0x53, 0x48, 0x55, 0x54, 0x44, 0x4F, 0x57, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_387[] = { 0x53, 0x49, 0x42, 0x4C, 0x49, 0x4E, 0x47, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_388[] = { 0x53, 0x49, 0x47, 0x4E, 0x54, 0x59, 0x50, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_389[] = { 0x53, 0x49, 0x4D, 0x50, 0x4C, 0x45, 0x5F, 0x49, 0x4E, 0x54, 0x45, 0x47, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_390[] = { 0x53, 0x49, 0x4E, 0x47, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_391[] = { 0x53, 0x49, 0x5A, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_392[] = { 0x53, 0x4B, 0x49, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_393[] = { 0x53, 0x4D, 0x41, 0x4C, 0x4C, 0x49, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_394[] = { 0x53, 0x4E, 0x41, 0x50, 0x53, 0x48, 0x4F, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_395[] = { 0x53, 0x4F, 0x4D, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_396[] = { 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_397[] = { 0x53, 0x51, 0x4C, 0x44, 0x41, 0x54, 0x41, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_398[] = { 0x53, 0x51, 0x4C, 0x45, 0x52, 0x52, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_399[] = { 0x53, 0x54, 0x41, 0x4E, 0x44, 0x41, 0x4C, 0x4F, 0x4E, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_400[] = { 0x53, 0x54, 0x41, 0x52, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_401[] = { 0x53, 0x54, 0x41, 0x52, 0x54, 0x55, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_402[] = { 0x53, 0x54, 0x41, 0x54, 0x45, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_403[] = { 0x53, 0x54, 0x41, 0x54, 0x45, 0x4D, 0x45, 0x4E, 0x54, 0x5F, 0x49, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_404[] = { 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_405[] = { 0x53, 0x54, 0x41, 0x54, 0x49, 0x53, 0x54, 0x49, 0x43, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_406[] = { 0x53, 0x54, 0x52, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_407[] = { 0x53, 0x55, 0x42, 0x4D, 0x55, 0x4C, 0x54, 0x49, 0x53, 0x45, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_408[] = { 0x53, 0x55, 0x42, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_409[] = { 0x53, 0x55, 0x42, 0x53, 0x54, 0x49, 0x54, 0x55, 0x54, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_410[] = { 0x53, 0x55, 0x42, 0x54, 0x59, 0x50, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_411[] = { 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_412[] = { 0x53, 0x55, 0x53, 0x50, 0x45, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_413[] = { 0x53, 0x59, 0x53, 0x54, 0x45, 0x4D, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_414[] = { 0x53, 0x59, 0x53, 0x54, 0x45, 0x4D, 0x5F, 0x55, 0x53, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_415[] = { 0x54, 0x41, 0x42, 0x41, 0x55, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_416[] = { 0x54, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_417[] = { 0x54, 0x48, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_418[] = { 0x54, 0x48, 0x45, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_419[] = { 0x54, 0x49, 0x4D, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_420[] = { 0x54, 0x49, 0x4D, 0x45, 0x4F, 0x55, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_421[] = { 0x54, 0x49, 0x4D, 0x45, 0x53, 0x54, 0x41, 0x4D, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; +static ANTLR_UCHAR lit_422[] = { 0x54, 0x49, 0x4D, 0x45, 0x53, 0x54, 0x41, 0x4D, 0x50, 0x5F, 0x4C, 0x54, 0x5A, 0x5F, 0x5... [truncated message content] |
From: <ibr...@us...> - 2013-03-18 15:20:59
|
Revision: 4586 http://sourceforge.net/p/tora/code/4586 Author: ibre5041 Date: 2013-03-18 15:20:55 +0000 (Mon, 18 Mar 2013) Log Message: ----------- Modified Paths: -------------- branches/tora3/cmake/modules/PrecompiledHeader.cmake branches/tora3/src/CMakeLists.txt branches/tora3/src/core/toresultview.cpp branches/tora3/src/precompiled/README.txt branches/tora3/src/tools/torollback.cpp branches/tora3/src/tools/towaitevents.cpp Modified: branches/tora3/cmake/modules/PrecompiledHeader.cmake =================================================================== --- branches/tora3/cmake/modules/PrecompiledHeader.cmake 2013-03-18 13:57:57 UTC (rev 4585) +++ branches/tora3/cmake/modules/PrecompiledHeader.cmake 2013-03-18 15:20:55 UTC (rev 4586) @@ -33,10 +33,12 @@ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. -MACRO(ADD_PRECOMPILED_HEADER _targetName _input) +FUNCTION(ADD_PRECOMPILED_HEADER _targetName _input) GET_FILENAME_COMPONENT(_inputWe ${_input} NAME_WE) SET(pch_source ${_inputWe}.cpp) + # MESSAGE(STATUS "${_targetName} FI ${FORCEINCLUDE}") FOREACH(arg ${ARGN}) + # MESSAGE(STATUS "${_targetName}: ARG: ${arg}") IF(arg STREQUAL FORCEINCLUDE) SET(FORCEINCLUDE ON) ELSE(arg STREQUAL FORCEINCLUDE) @@ -63,6 +65,7 @@ ENDIF(FORCEINCLUDE) ENDIF(_sourceWe STREQUAL ${_inputWe}) SET_SOURCE_FILES_PROPERTIES(${_source} PROPERTIES COMPILE_FLAGS "${PCH_COMPILE_FLAGS}") + # MESSAGE(STATUS "${_targetName}: SET_SOURCE_FILES_PROPERTIES(${_source} PROPERTIES COMPILE_FLAGS ${PCH_COMPILE_FLAGS} )") ENDIF() ENDFOREACH() IF(NOT _sourceFound) @@ -98,4 +101,5 @@ ADD_DEPENDENCIES(${_targetName} ${_targetName}_gch) SET_TARGET_PROPERTIES(${_targetName} PROPERTIES COMPILE_FLAGS "-include ${_name} -Winvalid-pch") ENDIF(CMAKE_COMPILER_IS_GNUCXX) -ENDMACRO() +ENDFUNCTION() + Modified: branches/tora3/src/CMakeLists.txt =================================================================== --- branches/tora3/src/CMakeLists.txt 2013-03-18 13:57:57 UTC (rev 4585) +++ branches/tora3/src/CMakeLists.txt 2013-03-18 15:20:55 UTC (rev 4586) @@ -722,6 +722,7 @@ SET_TARGET_PROPERTIES(${EXE_NAME} PROPERTIES ENABLE_EXPORTS ON) ADD_DEPENDENCIES(${EXE_NAME} revisiontag) # explicitly say that the executable depends on the svnheader IF(PCH_DEFINED) + # NOTE: this macro calls SET_SOURCE_FILES_PROPERTIES macro which set props for source within ALL tagets ADD_PRECOMPILED_HEADER(${EXE_NAME} ${PCH_HEADER} FORCEINCLUDE) ENDIF() @@ -743,6 +744,7 @@ core/tosql.cpp core/tsqlparse.cpp core/toquery.cpp + precompiled/precompiled_msvc.cpp ) SET(TEST1_MOC_SOURCES core/moc_toworkspace.cxx @@ -766,6 +768,9 @@ TARGET_LINK_LIBRARIES("test1" ${TORA_LIBS}) SET_TARGET_PROPERTIES("test1" PROPERTIES ENABLE_EXPORTS ON) ADD_DEPENDENCIES("test1" revisiontag) # explicitly say that the executable depends on the svnheader +IF(PCH_DEFINED) + ADD_PRECOMPILED_HEADER("test1" ${PCH_HEADER} FORCEINCLUDE) +ENDIF() # test2 ADD_EXECUTABLE("test2" ${GUI_TYPE} @@ -780,6 +785,9 @@ TARGET_LINK_LIBRARIES("test2" ${TORA_LIBS}) SET_TARGET_PROPERTIES("test2" PROPERTIES ENABLE_EXPORTS ON) ADD_DEPENDENCIES("test2" revisiontag) # explicitly say that the executable depends on the svnheader +IF(PCH_DEFINED) + ADD_PRECOMPILED_HEADER("test2" ${PCH_HEADER} FORCEINCLUDE) +ENDIF() # test3 ADD_EXECUTABLE("test3" ${GUI_TYPE} @@ -794,6 +802,9 @@ TARGET_LINK_LIBRARIES("test3" ${TORA_LIBS}) SET_TARGET_PROPERTIES("test3" PROPERTIES ENABLE_EXPORTS ON) ADD_DEPENDENCIES("test3" revisiontag) # explicitly say that the executable depends on the svnheader +IF(PCH_DEFINED) + ADD_PRECOMPILED_HEADER("test3" ${PCH_HEADER} FORCEINCLUDE) +ENDIF() # test4 SET(TEST4_SOURCES Modified: branches/tora3/src/core/toresultview.cpp =================================================================== --- branches/tora3/src/core/toresultview.cpp 2013-03-18 13:57:57 UTC (rev 4585) +++ branches/tora3/src/core/toresultview.cpp 2013-03-18 15:20:55 UTC (rev 4586) @@ -178,7 +178,7 @@ int column, int width, int alignment) { toResultViewItem::paintCell(pnt, cg, column, - std::max(toTreeWidgetItem::width(pnt->fontMetrics(), listView(), column), width), + (std::max)(toTreeWidgetItem::width(pnt->fontMetrics(), listView(), column), width), alignment); if (Gridlines) { @@ -394,7 +394,7 @@ int column, int width, int alignment) { toResultViewCheck::paintCell(pnt, cg, column, - std::max(toTreeWidgetCheck::width(pnt->fontMetrics(), listView(), column), width), + (std::max)(toTreeWidgetCheck::width(pnt->fontMetrics(), listView(), column), width), alignment); } Modified: branches/tora3/src/precompiled/README.txt =================================================================== --- branches/tora3/src/precompiled/README.txt 2013-03-18 13:57:57 UTC (rev 4585) +++ branches/tora3/src/precompiled/README.txt 2013-03-18 15:20:55 UTC (rev 4586) @@ -12,7 +12,11 @@ - cmake/modules/PrecompiledHeader.cmake Note this usefull macro was copied from GitHub: https://gist.github.com/larsch/573926 - and modified slightly. The suffix .cc is excluded from PCH usage. - See files: parsing/*.cc (these files use function "emit()" which colidates with QT's emit macro). + and modified slightly. + The suffix .cc is excluded from PCH usage. + See files: parsing/*.cc (these files use function "emit()" which colidates with QT's emit macro). + MACRO was turned into FUNCTION to make the variable FORCEINCLUDE "local". + NOTE: this macro calls SET_SOURCE_FILES_PROPERTIES which set props for source within ALL tagets. + There is NO way how to use PCH for specific target only. PS: please keep QT headers sychronized. Modified: branches/tora3/src/tools/torollback.cpp =================================================================== --- branches/tora3/src/tools/torollback.cpp 2013-03-18 13:57:57 UTC (rev 4585) +++ branches/tora3/src/tools/torollback.cpp 2013-03-18 15:20:55 UTC (rev 4586) @@ -466,7 +466,7 @@ QString address = text(3); statementData &data = parent()->Statements[address]; toResultViewItem::setup(); - setHeight(std::max(toResultViewItem::height(), int(MIN_HEIGHT * data.OpenExt.size()))); + setHeight((std::max)(toResultViewItem::height(), int(MIN_HEIGHT * data.OpenExt.size()))); } }; Modified: branches/tora3/src/tools/towaitevents.cpp =================================================================== --- branches/tora3/src/tools/towaitevents.cpp 2013-03-18 13:57:57 UTC (rev 4585) +++ branches/tora3/src/tools/towaitevents.cpp 2013-03-18 15:20:55 UTC (rev 4586) @@ -499,9 +499,9 @@ if (item->text(1) == *k) { item->setColor(col); - item->setText(2, QString::number((*i - item->text(3).toDouble()) / std::max(int(now - LastTime), 1))); + item->setText(2, QString::number((*i - item->text(3).toDouble()) / (std::max)(int(now - LastTime), 1))); item->setText(3, QString::number(*i)); - item->setText(4, QString::number((*j - item->text(5).toDouble()) / std::max(int(now - LastTime), 1))); + item->setText(4, QString::number((*j - item->text(5).toDouble()) / (std::max)(int(now - LastTime), 1))); item->setText(5, QString::number(*j)); break; } @@ -520,7 +520,7 @@ std::list<double>::iterator i = Current.begin(); while (i != Current.end() && j != LastCurrent.end()) { - Relative.insert(Relative.end(), ((*i) - (*j)) / std::max(int(now - LastTime), 1)); + Relative.insert(Relative.end(), ((*i) - (*j)) / (std::max)(int(now - LastTime), 1)); i++; j++; } @@ -529,7 +529,7 @@ i = CurrentTimes.begin(); while (i != CurrentTimes.end() && j != LastTimes.end()) { - RelativeTimes.insert(RelativeTimes.end(), ((*i) - (*j)) / std::max(int(now - LastTime), 1)); + RelativeTimes.insert(RelativeTimes.end(), ((*i) - (*j)) / (std::max)(int(now - LastTime), 1)); i++; j++; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ibr...@us...> - 2013-03-18 18:34:50
|
Revision: 4589 http://sourceforge.net/p/tora/code/4589 Author: ibre5041 Date: 2013-03-18 18:34:23 +0000 (Mon, 18 Mar 2013) Log Message: ----------- Modified Paths: -------------- branches/tora3/extlibs/parsing.cpp/PLSQLGuiLexer.g branches/tora3/extlibs/parsing.cpp/input/simple01.sql branches/tora3/src/parsing/PLSQLGuiLexer.cc branches/tora3/src/parsing/PLSQLGuiLexer.hpp branches/tora3/src/parsing/tsqllexeroracle2.cc branches/tora3/src/tests/complex05.sql Modified: branches/tora3/extlibs/parsing.cpp/PLSQLGuiLexer.g =================================================================== --- branches/tora3/extlibs/parsing.cpp/PLSQLGuiLexer.g 2013-03-18 17:33:30 UTC (rev 4588) +++ branches/tora3/extlibs/parsing.cpp/PLSQLGuiLexer.g 2013-03-18 18:34:23 UTC (rev 4589) @@ -28,8 +28,7 @@ // filter=true; } -tokens { // moved to the import vocabulary - TOKEN_FAILURE; +tokens { DOUBLE_PERIOD; } @@ -75,18 +74,6 @@ state->set_tokenStartCharPositionInLine(getCharPositionInLine()); state->set_tokenStartLine(getLine()); } - - // void recover() - // { - // ImplTraits::CommonTokenType *errorToken = new CommonTokenType(); - - // errorToken->set_type( TOKEN_FAILURE); - // errorToken->set_startIndex( this->getCharIndex()); - // errorToken->set_stopIndex( this->getCharIndex()); - // errorToken->set_input( this->get_input()); - // get_tokSource()->enqueueToken( errorToken); - // BaseType::recover(); - // } } FOR_NOTATION @@ -1030,3 +1017,6 @@ : '"' (~('"' | '\r' | '\n') | '"' '"')+ '"' ; //} + +// Last resort rule matches any character. This lexer should never fail. +TOKEN_FAILURE : . ; Modified: branches/tora3/extlibs/parsing.cpp/input/simple01.sql =================================================================== --- branches/tora3/extlibs/parsing.cpp/input/simple01.sql 2013-03-18 17:33:30 UTC (rev 4588) +++ branches/tora3/extlibs/parsing.cpp/input/simple01.sql 2013-03-18 18:34:23 UTC (rev 4589) @@ -1,3 +1,4 @@ +#1234 --fdskfjsdfk -1 - 1 Modified: branches/tora3/src/parsing/PLSQLGuiLexer.cc =================================================================== --- branches/tora3/src/parsing/PLSQLGuiLexer.cc 2013-03-18 17:33:30 UTC (rev 4588) +++ branches/tora3/src/parsing/PLSQLGuiLexer.cc 2013-03-18 18:34:23 UTC (rev 4589) @@ -2,7 +2,7 @@ * This C++ source file was generated by $ANTLR version 3.5.1-SNAPSHOT * * - From the grammar source file : PLSQLGuiLexer.g - * - On : 2013-03-15 14:36:36 + * - On : 2013-03-18 19:04:27 * - for the lexer : PLSQLGuiLexerLexer * * Editing it, at least manually, is not wise. @@ -108,732 +108,740 @@ * and passing in the address of these. */ static ANTLR_UCHAR lit_1[] = { 0x2E, 0x2E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_2[] = { 0x2A, 0x2A, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_3[] = { 0x3A, 0x3D, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_4[] = { 0x3C, 0x3D, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_5[] = { 0x3E, 0x3D, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_6[] = { 0x21, 0x3D, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_7[] = { 0x3C, 0x3E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_8[] = { 0x5E, 0x3D, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_9[] = { 0x7E, 0x3D, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_10[] = { 0x7C, 0x7C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_11[] = { 0x2D, 0x2D, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_12[] = { 0x2F, 0x2A, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_13[] = { 0x2A, 0x2F, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_14[] = { 0x50, 0x52, 0x4F, 0x4D, 0x50, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_15[] = { 0x41, 0x44, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_16[] = { 0x41, 0x44, 0x56, 0x49, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_17[] = { 0x41, 0x46, 0x54, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_18[] = { 0x41, 0x47, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_19[] = { 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_20[] = { 0x41, 0x4C, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_21[] = { 0x41, 0x4C, 0x54, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_22[] = { 0x41, 0x4E, 0x41, 0x4C, 0x59, 0x5A, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_23[] = { 0x41, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_24[] = { 0x41, 0x4E, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_25[] = { 0x41, 0x52, 0x52, 0x41, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_26[] = { 0x41, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_27[] = { 0x41, 0x53, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_28[] = { 0x41, 0x53, 0x53, 0x4F, 0x43, 0x49, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_29[] = { 0x41, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_30[] = { 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_31[] = { 0x41, 0x55, 0x44, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_32[] = { 0x41, 0x55, 0x54, 0x48, 0x49, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_33[] = { 0x41, 0x55, 0x54, 0x4F, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_34[] = { 0x41, 0x55, 0x54, 0x4F, 0x4D, 0x41, 0x54, 0x49, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_35[] = { 0x41, 0x55, 0x54, 0x4F, 0x4E, 0x4F, 0x4D, 0x4F, 0x55, 0x53, 0x5F, 0x54, 0x52, 0x41, 0x4E, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_36[] = { 0x42, 0x41, 0x54, 0x43, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_37[] = { 0x42, 0x45, 0x46, 0x4F, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_38[] = { 0x42, 0x45, 0x47, 0x49, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_39[] = { 0x42, 0x45, 0x54, 0x57, 0x45, 0x45, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_40[] = { 0x42, 0x46, 0x49, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_41[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_42[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, 0x5F, 0x49, 0x4E, 0x46, 0x49, 0x4E, 0x49, 0x54, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_43[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, 0x5F, 0x4D, 0x41, 0x58, 0x5F, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_44[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, 0x5F, 0x4D, 0x41, 0x58, 0x5F, 0x53, 0x55, 0x42, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_45[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, 0x5F, 0x4D, 0x49, 0x4E, 0x5F, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_46[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, 0x5F, 0x4D, 0x49, 0x4E, 0x5F, 0x53, 0x55, 0x42, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_47[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, 0x5F, 0x4E, 0x41, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_48[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_49[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x5F, 0x49, 0x4E, 0x46, 0x49, 0x4E, 0x49, 0x54, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_50[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x5F, 0x4D, 0x41, 0x58, 0x5F, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_51[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x5F, 0x4D, 0x41, 0x58, 0x5F, 0x53, 0x55, 0x42, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_52[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x5F, 0x4D, 0x49, 0x4E, 0x5F, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_53[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x5F, 0x4D, 0x49, 0x4E, 0x5F, 0x53, 0x55, 0x42, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_54[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x5F, 0x4E, 0x41, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_55[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x49, 0x4E, 0x54, 0x45, 0x47, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_56[] = { 0x42, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_57[] = { 0x42, 0x49, 0x54, 0x5F, 0x4C, 0x45, 0x4E, 0x47, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_58[] = { 0x42, 0x4C, 0x4F, 0x42, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_59[] = { 0x42, 0x4C, 0x4F, 0x43, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_60[] = { 0x42, 0x4F, 0x44, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_61[] = { 0x42, 0x4F, 0x4F, 0x4C, 0x45, 0x41, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_62[] = { 0x42, 0x4F, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_63[] = { 0x42, 0x52, 0x45, 0x41, 0x44, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_64[] = { 0x42, 0x55, 0x4C, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_65[] = { 0x42, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_66[] = { 0x42, 0x59, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_67[] = { 0x43, 0x41, 0x43, 0x48, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_68[] = { 0x43, 0x41, 0x4C, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_69[] = { 0x43, 0x41, 0x4E, 0x4F, 0x4E, 0x49, 0x43, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_70[] = { 0x43, 0x41, 0x53, 0x43, 0x41, 0x44, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_71[] = { 0x43, 0x41, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_72[] = { 0x43, 0x48, 0x41, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_73[] = { 0x43, 0x48, 0x41, 0x52, 0x41, 0x43, 0x54, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_74[] = { 0x43, 0x48, 0x41, 0x52, 0x41, 0x43, 0x54, 0x45, 0x52, 0x5F, 0x4C, 0x45, 0x4E, 0x47, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_75[] = { 0x43, 0x48, 0x41, 0x52, 0x5F, 0x43, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_76[] = { 0x43, 0x48, 0x45, 0x43, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_77[] = { 0x43, 0x4C, 0x4F, 0x42, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_78[] = { 0x43, 0x4C, 0x4F, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_79[] = { 0x43, 0x4C, 0x55, 0x53, 0x54, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_80[] = { 0x43, 0x4C, 0x55, 0x53, 0x54, 0x45, 0x52, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_81[] = { 0x43, 0x4F, 0x4C, 0x41, 0x55, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_82[] = { 0x43, 0x4F, 0x4C, 0x4C, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_83[] = { 0x43, 0x4F, 0x4C, 0x55, 0x4D, 0x4E, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_84[] = { 0x43, 0x4F, 0x4D, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_85[] = { 0x43, 0x4F, 0x4D, 0x4D, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_86[] = { 0x43, 0x4F, 0x4D, 0x4D, 0x49, 0x54, 0x54, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_87[] = { 0x43, 0x4F, 0x4D, 0x50, 0x41, 0x54, 0x49, 0x42, 0x49, 0x4C, 0x49, 0x54, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_88[] = { 0x43, 0x4F, 0x4D, 0x50, 0x49, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_89[] = { 0x43, 0x4F, 0x4D, 0x50, 0x4F, 0x55, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_90[] = { 0x43, 0x4F, 0x4D, 0x50, 0x52, 0x45, 0x53, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_91[] = { 0x43, 0x4F, 0x4E, 0x4E, 0x45, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_92[] = { 0x43, 0x4F, 0x4E, 0x4E, 0x45, 0x43, 0x54, 0x5F, 0x42, 0x59, 0x5F, 0x52, 0x4F, 0x4F, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_93[] = { 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x41, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_94[] = { 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_95[] = { 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4E, 0x54, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_96[] = { 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x55, 0x43, 0x54, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_97[] = { 0x43, 0x4F, 0x4E, 0x54, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_98[] = { 0x43, 0x4F, 0x4E, 0x54, 0x45, 0x58, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_99[] = { 0x43, 0x4F, 0x4E, 0x54, 0x49, 0x4E, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_100[] = { 0x43, 0x4F, 0x52, 0x52, 0x45, 0x53, 0x50, 0x4F, 0x4E, 0x44, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_101[] = { 0x43, 0x4F, 0x52, 0x52, 0x55, 0x50, 0x54, 0x5F, 0x58, 0x49, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_102[] = { 0x43, 0x4F, 0x52, 0x52, 0x55, 0x50, 0x54, 0x5F, 0x58, 0x49, 0x44, 0x5F, 0x41, 0x4C, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_103[] = { 0x43, 0x4F, 0x53, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_104[] = { 0x43, 0x52, 0x41, 0x53, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_105[] = { 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_106[] = { 0x43, 0x52, 0x4F, 0x53, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_107[] = { 0x43, 0x55, 0x42, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_108[] = { 0x43, 0x55, 0x52, 0x52, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_109[] = { 0x43, 0x55, 0x52, 0x52, 0x45, 0x4E, 0x54, 0x5F, 0x55, 0x53, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_110[] = { 0x43, 0x55, 0x52, 0x53, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_111[] = { 0x43, 0x55, 0x53, 0x54, 0x4F, 0x4D, 0x44, 0x41, 0x54, 0x55, 0x4D, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_112[] = { 0x43, 0x59, 0x43, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_113[] = { 0x44, 0x41, 0x54, 0x41, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_114[] = { 0x44, 0x41, 0x54, 0x41, 0x42, 0x41, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_115[] = { 0x44, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_116[] = { 0x44, 0x41, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_117[] = { 0x44, 0x42, 0x5F, 0x52, 0x4F, 0x4C, 0x45, 0x5F, 0x43, 0x48, 0x41, 0x4E, 0x47, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_118[] = { 0x44, 0x44, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_119[] = { 0x44, 0x45, 0x42, 0x55, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_120[] = { 0x44, 0x45, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_121[] = { 0x44, 0x45, 0x43, 0x49, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_122[] = { 0x44, 0x45, 0x43, 0x4C, 0x41, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_123[] = { 0x44, 0x45, 0x43, 0x52, 0x45, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_124[] = { 0x44, 0x45, 0x46, 0x41, 0x55, 0x4C, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_125[] = { 0x44, 0x45, 0x46, 0x41, 0x55, 0x4C, 0x54, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_126[] = { 0x44, 0x45, 0x46, 0x45, 0x52, 0x52, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_127[] = { 0x44, 0x45, 0x46, 0x49, 0x4E, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_128[] = { 0x44, 0x45, 0x4C, 0x45, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_129[] = { 0x44, 0x45, 0x53, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_130[] = { 0x44, 0x45, 0x54, 0x45, 0x52, 0x4D, 0x49, 0x4E, 0x49, 0x53, 0x54, 0x49, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_131[] = { 0x44, 0x49, 0x4D, 0x45, 0x4E, 0x53, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_132[] = { 0x44, 0x49, 0x53, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_133[] = { 0x44, 0x49, 0x53, 0x41, 0x53, 0x53, 0x4F, 0x43, 0x49, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_134[] = { 0x44, 0x49, 0x53, 0x54, 0x49, 0x4E, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_135[] = { 0x44, 0x4D, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_136[] = { 0x44, 0x4F, 0x43, 0x55, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_137[] = { 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_138[] = { 0x44, 0x52, 0x4F, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_139[] = { 0x44, 0x53, 0x49, 0x4E, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4C, 0x5F, 0x55, 0x4E, 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4E, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_140[] = { 0x45, 0x41, 0x43, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_141[] = { 0x45, 0x4C, 0x45, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_142[] = { 0x45, 0x4C, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_143[] = { 0x45, 0x4C, 0x53, 0x49, 0x46, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_144[] = { 0x45, 0x4D, 0x50, 0x54, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_145[] = { 0x45, 0x4E, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_146[] = { 0x45, 0x4E, 0x43, 0x4F, 0x44, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_147[] = { 0x45, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_148[] = { 0x45, 0x4E, 0x54, 0x49, 0x54, 0x59, 0x45, 0x53, 0x43, 0x41, 0x50, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_149[] = { 0x45, 0x52, 0x52, 0x4F, 0x52, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_150[] = { 0x45, 0x53, 0x43, 0x41, 0x50, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_151[] = { 0x45, 0x56, 0x41, 0x4C, 0x4E, 0x41, 0x4D, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_152[] = { 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_153[] = { 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_154[] = { 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x49, 0x4F, 0x4E, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_155[] = { 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x49, 0x4F, 0x4E, 0x5F, 0x49, 0x4E, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_156[] = { 0x45, 0x58, 0x43, 0x4C, 0x55, 0x44, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_157[] = { 0x45, 0x58, 0x43, 0x4C, 0x55, 0x53, 0x49, 0x56, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_158[] = { 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_159[] = { 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_160[] = { 0x45, 0x58, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_161[] = { 0x45, 0x58, 0x50, 0x4C, 0x41, 0x49, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_162[] = { 0x45, 0x58, 0x54, 0x45, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_163[] = { 0x45, 0x58, 0x54, 0x45, 0x52, 0x4E, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_164[] = { 0x46, 0x41, 0x49, 0x4C, 0x55, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_165[] = { 0x46, 0x41, 0x4C, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_166[] = { 0x46, 0x45, 0x54, 0x43, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_167[] = { 0x46, 0x49, 0x4E, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_168[] = { 0x46, 0x4C, 0x4F, 0x41, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_169[] = { 0x46, 0x4F, 0x4C, 0x4C, 0x4F, 0x57, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_170[] = { 0x46, 0x4F, 0x4C, 0x4C, 0x4F, 0x57, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_171[] = { 0x46, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_172[] = { 0x46, 0x4F, 0x52, 0x41, 0x4C, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_173[] = { 0x46, 0x4F, 0x52, 0x43, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_174[] = { 0x46, 0x52, 0x4F, 0x4D, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_175[] = { 0x46, 0x55, 0x4C, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_176[] = { 0x46, 0x55, 0x4E, 0x43, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_177[] = { 0x47, 0x4C, 0x4F, 0x42, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_178[] = { 0x47, 0x4F, 0x54, 0x4F, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_179[] = { 0x47, 0x52, 0x41, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_180[] = { 0x47, 0x52, 0x4F, 0x55, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_181[] = { 0x47, 0x55, 0x41, 0x52, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_182[] = { 0x48, 0x41, 0x53, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_183[] = { 0x48, 0x41, 0x56, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_184[] = { 0x48, 0x49, 0x44, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_185[] = { 0x48, 0x4F, 0x55, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_186[] = { 0x49, 0x44, 0x45, 0x4E, 0x54, 0x49, 0x46, 0x49, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_187[] = { 0x49, 0x46, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_188[] = { 0x49, 0x47, 0x4E, 0x4F, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_189[] = { 0x49, 0x4D, 0x4D, 0x45, 0x44, 0x49, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_190[] = { 0x49, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_191[] = { 0x49, 0x4E, 0x43, 0x4C, 0x55, 0x44, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_192[] = { 0x49, 0x4E, 0x43, 0x4C, 0x55, 0x44, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_193[] = { 0x49, 0x4E, 0x43, 0x52, 0x45, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_194[] = { 0x49, 0x4E, 0x44, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_195[] = { 0x49, 0x4E, 0x44, 0x45, 0x58, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_196[] = { 0x49, 0x4E, 0x44, 0x45, 0x58, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_197[] = { 0x49, 0x4E, 0x44, 0x45, 0x58, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_198[] = { 0x49, 0x4E, 0x44, 0x49, 0x43, 0x41, 0x54, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_199[] = { 0x49, 0x4E, 0x44, 0x49, 0x43, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_200[] = { 0x49, 0x4E, 0x46, 0x49, 0x4E, 0x49, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_201[] = { 0x49, 0x4E, 0x4C, 0x49, 0x4E, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_202[] = { 0x49, 0x4E, 0x4E, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_203[] = { 0x49, 0x4E, 0x4F, 0x55, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_204[] = { 0x49, 0x4E, 0x53, 0x45, 0x52, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_205[] = { 0x49, 0x4E, 0x53, 0x54, 0x41, 0x4E, 0x54, 0x49, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_206[] = { 0x49, 0x4E, 0x53, 0x54, 0x45, 0x41, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_207[] = { 0x49, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_208[] = { 0x49, 0x4E, 0x54, 0x45, 0x47, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_209[] = { 0x49, 0x4E, 0x54, 0x45, 0x52, 0x53, 0x45, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_210[] = { 0x49, 0x4E, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_211[] = { 0x49, 0x4E, 0x54, 0x4F, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_212[] = { 0x49, 0x4E, 0x56, 0x41, 0x4C, 0x49, 0x44, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_213[] = { 0x49, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_214[] = { 0x49, 0x53, 0x4F, 0x4C, 0x41, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_215[] = { 0x49, 0x54, 0x45, 0x52, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_216[] = { 0x4A, 0x41, 0x56, 0x41, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_217[] = { 0x4A, 0x4F, 0x49, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_218[] = { 0x4B, 0x45, 0x45, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_219[] = { 0x4C, 0x41, 0x4E, 0x47, 0x55, 0x41, 0x47, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_220[] = { 0x4C, 0x45, 0x41, 0x44, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_221[] = { 0x4C, 0x45, 0x46, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_222[] = { 0x4C, 0x45, 0x56, 0x45, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_223[] = { 0x4C, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_224[] = { 0x4C, 0x49, 0x4B, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_225[] = { 0x4C, 0x49, 0x4B, 0x45, 0x32, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_226[] = { 0x4C, 0x49, 0x4B, 0x45, 0x34, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_227[] = { 0x4C, 0x49, 0x4B, 0x45, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_228[] = { 0x4C, 0x49, 0x4D, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_229[] = { 0x4C, 0x49, 0x4E, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_230[] = { 0x4C, 0x4F, 0x43, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_231[] = { 0x4C, 0x4F, 0x43, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_232[] = { 0x4C, 0x4F, 0x43, 0x4B, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_233[] = { 0x4C, 0x4F, 0x47, 0x4F, 0x46, 0x46, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_234[] = { 0x4C, 0x4F, 0x47, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_235[] = { 0x4C, 0x4F, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_236[] = { 0x4C, 0x4F, 0x4F, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_237[] = { 0x4D, 0x41, 0x49, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_238[] = { 0x4D, 0x41, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_239[] = { 0x4D, 0x41, 0x54, 0x43, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_240[] = { 0x4D, 0x41, 0x54, 0x43, 0x48, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_241[] = { 0x4D, 0x41, 0x58, 0x56, 0x41, 0x4C, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_242[] = { 0x4D, 0x45, 0x41, 0x53, 0x55, 0x52, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_243[] = { 0x4D, 0x45, 0x4D, 0x42, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_244[] = { 0x4D, 0x45, 0x52, 0x47, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_245[] = { 0x4D, 0x49, 0x4E, 0x55, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_246[] = { 0x4D, 0x49, 0x4E, 0x55, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_247[] = { 0x4D, 0x49, 0x4E, 0x56, 0x41, 0x4C, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_248[] = { 0x4D, 0x4C, 0x53, 0x4C, 0x41, 0x42, 0x45, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_249[] = { 0x4D, 0x4F, 0x44, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_250[] = { 0x4D, 0x4F, 0x44, 0x45, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_251[] = { 0x4D, 0x4F, 0x44, 0x49, 0x46, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_252[] = { 0x4D, 0x4F, 0x44, 0x55, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_253[] = { 0x4D, 0x4F, 0x4E, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_254[] = { 0x4D, 0x55, 0x4C, 0x54, 0x49, 0x53, 0x45, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_255[] = { 0x4E, 0x41, 0x4D, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_256[] = { 0x4E, 0x41, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_257[] = { 0x4E, 0x41, 0x54, 0x49, 0x4F, 0x4E, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_258[] = { 0x4E, 0x41, 0x54, 0x55, 0x52, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_259[] = { 0x4E, 0x41, 0x54, 0x55, 0x52, 0x41, 0x4C, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_260[] = { 0x4E, 0x41, 0x56, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_261[] = { 0x4E, 0x43, 0x48, 0x41, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_262[] = { 0x4E, 0x43, 0x48, 0x41, 0x52, 0x5F, 0x43, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_263[] = { 0x4E, 0x43, 0x4C, 0x4F, 0x42, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_264[] = { 0x4E, 0x45, 0x53, 0x54, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_265[] = { 0x4E, 0x45, 0x57, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_266[] = { 0x4E, 0x45, 0x58, 0x54, 0x56, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_267[] = { 0x4E, 0x4F, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_268[] = { 0x4E, 0x4F, 0x41, 0x55, 0x44, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_269[] = { 0x4E, 0x4F, 0x43, 0x41, 0x43, 0x48, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_270[] = { 0x4E, 0x4F, 0x43, 0x4F, 0x4D, 0x50, 0x52, 0x45, 0x53, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_271[] = { 0x4E, 0x4F, 0x43, 0x4F, 0x50, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_272[] = { 0x4E, 0x4F, 0x43, 0x59, 0x43, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_273[] = { 0x4E, 0x4F, 0x45, 0x4E, 0x54, 0x49, 0x54, 0x59, 0x45, 0x53, 0x43, 0x41, 0x50, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_274[] = { 0x4E, 0x4F, 0x4D, 0x41, 0x58, 0x56, 0x41, 0x4C, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_275[] = { 0x4E, 0x4F, 0x4D, 0x49, 0x4E, 0x56, 0x41, 0x4C, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_276[] = { 0x4E, 0x4F, 0x4E, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_277[] = { 0x4E, 0x4F, 0x4F, 0x52, 0x44, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_278[] = { 0x4E, 0x4F, 0x53, 0x43, 0x48, 0x45, 0x4D, 0x41, 0x43, 0x48, 0x45, 0x43, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_279[] = { 0x4E, 0x4F, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_280[] = { 0x4E, 0x4F, 0x54, 0x48, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_281[] = { 0x4E, 0x4F, 0x57, 0x41, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_282[] = { 0x4E, 0x55, 0x4C, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_283[] = { 0x4E, 0x55, 0x4C, 0x4C, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_284[] = { 0x4E, 0x55, 0x4D, 0x42, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_285[] = { 0x4E, 0x55, 0x4D, 0x45, 0x52, 0x49, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_286[] = { 0x4E, 0x56, 0x41, 0x52, 0x43, 0x48, 0x41, 0x52, 0x32, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_287[] = { 0x4F, 0x42, 0x4A, 0x45, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_288[] = { 0x4F, 0x43, 0x54, 0x45, 0x54, 0x5F, 0x4C, 0x45, 0x4E, 0x47, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_289[] = { 0x4F, 0x46, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_290[] = { 0x4F, 0x46, 0x46, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_291[] = { 0x4F, 0x49, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_292[] = { 0x4F, 0x4C, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_293[] = { 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_294[] = { 0x4F, 0x4E, 0x4C, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_295[] = { 0x4F, 0x50, 0x45, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_296[] = { 0x4F, 0x50, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_297[] = { 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_298[] = { 0x4F, 0x52, 0x41, 0x44, 0x41, 0x54, 0x41, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_299[] = { 0x4F, 0x52, 0x44, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_300[] = { 0x4F, 0x52, 0x44, 0x49, 0x4E, 0x41, 0x4C, 0x49, 0x54, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_301[] = { 0x4F, 0x53, 0x45, 0x52, 0x52, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_302[] = { 0x4F, 0x55, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_303[] = { 0x4F, 0x55, 0x54, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_304[] = { 0x4F, 0x56, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_305[] = { 0x4F, 0x56, 0x45, 0x52, 0x4C, 0x41, 0x50, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_306[] = { 0x4F, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_307[] = { 0x50, 0x41, 0x43, 0x4B, 0x41, 0x47, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_308[] = { 0x50, 0x41, 0x52, 0x41, 0x4C, 0x4C, 0x45, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_309[] = { 0x50, 0x41, 0x52, 0x41, 0x4C, 0x4C, 0x45, 0x4C, 0x5F, 0x45, 0x4E, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_310[] = { 0x50, 0x41, 0x52, 0x41, 0x4D, 0x45, 0x54, 0x45, 0x52, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_311[] = { 0x50, 0x41, 0x52, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_312[] = { 0x50, 0x41, 0x52, 0x54, 0x49, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_313[] = { 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_314[] = { 0x50, 0x41, 0x53, 0x53, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_315[] = { 0x50, 0x49, 0x50, 0x45, 0x4C, 0x49, 0x4E, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_316[] = { 0x50, 0x49, 0x56, 0x4F, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_317[] = { 0x50, 0x4C, 0x41, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_318[] = { 0x50, 0x4C, 0x53, 0x5F, 0x49, 0x4E, 0x54, 0x45, 0x47, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_319[] = { 0x50, 0x4F, 0x53, 0x49, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_320[] = { 0x50, 0x4F, 0x53, 0x49, 0x54, 0x49, 0x56, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_321[] = { 0x50, 0x4F, 0x53, 0x49, 0x54, 0x49, 0x56, 0x45, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_322[] = { 0x50, 0x52, 0x41, 0x47, 0x4D, 0x41, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_323[] = { 0x50, 0x52, 0x45, 0x43, 0x45, 0x44, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_324[] = { 0x50, 0x52, 0x45, 0x43, 0x49, 0x53, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_325[] = { 0x50, 0x52, 0x45, 0x53, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_326[] = { 0x50, 0x52, 0x49, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_327[] = { 0x50, 0x52, 0x4F, 0x43, 0x45, 0x44, 0x55, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_328[] = { 0x50, 0x55, 0x42, 0x4C, 0x49, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_329[] = { 0x51, 0x55, 0x45, 0x52, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_330[] = { 0x52, 0x41, 0x49, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_331[] = { 0x52, 0x41, 0x4E, 0x47, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_332[] = { 0x52, 0x41, 0x57, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_333[] = { 0x52, 0x45, 0x41, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_334[] = { 0x52, 0x45, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_335[] = { 0x52, 0x45, 0x43, 0x4F, 0x52, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_336[] = { 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4E, 0x43, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_337[] = { 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4E, 0x43, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_338[] = { 0x52, 0x45, 0x4A, 0x45, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_339[] = { 0x52, 0x45, 0x4C, 0x49, 0x45, 0x53, 0x5F, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_340[] = { 0x52, 0x45, 0x4E, 0x41, 0x4D, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_341[] = { 0x52, 0x45, 0x50, 0x4C, 0x41, 0x43, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_342[] = { 0x52, 0x45, 0x53, 0x4F, 0x55, 0x52, 0x43, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_343[] = { 0x52, 0x45, 0x53, 0x50, 0x45, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_344[] = { 0x52, 0x45, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x5F, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4E, 0x43, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_345[] = { 0x52, 0x45, 0x53, 0x55, 0x4C, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_346[] = { 0x52, 0x45, 0x53, 0x55, 0x4C, 0x54, 0x5F, 0x43, 0x41, 0x43, 0x48, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_347[] = { 0x52, 0x45, 0x53, 0x55, 0x4D, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_348[] = { 0x52, 0x45, 0x54, 0x55, 0x52, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_349[] = { 0x52, 0x45, 0x54, 0x55, 0x52, 0x4E, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_350[] = { 0x52, 0x45, 0x55, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_351[] = { 0x52, 0x45, 0x56, 0x45, 0x52, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_352[] = { 0x52, 0x45, 0x56, 0x4F, 0x4B, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_353[] = { 0x52, 0x49, 0x47, 0x48, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_354[] = { 0x52, 0x4F, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_355[] = { 0x52, 0x4F, 0x4C, 0x4C, 0x42, 0x41, 0x43, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_356[] = { 0x52, 0x4F, 0x4C, 0x4C, 0x55, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_357[] = { 0x52, 0x4F, 0x57, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_358[] = { 0x52, 0x4F, 0x57, 0x49, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_359[] = { 0x52, 0x4F, 0x57, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_360[] = { 0x52, 0x55, 0x4C, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_361[] = { 0x53, 0x41, 0x4D, 0x50, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_362[] = { 0x53, 0x41, 0x56, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_363[] = { 0x53, 0x41, 0x56, 0x45, 0x50, 0x4F, 0x49, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_364[] = { 0x53, 0x43, 0x48, 0x45, 0x4D, 0x41, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_365[] = { 0x53, 0x43, 0x48, 0x45, 0x4D, 0x41, 0x43, 0x48, 0x45, 0x43, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_366[] = { 0x53, 0x43, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_367[] = { 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_368[] = { 0x53, 0x45, 0x43, 0x4F, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_369[] = { 0x53, 0x45, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_370[] = { 0x53, 0x45, 0x47, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_371[] = { 0x53, 0x45, 0x4C, 0x45, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_372[] = { 0x53, 0x45, 0x4C, 0x46, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_373[] = { 0x53, 0x45, 0x51, 0x55, 0x45, 0x4E, 0x43, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_374[] = { 0x53, 0x45, 0x51, 0x55, 0x45, 0x4E, 0x54, 0x49, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_375[] = { 0x53, 0x45, 0x52, 0x49, 0x41, 0x4C, 0x49, 0x5A, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_376[] = { 0x53, 0x45, 0x52, 0x49, 0x41, 0x4C, 0x4C, 0x59, 0x5F, 0x52, 0x45, 0x55, 0x53, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_377[] = { 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x45, 0x52, 0x52, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_378[] = { 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x4F, 0x55, 0x54, 0x50, 0x55, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_379[] = { 0x53, 0x45, 0x53, 0x53, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_380[] = { 0x53, 0x45, 0x53, 0x53, 0x49, 0x4F, 0x4E, 0x5F, 0x55, 0x53, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_381[] = { 0x53, 0x45, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_382[] = { 0x53, 0x45, 0x54, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_383[] = { 0x53, 0x45, 0x54, 0x54, 0x49, 0x4E, 0x47, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_384[] = { 0x53, 0x48, 0x41, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_385[] = { 0x53, 0x48, 0x4F, 0x57, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_386[] = { 0x53, 0x48, 0x55, 0x54, 0x44, 0x4F, 0x57, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_387[] = { 0x53, 0x49, 0x42, 0x4C, 0x49, 0x4E, 0x47, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_388[] = { 0x53, 0x49, 0x47, 0x4E, 0x54, 0x59, 0x50, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_389[] = { 0x53, 0x49, 0x4D, 0x50, 0x4C, 0x45, 0x5F, 0x49, 0x4E, 0x54, 0x45, 0x47, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_390[] = { 0x53, 0x49, 0x4E, 0x47, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_391[] = { 0x53, 0x49, 0x5A, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_392[] = { 0x53, 0x4B, 0x49, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_393[] = { 0x53, 0x4D, 0x41, 0x4C, 0x4C, 0x49, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_394[] = { 0x53, 0x4E, 0x41, 0x50, 0x53, 0x48, 0x4F, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_395[] = { 0x53, 0x4F, 0x4D, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_396[] = { 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_397[] = { 0x53, 0x51, 0x4C, 0x44, 0x41, 0x54, 0x41, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_398[] = { 0x53, 0x51, 0x4C, 0x45, 0x52, 0x52, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_399[] = { 0x53, 0x54, 0x41, 0x4E, 0x44, 0x41, 0x4C, 0x4F, 0x4E, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_400[] = { 0x53, 0x54, 0x41, 0x52, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_401[] = { 0x53, 0x54, 0x41, 0x52, 0x54, 0x55, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_402[] = { 0x53, 0x54, 0x41, 0x54, 0x45, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_403[] = { 0x53, 0x54, 0x41, 0x54, 0x45, 0x4D, 0x45, 0x4E, 0x54, 0x5F, 0x49, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_404[] = { 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_405[] = { 0x53, 0x54, 0x41, 0x54, 0x49, 0x53, 0x54, 0x49, 0x43, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_406[] = { 0x53, 0x54, 0x52, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_407[] = { 0x53, 0x55, 0x42, 0x4D, 0x55, 0x4C, 0x54, 0x49, 0x53, 0x45, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_408[] = { 0x53, 0x55, 0x42, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_409[] = { 0x53, 0x55, 0x42, 0x53, 0x54, 0x49, 0x54, 0x55, 0x54, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_410[] = { 0x53, 0x55, 0x42, 0x54, 0x59, 0x50, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_411[] = { 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_412[] = { 0x53, 0x55, 0x53, 0x50, 0x45, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_413[] = { 0x53, 0x59, 0x53, 0x54, 0x45, 0x4D, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_414[] = { 0x53, 0x59, 0x53, 0x54, 0x45, 0x4D, 0x5F, 0x55, 0x53, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_415[] = { 0x54, 0x41, 0x42, 0x41, 0x55, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_416[] = { 0x54, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_417[] = { 0x54, 0x48, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_418[] = { 0x54, 0x48, 0x45, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_419[] = { 0x54, 0x49, 0x4D, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_420[] = { 0x54, 0x49, 0x4D, 0x45, 0x4F, 0x55, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_421[] = { 0x54, 0x49, 0x4D, 0x45, 0x53, 0x54, 0x41, 0x4D, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_422[] = { 0x54, 0x49, 0x4D, 0x45, 0x53, 0x54, 0x41, 0x4D, 0x50, 0x5F, 0x4C, 0x54, 0x5A, 0x5F, 0x55, 0x4E, 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4E, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_423[] = { 0x54, 0x49, 0x4D, 0x45, 0x53, 0x54, 0x41, 0x4D, 0x50, 0x5F, 0x54, 0x5A, 0x5F, 0x55, 0x4E, 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4E, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_424[] = { 0x54, 0x49, 0x4D, 0x45, 0x53, 0x54, 0x41, 0x4D, 0x50, 0x5F, 0x55, 0x4E, 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4E, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_425[] = { 0x54, 0x49, 0x4D, 0x45, 0x5A, 0x4F, 0x4E, 0x45, 0x5F, 0x41, 0x42, 0x42, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_426[] = { 0x54, 0x49, 0x4D, 0x45, 0x5A, 0x4F, 0x4E, 0x45, 0x5F, 0x48, 0x4F, 0x55, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_427[] = { 0x54, 0x49, 0x4D, 0x45, 0x5A, 0x4F, 0x4E, 0x45, 0x5F, 0x4D, 0x49, 0x4E, 0x55, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_428[] = { 0x54, 0x49, 0x4D, 0x45, 0x5A, 0x4F, 0x4E, 0x45, 0x5F, 0x52, 0x45, 0x47, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_429[] = { 0x54, 0x4F, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_430[] = { 0x54, 0x52, 0x41, 0x49, 0x4C, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_431[] = { 0x54, 0x52, 0x41, 0x4E, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_432[] = { 0x54, 0x52, 0x49, 0x47, 0x47, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_433[] = { 0x54, 0x52, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_434[] = { 0x54, 0x52, 0x55, 0x4E, 0x43, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_435[] = { 0x54, 0x59, 0x50, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_436[] = { 0x55, 0x4E, 0x42, 0x4F, 0x55, 0x4E, 0x44, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_437[] = { 0x55, 0x4E, 0x44, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_438[] = { 0x55, 0x4E, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_439[] = { 0x55, 0x4E, 0x49, 0x51, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_440[] = { 0x55, 0x4E, 0x4B, 0x4E, 0x4F, 0x57, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_441[] = { 0x55, 0x4E, 0x4C, 0x49, 0x4D, 0x49, 0x54, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_442[] = { 0x55, 0x4E, 0x50, 0x49, 0x56, 0x4F, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_443[] = { 0x55, 0x4E, 0x54, 0x49, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_444[] = { 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_445[] = { 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_446[] = { 0x55, 0x50, 0x53, 0x45, 0x52, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_447[] = { 0x55, 0x52, 0x4F, 0x57, 0x49, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_448[] = { 0x55, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_449[] = { 0x55, 0x53, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_450[] = { 0x56, 0x41, 0x4C, 0x49, 0x44, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_451[] = { 0x56, 0x41, 0x4C, 0x55, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_452[] = { 0x56, 0x41, 0x52, 0x43, 0x48, 0x41, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_453[] = { 0x56, 0x41, 0x52, 0x43, 0x48, 0x41, 0x52, 0x32, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_454[] = { 0x56, 0x41, 0x52, 0x49, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_455[] = { 0x56, 0x41, 0x52, 0x52, 0x41, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_456[] = { 0x56, 0x41, 0x52, 0x59, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_457[] = { 0x56, 0x45, 0x52, 0x53, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_458[] = { 0x56, 0x45, 0x52, 0x53, 0x49, 0x4F, 0x4E, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_459[] = { 0x56, 0x49, 0x45, 0x57, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_460[] = { 0x56, 0x49, 0x45, 0x57, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_461[] = { 0x57, 0x41, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_462[] = { 0x57, 0x41, 0x52, 0x4E, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_463[] = { 0x57, 0x45, 0x4C, 0x4C, 0x46, 0x4F, 0x52, 0x4D, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_464[] = { 0x57, 0x48, 0x45, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_465[] = { 0x57, 0x48, 0x45, 0x4E, 0x45, 0x56, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_466[] = { 0x57, 0x48, 0x45, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_467[] = { 0x57, 0x48, 0x49, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_468[] = { 0x57, 0x49, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_469[] = { 0x57, 0x49, 0x54, 0x48, 0x49, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_470[] = { 0x57, 0x4F, 0x52, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_471[] = { 0x57, 0x52, 0x49, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_472[] = { 0x58, 0x4D, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_473[] = { 0x58, 0x4D, 0x4C, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_474[] = { 0x58, 0x4D, 0x4C, 0x4E, 0x41, 0x4D, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_475[] = { 0x59, 0x45, 0x41, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_476[] = { 0x59, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_477[] = { 0x59, 0x4D, 0x49, 0x4E, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4C, 0x5F, 0x55, 0x4E, 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4E, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_478[] = { 0x5A, 0x4F, 0x4E, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_479[] = { 0x41, 0x42, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_480[] = { 0x41, 0x43, 0x4F, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_481[] = { 0x41, 0x44, 0x44, 0x5F, 0x4D, 0x4F, 0x4E, 0x54, 0x48, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_482[] = { 0x41, 0x50, 0x50, 0x45, 0x4E, 0x44, 0x43, 0x48, 0x49, 0x4C, 0x44, 0x58, 0x4D, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_483[] = { 0x41, 0x53, 0x43, 0x49, 0x49, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_484[] = { 0x41, 0x53, 0x43, 0x49, 0x49, 0x53, 0x54, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_485[] = { 0x41, 0x53, 0x49, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_486[] = { 0x41, 0x54, 0x41, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_487[] = { 0x41, 0x54, 0x41, 0x4E, 0x32, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_488[] = { 0x41, 0x56, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_489[] = { 0x42, 0x46, 0x49, 0x4C, 0x45, 0x4E, 0x41, 0x4D, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_490[] = { 0x42, 0x49, 0x4E, 0x5F, 0x54, 0x4F, 0x5F, 0x4E, 0x55, 0x4D, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_491[] = { 0x42, 0x49, 0x54, 0x41, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_492[] = { 0x43, 0x41, 0x52, 0x44, 0x49, 0x4E, 0x41, 0x4C, 0x49, 0x54, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_493[] = { 0x43, 0x41, 0x53, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_494[] = { 0x43, 0x45, 0x49, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_495[] = { 0x43, 0x48, 0x41, 0x52, 0x54, 0x4F, 0x52, 0x4F, 0x57, 0x49, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_496[] = { 0x43, 0x48, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_497[] = { 0x43, 0x4C, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5F, 0x49, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_498[] = { 0x43, 0x4C, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5F, 0x50, 0x52, 0x4F, 0x42, 0x41, 0x42, 0x49, 0x4C, 0x49, 0x54, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_499[] = { 0x43, 0x4C, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5F, 0x53, 0x45, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_500[] = { 0x43, 0x4F, 0x41, 0x4C, 0x45, 0x53, 0x43, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_501[] = { 0x43, 0x4F, 0x4C, 0x4C, 0x45, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_502[] = { 0x43, 0x4F, 0x4D, 0x50, 0x4F, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_503[] = { 0x43, 0x4F, 0x4E, 0x43, 0x41, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_504[] = { 0x43, 0x4F, 0x4E, 0x56, 0x45, 0x52, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_505[] = { 0x43, 0x4F, 0x52, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_506[] = { 0x43, 0x4F, 0x52, 0x52, 0x5F, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_507[] = { 0x43, 0x4F, 0x52, 0x52, 0x5F, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_508[] = { 0x43, 0x4F, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_509[] = { 0x43, 0x4F, 0x53, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_510[] = { 0x43, 0x4F, 0x55, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_511[] = { 0x43, 0x4F, 0x56, 0x41, 0x52, 0x5F, 0x50, 0x4F, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_512[] = { 0x43, 0x4F, 0x56, 0x41, 0x52, 0x5F, 0x53, 0x41, 0x4D, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_51... [truncated message content] |
From: <ibr...@us...> - 2013-03-18 23:06:50
|
Revision: 4593 http://sourceforge.net/p/tora/code/4593 Author: ibre5041 Date: 2013-03-18 23:06:27 +0000 (Mon, 18 Mar 2013) Log Message: ----------- Linux PCH fixes Modified Paths: -------------- branches/tora3/cmake/modules/PrecompiledHeader.cmake branches/tora3/extlibs/parsing.cpp/Makefile branches/tora3/extlibs/parsing.cpp/org/antlr/codegen/templates/Cpp/Cpp.stg Removed Paths: ------------- branches/tora3/src/parsing/PLSQLGuiLexer.cc branches/tora3/src/parsing/PLSQLGuiLexer.hpp Modified: branches/tora3/cmake/modules/PrecompiledHeader.cmake =================================================================== --- branches/tora3/cmake/modules/PrecompiledHeader.cmake 2013-03-18 21:24:01 UTC (rev 4592) +++ branches/tora3/cmake/modules/PrecompiledHeader.cmake 2013-03-18 23:06:27 UTC (rev 4593) @@ -99,7 +99,19 @@ DEPENDS ${_source} ) ADD_CUSTOM_TARGET(${_targetName}_gch DEPENDS ${_output}) ADD_DEPENDENCIES(${_targetName} ${_targetName}_gch) - SET_TARGET_PROPERTIES(${_targetName} PROPERTIES COMPILE_FLAGS "-include ${_name} -Winvalid-pch") + + # SET_TARGET_PROPERTIES(${_targetName} PROPERTIES COMPILE_FLAGS "-include ${_name} -Winvalid-pch") + GET_TARGET_PROPERTY(sources ${_targetName} SOURCES) + FOREACH(_source ${sources}) + SET(PCH_COMPILE_FLAGS "") + IF(_source MATCHES \\.\(cxx|cpp\)$) + GET_FILENAME_COMPONENT(_sourceWe ${_source} NAME_WE) + SET(PCH_COMPILE_FLAGS "${PCH_COMPILE_FLAGS} -include ${_name} -Winvalid-pch") + SET_SOURCE_FILES_PROPERTIES(${_source} PROPERTIES COMPILE_FLAGS "${PCH_COMPILE_FLAGS}") + MESSAGE(STATUS "SET_SOURCE_FILES_PROPERTIES(${_source} PROPERTIES COMPILE_FLAGS ${PCH_COMPILE_FLAGS})") + ENDIF() + ENDFOREACH() + ENDIF(CMAKE_COMPILER_IS_GNUCXX) ENDFUNCTION() Modified: branches/tora3/extlibs/parsing.cpp/Makefile =================================================================== --- branches/tora3/extlibs/parsing.cpp/Makefile 2013-03-18 21:24:01 UTC (rev 4592) +++ branches/tora3/extlibs/parsing.cpp/Makefile 2013-03-18 23:06:27 UTC (rev 4593) @@ -29,7 +29,7 @@ $(ANTLR): org/antlr/codegen/templates/Cpp/Cpp.stg jar uvf $(ANTLR) org/antlr/codegen/templates/Cpp/Cpp.stg -t0: t0.cpp PLSQLGuiLexer.tokens t1.cpp $(TOBJS) PLSQLGuiLexer.cpp Makefile UserTraits.hpp +t0: t0.cpp PLSQLGuiLexer.tokens t0.cpp $(TOBJS) PLSQLGuiLexer.cpp Makefile UserGuiTraits.hpp g++ $(CFLAGS) -DUSESTL $(INCLUDES) $(TOBJS) t0.cpp $(PSOURCES) $(LIBS) -o $@ t1: t1.cpp PLSQLGuiLexer.tokens PLSQLParser.tokens t1.cpp $(TOBJS) $(PSOURCES) Makefile UserTraits.hpp Modified: branches/tora3/extlibs/parsing.cpp/org/antlr/codegen/templates/Cpp/Cpp.stg =================================================================== --- branches/tora3/extlibs/parsing.cpp/org/antlr/codegen/templates/Cpp/Cpp.stg 2013-03-18 21:24:01 UTC (rev 4592) +++ branches/tora3/extlibs/parsing.cpp/org/antlr/codegen/templates/Cpp/Cpp.stg 2013-03-18 23:06:27 UTC (rev 4593) @@ -2086,14 +2086,14 @@ { return m_ctx->LA(i); } - + + <if(PARSER)> template\<typename PredType> bool msynpred( PredType pred ) { return m_ctx->msynpred(pred); } - <if(PARSER)> const CtxType::CommonTokenType* LT(ANTLR_INT32 k) { return m_ctx->LT(k); Deleted: branches/tora3/src/parsing/PLSQLGuiLexer.cc =================================================================== --- branches/tora3/src/parsing/PLSQLGuiLexer.cc 2013-03-18 21:24:01 UTC (rev 4592) +++ branches/tora3/src/parsing/PLSQLGuiLexer.cc 2013-03-18 23:06:27 UTC (rev 4593) @@ -1,58229 +0,0 @@ -/** \file - * This C++ source file was generated by $ANTLR version 3.5.1-SNAPSHOT - * - * - From the grammar source file : PLSQLGuiLexer.g - * - On : 2013-03-18 19:04:27 - * - for the lexer : PLSQLGuiLexerLexer - * - * Editing it, at least manually, is not wise. - * - * C++ language generator and runtime by Gokulakannan Somasundaram ( heavy lifting from C Run-time by Jim Idle ) - * - * -*/ -// [The "BSD license"] -// Copyright (c) 2005-2009 Gokulakannan Somasundaram, ElectronDB -// -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// 3. The name of the author may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -/* ============================================================================= - * This is what the grammar programmer asked us to put at the top of every file. - */ - -/* - * Oracle(c) PL/SQL 11g Parser - * - * Copyright (c) 2009-2011 Alexandre Porcelli <ale...@gm...> - * Copyright (c) 2012-2013 Ivan Brezina <ibr...@ib...> - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * This code was forked from PL/SQL parser and adoptopted - * for QScintilla's custom lexer. - */ - -/* End of Header action. - * ============================================================================= - */ - -/* ----------------------------------------- - * Include the ANTLR3 generated header file. - */ -#include "PLSQLGuiLexer.hpp" -/* ----------------------------------------- */ - -/** - * Oracle(c) PL/SQL 11g Lexer/Parser - * - * Copyright (c) 2009-2011 Alexandre Porcelli <ale...@gm...> - * Copyright (c) 2012-2013 Ivan Brezina <ibr...@ib...> - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * This code was forked from PL/SQL parser and adoptopted - * for QScintilla's custom lexer. - * - */ - - -namespace User { - -/** String literals used by PLSQLGuiLexer that we must do things like MATCHS() with. - * C will normally just lay down 8 bit characters, and you can use L"xxx" to - * get wchar_t, but wchar_t is 16 bits on Windows, which is not UTF32 and so - * we perform this little trick of defining the literals as arrays of UINT32 - * and passing in the address of these. - */ -static ANTLR_UCHAR lit_1[] = { 0x2E, 0x2E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_2[] = { 0x3C, 0x3C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_3[] = { 0x3E, 0x3E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_4[] = { 0x3A, 0x3D, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_5[] = { 0x3D, 0x3E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_6[] = { 0x3C, 0x3D, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_7[] = { 0x3E, 0x3D, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_8[] = { 0x21, 0x3D, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_9[] = { 0x3C, 0x3E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_10[] = { 0x5E, 0x3D, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_11[] = { 0x7E, 0x3D, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_12[] = { 0x7C, 0x7C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_13[] = { 0x2D, 0x2D, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_14[] = { 0x2F, 0x2A, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_15[] = { 0x2A, 0x2F, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_16[] = { 0x41, 0x44, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_17[] = { 0x41, 0x44, 0x56, 0x49, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_18[] = { 0x41, 0x46, 0x54, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_19[] = { 0x41, 0x47, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_20[] = { 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_21[] = { 0x41, 0x4C, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_22[] = { 0x41, 0x4C, 0x54, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_23[] = { 0x41, 0x4E, 0x41, 0x4C, 0x59, 0x5A, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_24[] = { 0x41, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_25[] = { 0x41, 0x4E, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_26[] = { 0x41, 0x52, 0x52, 0x41, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_27[] = { 0x41, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_28[] = { 0x41, 0x53, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_29[] = { 0x41, 0x53, 0x53, 0x4F, 0x43, 0x49, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_30[] = { 0x41, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_31[] = { 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_32[] = { 0x41, 0x55, 0x44, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_33[] = { 0x41, 0x55, 0x54, 0x48, 0x49, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_34[] = { 0x41, 0x55, 0x54, 0x4F, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_35[] = { 0x41, 0x55, 0x54, 0x4F, 0x4D, 0x41, 0x54, 0x49, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_36[] = { 0x41, 0x55, 0x54, 0x4F, 0x4E, 0x4F, 0x4D, 0x4F, 0x55, 0x53, 0x5F, 0x54, 0x52, 0x41, 0x4E, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_37[] = { 0x42, 0x41, 0x54, 0x43, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_38[] = { 0x42, 0x45, 0x46, 0x4F, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_39[] = { 0x42, 0x45, 0x47, 0x49, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_40[] = { 0x42, 0x45, 0x54, 0x57, 0x45, 0x45, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_41[] = { 0x42, 0x46, 0x49, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_42[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_43[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, 0x5F, 0x49, 0x4E, 0x46, 0x49, 0x4E, 0x49, 0x54, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_44[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, 0x5F, 0x4D, 0x41, 0x58, 0x5F, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_45[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, 0x5F, 0x4D, 0x41, 0x58, 0x5F, 0x53, 0x55, 0x42, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_46[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, 0x5F, 0x4D, 0x49, 0x4E, 0x5F, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_47[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, 0x5F, 0x4D, 0x49, 0x4E, 0x5F, 0x53, 0x55, 0x42, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_48[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, 0x5F, 0x4E, 0x41, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_49[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_50[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x5F, 0x49, 0x4E, 0x46, 0x49, 0x4E, 0x49, 0x54, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_51[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x5F, 0x4D, 0x41, 0x58, 0x5F, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_52[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x5F, 0x4D, 0x41, 0x58, 0x5F, 0x53, 0x55, 0x42, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_53[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x5F, 0x4D, 0x49, 0x4E, 0x5F, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_54[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x5F, 0x4D, 0x49, 0x4E, 0x5F, 0x53, 0x55, 0x42, 0x4E, 0x4F, 0x52, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_55[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x46, 0x4C, 0x4F, 0x41, 0x54, 0x5F, 0x4E, 0x41, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_56[] = { 0x42, 0x49, 0x4E, 0x41, 0x52, 0x59, 0x5F, 0x49, 0x4E, 0x54, 0x45, 0x47, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_57[] = { 0x42, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_58[] = { 0x42, 0x49, 0x54, 0x5F, 0x4C, 0x45, 0x4E, 0x47, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_59[] = { 0x42, 0x4C, 0x4F, 0x42, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_60[] = { 0x42, 0x4C, 0x4F, 0x43, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_61[] = { 0x42, 0x4F, 0x44, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_62[] = { 0x42, 0x4F, 0x4F, 0x4C, 0x45, 0x41, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_63[] = { 0x42, 0x4F, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_64[] = { 0x42, 0x52, 0x45, 0x41, 0x44, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_65[] = { 0x42, 0x55, 0x4C, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_66[] = { 0x42, 0x55, 0x4C, 0x4B, 0x5F, 0x52, 0x4F, 0x57, 0x43, 0x4F, 0x55, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_67[] = { 0x42, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_68[] = { 0x42, 0x59, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_69[] = { 0x43, 0x41, 0x43, 0x48, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_70[] = { 0x43, 0x41, 0x4C, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_71[] = { 0x43, 0x41, 0x4E, 0x4F, 0x4E, 0x49, 0x43, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_72[] = { 0x43, 0x41, 0x53, 0x43, 0x41, 0x44, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_73[] = { 0x43, 0x41, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_74[] = { 0x43, 0x48, 0x41, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_75[] = { 0x43, 0x48, 0x41, 0x52, 0x41, 0x43, 0x54, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_76[] = { 0x43, 0x48, 0x41, 0x52, 0x41, 0x43, 0x54, 0x45, 0x52, 0x5F, 0x4C, 0x45, 0x4E, 0x47, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_77[] = { 0x43, 0x48, 0x41, 0x52, 0x5F, 0x43, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_78[] = { 0x43, 0x48, 0x41, 0x52, 0x53, 0x45, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_79[] = { 0x43, 0x48, 0x45, 0x43, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_80[] = { 0x43, 0x4C, 0x4F, 0x42, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_81[] = { 0x43, 0x4C, 0x4F, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_82[] = { 0x43, 0x4C, 0x55, 0x53, 0x54, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_83[] = { 0x43, 0x4C, 0x55, 0x53, 0x54, 0x45, 0x52, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_84[] = { 0x43, 0x4F, 0x4C, 0x41, 0x55, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_85[] = { 0x43, 0x4F, 0x4C, 0x4C, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_86[] = { 0x43, 0x4F, 0x4C, 0x55, 0x4D, 0x4E, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_87[] = { 0x43, 0x4F, 0x4D, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_88[] = { 0x43, 0x4F, 0x4D, 0x4D, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_89[] = { 0x43, 0x4F, 0x4D, 0x4D, 0x49, 0x54, 0x54, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_90[] = { 0x43, 0x4F, 0x4D, 0x50, 0x41, 0x54, 0x49, 0x42, 0x49, 0x4C, 0x49, 0x54, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_91[] = { 0x43, 0x4F, 0x4D, 0x50, 0x49, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_92[] = { 0x43, 0x4F, 0x4D, 0x50, 0x4F, 0x55, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_93[] = { 0x43, 0x4F, 0x4D, 0x50, 0x52, 0x45, 0x53, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_94[] = { 0x43, 0x4F, 0x4E, 0x4E, 0x45, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_95[] = { 0x43, 0x4F, 0x4E, 0x4E, 0x45, 0x43, 0x54, 0x5F, 0x42, 0x59, 0x5F, 0x52, 0x4F, 0x4F, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_96[] = { 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x41, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_97[] = { 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_98[] = { 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4E, 0x54, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_99[] = { 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x55, 0x43, 0x54, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_100[] = { 0x43, 0x4F, 0x4E, 0x54, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_101[] = { 0x43, 0x4F, 0x4E, 0x54, 0x45, 0x58, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_102[] = { 0x43, 0x4F, 0x4E, 0x54, 0x49, 0x4E, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_103[] = { 0x43, 0x4F, 0x52, 0x52, 0x45, 0x53, 0x50, 0x4F, 0x4E, 0x44, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_104[] = { 0x43, 0x4F, 0x52, 0x52, 0x55, 0x50, 0x54, 0x5F, 0x58, 0x49, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_105[] = { 0x43, 0x4F, 0x52, 0x52, 0x55, 0x50, 0x54, 0x5F, 0x58, 0x49, 0x44, 0x5F, 0x41, 0x4C, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_106[] = { 0x43, 0x4F, 0x53, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_107[] = { 0x43, 0x52, 0x41, 0x53, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_108[] = { 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_109[] = { 0x43, 0x52, 0x4F, 0x53, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_110[] = { 0x43, 0x55, 0x42, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_111[] = { 0x43, 0x55, 0x52, 0x52, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_112[] = { 0x43, 0x55, 0x52, 0x52, 0x45, 0x4E, 0x54, 0x5F, 0x55, 0x53, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_113[] = { 0x43, 0x55, 0x52, 0x53, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_114[] = { 0x43, 0x55, 0x53, 0x54, 0x4F, 0x4D, 0x44, 0x41, 0x54, 0x55, 0x4D, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_115[] = { 0x43, 0x59, 0x43, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_116[] = { 0x44, 0x41, 0x54, 0x41, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_117[] = { 0x44, 0x41, 0x54, 0x41, 0x42, 0x41, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_118[] = { 0x44, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_119[] = { 0x44, 0x41, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_120[] = { 0x44, 0x42, 0x5F, 0x52, 0x4F, 0x4C, 0x45, 0x5F, 0x43, 0x48, 0x41, 0x4E, 0x47, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_121[] = { 0x44, 0x44, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_122[] = { 0x44, 0x45, 0x42, 0x55, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_123[] = { 0x44, 0x45, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_124[] = { 0x44, 0x45, 0x43, 0x49, 0x4D, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_125[] = { 0x44, 0x45, 0x43, 0x4C, 0x41, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_126[] = { 0x44, 0x45, 0x43, 0x52, 0x45, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_127[] = { 0x44, 0x45, 0x46, 0x41, 0x55, 0x4C, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_128[] = { 0x44, 0x45, 0x46, 0x41, 0x55, 0x4C, 0x54, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_129[] = { 0x44, 0x45, 0x46, 0x45, 0x52, 0x52, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_130[] = { 0x44, 0x45, 0x46, 0x49, 0x4E, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_131[] = { 0x44, 0x45, 0x4C, 0x45, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_132[] = { 0x44, 0x45, 0x53, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_133[] = { 0x44, 0x45, 0x54, 0x45, 0x52, 0x4D, 0x49, 0x4E, 0x49, 0x53, 0x54, 0x49, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_134[] = { 0x44, 0x49, 0x4D, 0x45, 0x4E, 0x53, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_135[] = { 0x44, 0x49, 0x53, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_136[] = { 0x44, 0x49, 0x53, 0x41, 0x53, 0x53, 0x4F, 0x43, 0x49, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_137[] = { 0x44, 0x49, 0x53, 0x54, 0x49, 0x4E, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_138[] = { 0x44, 0x4D, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_139[] = { 0x44, 0x4F, 0x43, 0x55, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_140[] = { 0x44, 0x4F, 0x55, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_141[] = { 0x44, 0x52, 0x4F, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_142[] = { 0x44, 0x53, 0x49, 0x4E, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4C, 0x5F, 0x55, 0x4E, 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4E, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_143[] = { 0x45, 0x41, 0x43, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_144[] = { 0x45, 0x4C, 0x45, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_145[] = { 0x45, 0x4C, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_146[] = { 0x45, 0x4C, 0x53, 0x49, 0x46, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_147[] = { 0x45, 0x4D, 0x50, 0x54, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_148[] = { 0x45, 0x4E, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_149[] = { 0x45, 0x4E, 0x43, 0x4F, 0x44, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_150[] = { 0x45, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_151[] = { 0x45, 0x4E, 0x54, 0x49, 0x54, 0x59, 0x45, 0x53, 0x43, 0x41, 0x50, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_152[] = { 0x45, 0x52, 0x52, 0x4F, 0x52, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_153[] = { 0x45, 0x53, 0x43, 0x41, 0x50, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_154[] = { 0x45, 0x56, 0x41, 0x4C, 0x4E, 0x41, 0x4D, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_155[] = { 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_156[] = { 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_157[] = { 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x49, 0x4F, 0x4E, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_158[] = { 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x49, 0x4F, 0x4E, 0x5F, 0x49, 0x4E, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_159[] = { 0x45, 0x58, 0x43, 0x4C, 0x55, 0x44, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_160[] = { 0x45, 0x58, 0x43, 0x4C, 0x55, 0x53, 0x49, 0x56, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_161[] = { 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_162[] = { 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_163[] = { 0x45, 0x58, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_164[] = { 0x45, 0x58, 0x50, 0x4C, 0x41, 0x49, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_165[] = { 0x45, 0x58, 0x54, 0x45, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_166[] = { 0x45, 0x58, 0x54, 0x45, 0x52, 0x4E, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_167[] = { 0x46, 0x41, 0x49, 0x4C, 0x55, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_168[] = { 0x46, 0x41, 0x4C, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_169[] = { 0x46, 0x45, 0x54, 0x43, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_170[] = { 0x46, 0x49, 0x4E, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_171[] = { 0x46, 0x4C, 0x4F, 0x41, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_172[] = { 0x46, 0x4F, 0x4C, 0x4C, 0x4F, 0x57, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_173[] = { 0x46, 0x4F, 0x55, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_174[] = { 0x46, 0x4F, 0x4C, 0x4C, 0x4F, 0x57, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_175[] = { 0x46, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_176[] = { 0x46, 0x4F, 0x52, 0x41, 0x4C, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_177[] = { 0x46, 0x4F, 0x52, 0x43, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_178[] = { 0x46, 0x52, 0x4F, 0x4D, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_179[] = { 0x46, 0x55, 0x4C, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_180[] = { 0x46, 0x55, 0x4E, 0x43, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_181[] = { 0x47, 0x4C, 0x4F, 0x42, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_182[] = { 0x47, 0x4F, 0x54, 0x4F, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_183[] = { 0x47, 0x52, 0x41, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_184[] = { 0x47, 0x52, 0x4F, 0x55, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_185[] = { 0x47, 0x55, 0x41, 0x52, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_186[] = { 0x48, 0x41, 0x53, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_187[] = { 0x48, 0x41, 0x56, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_188[] = { 0x48, 0x49, 0x44, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_189[] = { 0x48, 0x4F, 0x55, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_190[] = { 0x49, 0x44, 0x45, 0x4E, 0x54, 0x49, 0x46, 0x49, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_191[] = { 0x49, 0x46, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_192[] = { 0x49, 0x47, 0x4E, 0x4F, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_193[] = { 0x49, 0x4D, 0x4D, 0x45, 0x44, 0x49, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_194[] = { 0x49, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_195[] = { 0x49, 0x4E, 0x43, 0x4C, 0x55, 0x44, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_196[] = { 0x49, 0x4E, 0x43, 0x4C, 0x55, 0x44, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_197[] = { 0x49, 0x4E, 0x43, 0x52, 0x45, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_198[] = { 0x49, 0x4E, 0x44, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_199[] = { 0x49, 0x4E, 0x44, 0x45, 0x58, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_200[] = { 0x49, 0x4E, 0x44, 0x45, 0x58, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_201[] = { 0x49, 0x4E, 0x44, 0x45, 0x58, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_202[] = { 0x49, 0x4E, 0x44, 0x49, 0x43, 0x41, 0x54, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_203[] = { 0x49, 0x4E, 0x44, 0x49, 0x43, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_204[] = { 0x49, 0x4E, 0x46, 0x49, 0x4E, 0x49, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_205[] = { 0x49, 0x4E, 0x4C, 0x49, 0x4E, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_206[] = { 0x49, 0x4E, 0x4E, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_207[] = { 0x49, 0x4E, 0x4F, 0x55, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_208[] = { 0x49, 0x4E, 0x53, 0x45, 0x52, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_209[] = { 0x49, 0x4E, 0x53, 0x54, 0x41, 0x4E, 0x54, 0x49, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_210[] = { 0x49, 0x4E, 0x53, 0x54, 0x45, 0x41, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_211[] = { 0x49, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_212[] = { 0x49, 0x4E, 0x54, 0x45, 0x47, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_213[] = { 0x49, 0x4E, 0x54, 0x45, 0x52, 0x53, 0x45, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_214[] = { 0x49, 0x4E, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_215[] = { 0x49, 0x4E, 0x54, 0x4F, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_216[] = { 0x49, 0x4E, 0x56, 0x41, 0x4C, 0x49, 0x44, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_217[] = { 0x49, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_218[] = { 0x49, 0x53, 0x4F, 0x50, 0x45, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_219[] = { 0x49, 0x53, 0x4F, 0x4C, 0x41, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_220[] = { 0x49, 0x54, 0x45, 0x52, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_221[] = { 0x4A, 0x41, 0x56, 0x41, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_222[] = { 0x4A, 0x4F, 0x49, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_223[] = { 0x4B, 0x45, 0x45, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_224[] = { 0x4C, 0x41, 0x4E, 0x47, 0x55, 0x41, 0x47, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_225[] = { 0x4C, 0x45, 0x41, 0x44, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_226[] = { 0x4C, 0x45, 0x46, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_227[] = { 0x4C, 0x45, 0x56, 0x45, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_228[] = { 0x4C, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_229[] = { 0x4C, 0x49, 0x4B, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_230[] = { 0x4C, 0x49, 0x4B, 0x45, 0x32, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_231[] = { 0x4C, 0x49, 0x4B, 0x45, 0x34, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_232[] = { 0x4C, 0x49, 0x4B, 0x45, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_233[] = { 0x4C, 0x49, 0x4D, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_234[] = { 0x4C, 0x49, 0x4E, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_235[] = { 0x4C, 0x4F, 0x43, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_236[] = { 0x4C, 0x4F, 0x43, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_237[] = { 0x4C, 0x4F, 0x43, 0x4B, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_238[] = { 0x4C, 0x4F, 0x47, 0x4F, 0x46, 0x46, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_239[] = { 0x4C, 0x4F, 0x47, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_240[] = { 0x4C, 0x4F, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_241[] = { 0x4C, 0x4F, 0x4F, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_242[] = { 0x4D, 0x41, 0x49, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_243[] = { 0x4D, 0x41, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_244[] = { 0x4D, 0x41, 0x54, 0x43, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_245[] = { 0x4D, 0x41, 0x54, 0x43, 0x48, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_246[] = { 0x4D, 0x41, 0x58, 0x56, 0x41, 0x4C, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_247[] = { 0x4D, 0x45, 0x41, 0x53, 0x55, 0x52, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_248[] = { 0x4D, 0x45, 0x4D, 0x42, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_249[] = { 0x4D, 0x45, 0x52, 0x47, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_250[] = { 0x4D, 0x49, 0x4E, 0x55, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_251[] = { 0x4D, 0x49, 0x4E, 0x55, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_252[] = { 0x4D, 0x49, 0x4E, 0x56, 0x41, 0x4C, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_253[] = { 0x4D, 0x4C, 0x53, 0x4C, 0x41, 0x42, 0x45, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_254[] = { 0x4D, 0x4F, 0x44, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_255[] = { 0x4D, 0x4F, 0x44, 0x45, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_256[] = { 0x4D, 0x4F, 0x44, 0x49, 0x46, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_257[] = { 0x4D, 0x4F, 0x44, 0x55, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_258[] = { 0x4D, 0x4F, 0x4E, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_259[] = { 0x4D, 0x55, 0x4C, 0x54, 0x49, 0x53, 0x45, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_260[] = { 0x4E, 0x41, 0x4D, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_261[] = { 0x4E, 0x41, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_262[] = { 0x4E, 0x41, 0x54, 0x49, 0x4F, 0x4E, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_263[] = { 0x4E, 0x41, 0x54, 0x55, 0x52, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_264[] = { 0x4E, 0x41, 0x54, 0x55, 0x52, 0x41, 0x4C, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_265[] = { 0x4E, 0x41, 0x56, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_266[] = { 0x4E, 0x43, 0x48, 0x41, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_267[] = { 0x4E, 0x43, 0x48, 0x41, 0x52, 0x5F, 0x43, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_268[] = { 0x4E, 0x43, 0x4C, 0x4F, 0x42, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_269[] = { 0x4E, 0x45, 0x53, 0x54, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_270[] = { 0x4E, 0x45, 0x57, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_271[] = { 0x4E, 0x45, 0x58, 0x54, 0x56, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_272[] = { 0x4E, 0x4F, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_273[] = { 0x4E, 0x4F, 0x41, 0x55, 0x44, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_274[] = { 0x4E, 0x4F, 0x43, 0x41, 0x43, 0x48, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_275[] = { 0x4E, 0x4F, 0x43, 0x4F, 0x4D, 0x50, 0x52, 0x45, 0x53, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_276[] = { 0x4E, 0x4F, 0x43, 0x4F, 0x50, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_277[] = { 0x4E, 0x4F, 0x43, 0x59, 0x43, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_278[] = { 0x4E, 0x4F, 0x45, 0x4E, 0x54, 0x49, 0x54, 0x59, 0x45, 0x53, 0x43, 0x41, 0x50, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_279[] = { 0x4E, 0x4F, 0x4D, 0x41, 0x58, 0x56, 0x41, 0x4C, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_280[] = { 0x4E, 0x4F, 0x4D, 0x49, 0x4E, 0x56, 0x41, 0x4C, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_281[] = { 0x4E, 0x4F, 0x4E, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_282[] = { 0x4E, 0x4F, 0x4F, 0x52, 0x44, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_283[] = { 0x4E, 0x4F, 0x53, 0x43, 0x48, 0x45, 0x4D, 0x41, 0x43, 0x48, 0x45, 0x43, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_284[] = { 0x4E, 0x4F, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_285[] = { 0x4E, 0x4F, 0x54, 0x46, 0x4F, 0x55, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_286[] = { 0x4E, 0x4F, 0x54, 0x48, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_287[] = { 0x4E, 0x4F, 0x57, 0x41, 0x49, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_288[] = { 0x4E, 0x55, 0x4C, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_289[] = { 0x4E, 0x55, 0x4C, 0x4C, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_290[] = { 0x4E, 0x55, 0x4D, 0x42, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_291[] = { 0x4E, 0x55, 0x4D, 0x45, 0x52, 0x49, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_292[] = { 0x4E, 0x56, 0x41, 0x52, 0x43, 0x48, 0x41, 0x52, 0x32, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_293[] = { 0x4F, 0x42, 0x4A, 0x45, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_294[] = { 0x4F, 0x43, 0x54, 0x45, 0x54, 0x5F, 0x4C, 0x45, 0x4E, 0x47, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_295[] = { 0x4F, 0x46, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_296[] = { 0x4F, 0x46, 0x46, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_297[] = { 0x4F, 0x49, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_298[] = { 0x4F, 0x4C, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_299[] = { 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_300[] = { 0x4F, 0x4E, 0x4C, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_301[] = { 0x4F, 0x50, 0x45, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_302[] = { 0x4F, 0x50, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_303[] = { 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_304[] = { 0x4F, 0x52, 0x41, 0x44, 0x41, 0x54, 0x41, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_305[] = { 0x4F, 0x52, 0x44, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_306[] = { 0x4F, 0x52, 0x44, 0x49, 0x4E, 0x41, 0x4C, 0x49, 0x54, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_307[] = { 0x4F, 0x53, 0x45, 0x52, 0x52, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_308[] = { 0x4F, 0x55, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_309[] = { 0x4F, 0x55, 0x54, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_310[] = { 0x4F, 0x56, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_311[] = { 0x4F, 0x56, 0x45, 0x52, 0x4C, 0x41, 0x50, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_312[] = { 0x4F, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_313[] = { 0x50, 0x41, 0x43, 0x4B, 0x41, 0x47, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_314[] = { 0x50, 0x41, 0x52, 0x41, 0x4C, 0x4C, 0x45, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_315[] = { 0x50, 0x41, 0x52, 0x41, 0x4C, 0x4C, 0x45, 0x4C, 0x5F, 0x45, 0x4E, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_316[] = { 0x50, 0x41, 0x52, 0x41, 0x4D, 0x45, 0x54, 0x45, 0x52, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_317[] = { 0x50, 0x41, 0x52, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_318[] = { 0x50, 0x41, 0x52, 0x54, 0x49, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_319[] = { 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_320[] = { 0x50, 0x41, 0x53, 0x53, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_321[] = { 0x50, 0x49, 0x50, 0x45, 0x4C, 0x49, 0x4E, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_322[] = { 0x50, 0x49, 0x56, 0x4F, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_323[] = { 0x50, 0x4C, 0x41, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_324[] = { 0x50, 0x4C, 0x53, 0x5F, 0x49, 0x4E, 0x54, 0x45, 0x47, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_325[] = { 0x50, 0x4F, 0x53, 0x49, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_326[] = { 0x50, 0x4F, 0x53, 0x49, 0x54, 0x49, 0x56, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_327[] = { 0x50, 0x4F, 0x53, 0x49, 0x54, 0x49, 0x56, 0x45, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_328[] = { 0x50, 0x52, 0x41, 0x47, 0x4D, 0x41, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_329[] = { 0x50, 0x52, 0x45, 0x43, 0x45, 0x44, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_330[] = { 0x50, 0x52, 0x45, 0x43, 0x49, 0x53, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_331[] = { 0x50, 0x52, 0x45, 0x53, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_332[] = { 0x50, 0x52, 0x49, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_333[] = { 0x50, 0x52, 0x4F, 0x43, 0x45, 0x44, 0x55, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_334[] = { 0x50, 0x55, 0x42, 0x4C, 0x49, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_335[] = { 0x51, 0x55, 0x45, 0x52, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_336[] = { 0x52, 0x41, 0x49, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_337[] = { 0x52, 0x41, 0x4E, 0x47, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_338[] = { 0x52, 0x41, 0x57, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_339[] = { 0x52, 0x45, 0x41, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_340[] = { 0x52, 0x45, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_341[] = { 0x52, 0x45, 0x43, 0x4F, 0x52, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_342[] = { 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4E, 0x43, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_343[] = { 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4E, 0x43, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_344[] = { 0x52, 0x45, 0x4A, 0x45, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_345[] = { 0x52, 0x45, 0x4C, 0x49, 0x45, 0x53, 0x5F, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_346[] = { 0x52, 0x45, 0x4E, 0x41, 0x4D, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_347[] = { 0x52, 0x45, 0x50, 0x4C, 0x41, 0x43, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_348[] = { 0x52, 0x45, 0x53, 0x4F, 0x55, 0x52, 0x43, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_349[] = { 0x52, 0x45, 0x53, 0x50, 0x45, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_350[] = { 0x52, 0x45, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x5F, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4E, 0x43, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_351[] = { 0x52, 0x45, 0x53, 0x55, 0x4C, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_352[] = { 0x52, 0x45, 0x53, 0x55, 0x4C, 0x54, 0x5F, 0x43, 0x41, 0x43, 0x48, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_353[] = { 0x52, 0x45, 0x53, 0x55, 0x4D, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_354[] = { 0x52, 0x45, 0x54, 0x55, 0x52, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_355[] = { 0x52, 0x45, 0x54, 0x55, 0x52, 0x4E, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_356[] = { 0x52, 0x45, 0x55, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_357[] = { 0x52, 0x45, 0x56, 0x45, 0x52, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_358[] = { 0x52, 0x45, 0x56, 0x4F, 0x4B, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_359[] = { 0x52, 0x49, 0x47, 0x48, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_360[] = { 0x52, 0x4F, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_361[] = { 0x52, 0x4F, 0x4C, 0x4C, 0x42, 0x41, 0x43, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_362[] = { 0x52, 0x4F, 0x4C, 0x4C, 0x55, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_363[] = { 0x52, 0x4F, 0x57, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_364[] = { 0x52, 0x4F, 0x57, 0x43, 0x4F, 0x55, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_365[] = { 0x52, 0x4F, 0x57, 0x49, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_366[] = { 0x52, 0x4F, 0x57, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_367[] = { 0x52, 0x4F, 0x57, 0x54, 0x59, 0x50, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_368[] = { 0x52, 0x55, 0x4C, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_369[] = { 0x53, 0x41, 0x4D, 0x50, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_370[] = { 0x53, 0x41, 0x56, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_371[] = { 0x53, 0x41, 0x56, 0x45, 0x50, 0x4F, 0x49, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_372[] = { 0x53, 0x43, 0x48, 0x45, 0x4D, 0x41, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_373[] = { 0x53, 0x43, 0x48, 0x45, 0x4D, 0x41, 0x43, 0x48, 0x45, 0x43, 0x4B, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_374[] = { 0x53, 0x43, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_375[] = { 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_376[] = { 0x53, 0x45, 0x43, 0x4F, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_377[] = { 0x53, 0x45, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_378[] = { 0x53, 0x45, 0x47, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_379[] = { 0x53, 0x45, 0x4C, 0x45, 0x43, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_380[] = { 0x53, 0x45, 0x4C, 0x46, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_381[] = { 0x53, 0x45, 0x51, 0x55, 0x45, 0x4E, 0x43, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_382[] = { 0x53, 0x45, 0x51, 0x55, 0x45, 0x4E, 0x54, 0x49, 0x41, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_383[] = { 0x53, 0x45, 0x52, 0x49, 0x41, 0x4C, 0x49, 0x5A, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_384[] = { 0x53, 0x45, 0x52, 0x49, 0x41, 0x4C, 0x4C, 0x59, 0x5F, 0x52, 0x45, 0x55, 0x53, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_385[] = { 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x45, 0x52, 0x52, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_386[] = { 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x4F, 0x55, 0x54, 0x50, 0x55, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_387[] = { 0x53, 0x45, 0x53, 0x53, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_388[] = { 0x53, 0x45, 0x53, 0x53, 0x49, 0x4F, 0x4E, 0x5F, 0x55, 0x53, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_389[] = { 0x53, 0x45, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_390[] = { 0x53, 0x45, 0x54, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_391[] = { 0x53, 0x45, 0x54, 0x54, 0x49, 0x4E, 0x47, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_392[] = { 0x53, 0x48, 0x41, 0x52, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_393[] = { 0x53, 0x48, 0x4F, 0x57, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_394[] = { 0x53, 0x48, 0x55, 0x54, 0x44, 0x4F, 0x57, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_395[] = { 0x53, 0x49, 0x42, 0x4C, 0x49, 0x4E, 0x47, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_396[] = { 0x53, 0x49, 0x47, 0x4E, 0x54, 0x59, 0x50, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_397[] = { 0x53, 0x49, 0x4D, 0x50, 0x4C, 0x45, 0x5F, 0x49, 0x4E, 0x54, 0x45, 0x47, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_398[] = { 0x53, 0x49, 0x4E, 0x47, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_399[] = { 0x53, 0x49, 0x5A, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_400[] = { 0x53, 0x4B, 0x49, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_401[] = { 0x53, 0x4D, 0x41, 0x4C, 0x4C, 0x49, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_402[] = { 0x53, 0x4E, 0x41, 0x50, 0x53, 0x48, 0x4F, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_403[] = { 0x53, 0x4F, 0x4D, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_404[] = { 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_405[] = { 0x53, 0x51, 0x4C, 0x44, 0x41, 0x54, 0x41, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_406[] = { 0x53, 0x51, 0x4C, 0x45, 0x52, 0x52, 0x4F, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_407[] = { 0x53, 0x54, 0x41, 0x4E, 0x44, 0x41, 0x4C, 0x4F, 0x4E, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_408[] = { 0x53, 0x54, 0x41, 0x52, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_409[] = { 0x53, 0x54, 0x41, 0x52, 0x54, 0x55, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_410[] = { 0x53, 0x54, 0x41, 0x54, 0x45, 0x4D, 0x45, 0x4E, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_411[] = { 0x53, 0x54, 0x41, 0x54, 0x45, 0x4D, 0x45, 0x4E, 0x54, 0x5F, 0x49, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_412[] = { 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_413[] = { 0x53, 0x54, 0x41, 0x54, 0x49, 0x53, 0x54, 0x49, 0x43, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_414[] = { 0x53, 0x54, 0x52, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_415[] = { 0x53, 0x55, 0x42, 0x4D, 0x55, 0x4C, 0x54, 0x49, 0x53, 0x45, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_416[] = { 0x53, 0x55, 0x42, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_417[] = { 0x53, 0x55, 0x42, 0x53, 0x54, 0x49, 0x54, 0x55, 0x54, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_418[] = { 0x53, 0x55, 0x42, 0x54, 0x59, 0x50, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_419[] = { 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_420[] = { 0x53, 0x55, 0x53, 0x50, 0x45, 0x4E, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_421[] = { 0x53, 0x59, 0x53, 0x54, 0x45, 0x4D, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_422[] = { 0x53, 0x59, 0x53, 0x54, 0x45, 0x4D, 0x5F, 0x55, 0x53, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_423[] = { 0x54, 0x41, 0x42, 0x41, 0x55, 0x54, 0x48, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_424[] = { 0x54, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_425[] = { 0x54, 0x48, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_426[] = { 0x54, 0x48, 0x45, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_427[] = { 0x54, 0x49, 0x4D, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_428[] = { 0x54, 0x49, 0x4D, 0x45, 0x4F, 0x55, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_429[] = { 0x54, 0x49, 0x4D, 0x45, 0x53, 0x54, 0x41, 0x4D, 0x50, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_430[] = { 0x54, 0x49, 0x4D, 0x45, 0x53, 0x54, 0x41, 0x4D, 0x50, 0x5F, 0x4C, 0x54, 0x5A, 0x5F, 0x55, 0x4E, 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4E, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_431[] = { 0x54, 0x49, 0x4D, 0x45, 0x53, 0x54, 0x41, 0x4D, 0x50, 0x5F, 0x54, 0x5A, 0x5F, 0x55, 0x4E, 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4E, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_432[] = { 0x54, 0x49, 0x4D, 0x45, 0x53, 0x54, 0x41, 0x4D, 0x50, 0x5F, 0x55, 0x4E, 0x43, 0x4F, 0x4E, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4E, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_433[] = { 0x54, 0x49, 0x4D, 0x45, 0x5A, 0x4F, 0x4E, 0x45, 0x5F, 0x41, 0x42, 0x42, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_434[] = { 0x54, 0x49, 0x4D, 0x45, 0x5A, 0x4F, 0x4E, 0x45, 0x5F, 0x48, 0x4F, 0x55, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_435[] = { 0x54, 0x49, 0x4D, 0x45, 0x5A, 0x4F, 0x4E, 0x45, 0x5F, 0x4D, 0x49, 0x4E, 0x55, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_436[] = { 0x54, 0x49, 0x4D, 0x45, 0x5A, 0x4F, 0x4E, 0x45, 0x5F, 0x52, 0x45, 0x47, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_437[] = { 0x54, 0x4F, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_438[] = { 0x54, 0x52, 0x41, 0x49, 0x4C, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_439[] = { 0x54, 0x52, 0x41, 0x4E, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_440[] = { 0x54, 0x52, 0x49, 0x47, 0x47, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_441[] = { 0x54, 0x52, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_442[] = { 0x54, 0x52, 0x55, 0x4E, 0x43, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_443[] = { 0x54, 0x59, 0x50, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_444[] = { 0x55, 0x4E, 0x42, 0x4F, 0x55, 0x4E, 0x44, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_445[] = { 0x55, 0x4E, 0x44, 0x45, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_446[] = { 0x55, 0x4E, 0x49, 0x4F, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_447[] = { 0x55, 0x4E, 0x49, 0x51, 0x55, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_448[] = { 0x55, 0x4E, 0x4B, 0x4E, 0x4F, 0x57, 0x4E, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_449[] = { 0x55, 0x4E, 0x4C, 0x49, 0x4D, 0x49, 0x54, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_450[] = { 0x55, 0x4E, 0x50, 0x49, 0x56, 0x4F, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_451[] = { 0x55, 0x4E, 0x54, 0x49, 0x4C, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_452[] = { 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_453[] = { 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_454[] = { 0x55, 0x50, 0x53, 0x45, 0x52, 0x54, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_455[] = { 0x55, 0x52, 0x4F, 0x57, 0x49, 0x44, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_456[] = { 0x55, 0x53, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_457[] = { 0x55, 0x53, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_458[] = { 0x56, 0x41, 0x4C, 0x49, 0x44, 0x41, 0x54, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_459[] = { 0x56, 0x41, 0x4C, 0x55, 0x45, 0x53, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_460[] = { 0x56, 0x41, 0x52, 0x43, 0x48, 0x41, 0x52, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_461[] = { 0x56, 0x41, 0x52, 0x43, 0x48, 0x41, 0x52, 0x32, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_462[] = { 0x56, 0x41, 0x52, 0x49, 0x41, 0x42, 0x4C, 0x45, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_463[] = { 0x56, 0x41, 0x52, 0x52, 0x41, 0x59, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTLR_UCHAR lit_464[] = { 0x56, 0x41, 0x52, 0x59, 0x49, 0x4E, 0x47, antlr3::ANTLR_STRING_TERMINATOR}; -static ANTL... [truncated message content] |
From: <ibr...@us...> - 2013-03-18 23:11:46
|
Revision: 4594 http://sourceforge.net/p/tora/code/4594 Author: ibre5041 Date: 2013-03-18 23:11:43 +0000 (Mon, 18 Mar 2013) Log Message: ----------- ANTLR generated files added as binary Modified Paths: -------------- branches/tora3/extlibs/parsing.cpp/antlr-complete-3.5.1-SNAPSHOT.jar Added Paths: ----------- branches/tora3/src/parsing/PLSQLGuiLexer.cc branches/tora3/src/parsing/PLSQLGuiLexer.hpp Modified: branches/tora3/extlibs/parsing.cpp/antlr-complete-3.5.1-SNAPSHOT.jar =================================================================== (Binary files differ) Added: branches/tora3/src/parsing/PLSQLGuiLexer.cc =================================================================== (Binary files differ) Index: branches/tora3/src/parsing/PLSQLGuiLexer.cc =================================================================== --- branches/tora3/src/parsing/PLSQLGuiLexer.cc 2013-03-18 23:06:27 UTC (rev 4593) +++ branches/tora3/src/parsing/PLSQLGuiLexer.cc 2013-03-18 23:11:43 UTC (rev 4594) Property changes on: branches/tora3/src/parsing/PLSQLGuiLexer.cc ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Added: branches/tora3/src/parsing/PLSQLGuiLexer.hpp =================================================================== (Binary files differ) Index: branches/tora3/src/parsing/PLSQLGuiLexer.hpp =================================================================== --- branches/tora3/src/parsing/PLSQLGuiLexer.hpp 2013-03-18 23:06:27 UTC (rev 4593) +++ branches/tora3/src/parsing/PLSQLGuiLexer.hpp 2013-03-18 23:11:43 UTC (rev 4594) Property changes on: branches/tora3/src/parsing/PLSQLGuiLexer.hpp ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ibr...@us...> - 2013-03-21 14:39:49
|
Revision: 4595 http://sourceforge.net/p/tora/code/4595 Author: ibre5041 Date: 2013-03-21 14:39:42 +0000 (Thu, 21 Mar 2013) Log Message: ----------- - tocustomlexer is working - tosyntexsetup does not - tosyntaxanalyzer is disabled - tosqlparse is disabled - sql indentation is disabled Modified Paths: -------------- branches/tora3/CMakeLists.txt branches/tora3/cmake/modules/FindGraphViz.cmake branches/tora3/extlibs/parsing.cpp/PLSQLGuiLexer.g branches/tora3/extlibs/parsing.cpp/UserGuiTraits.hpp branches/tora3/extlibs/parsing.cpp/input/simple01.sql branches/tora3/extlibs/parsing.cpp/t0.cpp branches/tora3/extlibs/parsing.cpp/utils.cpp branches/tora3/src/CMakeLists.txt branches/tora3/src/core/toresultfield.cpp branches/tora3/src/core/toresultplan.cpp branches/tora3/src/core/toresultplan.h branches/tora3/src/core/tosyntaxsetup.cpp branches/tora3/src/core/tosyntaxsetup.h branches/tora3/src/editor/tocustomlexer.cpp branches/tora3/src/editor/tocustomlexer.h branches/tora3/src/editor/tohighlightedtext.h branches/tora3/src/editor/tohighlightedtexteditor.cpp branches/tora3/src/editor/tohighlightedtexteditor.h branches/tora3/src/parsing/PLSQLGuiLexer.cc branches/tora3/src/parsing/PLSQLGuiLexer.hpp branches/tora3/src/parsing/UserGuiTraits.hpp branches/tora3/src/parsing/tsqllexeroracle2.cc branches/tora3/src/tests/test1.cpp branches/tora3/src/tools/tosgastatement.cpp branches/tora3/src/tools/toworksheet.cpp branches/tora3/src/tools/toworksheet.h Added Paths: ----------- branches/tora3/src/obsolete/tosqlparse.cpp branches/tora3/src/obsolete/tosqlparse.h branches/tora3/src/obsolete/tosyntaxanalyzer.cpp branches/tora3/src/obsolete/tosyntaxanalyzer.h branches/tora3/src/parsing/tsqllexer.h branches/tora3/src/parsing/tsqllexer.inl branches/tora3/src/parsing/tsqlparse.cpp branches/tora3/src/parsing/tsqlparse.h Removed Paths: ------------- branches/tora3/src/core/tosqlparse.cpp branches/tora3/src/core/tosqlparse.h branches/tora3/src/core/tosyntaxanalyzer.cpp branches/tora3/src/core/tosyntaxanalyzer.h branches/tora3/src/core/tsqllexer.h branches/tora3/src/core/tsqlparse.cpp branches/tora3/src/core/tsqlparse.h Modified: branches/tora3/CMakeLists.txt =================================================================== --- branches/tora3/CMakeLists.txt 2013-03-18 23:11:43 UTC (rev 4594) +++ branches/tora3/CMakeLists.txt 2013-03-21 14:39:42 UTC (rev 4595) @@ -17,7 +17,7 @@ OPTION(ENABLE_TERADATA "Enable/Disable Teradata support." ON) OPTION(WANT_RPM "Enable additional RPM related stuff. Additional make package_rpm target" OFF) OPTION(USE_PCH "Use percompiled headers" OFF) -OPTION(USE_EXPERIMENTAL "Use experimental code" ON) +OPTION(USE_EXPERIMENTAL "Use experimental code" OFF) #Set our CMake minimum version #Require 2.4.2 for Qt finding @@ -80,8 +80,8 @@ # The plugin's .dll must be linked against one of them (usually against tora.lib). # Change this setting if you're compiling some test program(otherwise the test will SEGFAULT) IF(WIN32) - #SET(TORA_LIB ${EXE_NAME}) - SET(TORA_LIB test4) + SET(TORA_LIB ${EXE_NAME}) + #SET(TORA_LIB test4) ENDIF() # Ok, it has to be called after project is set. The we are sure we have size of void pointer set correctly... Modified: branches/tora3/cmake/modules/FindGraphViz.cmake =================================================================== --- branches/tora3/cmake/modules/FindGraphViz.cmake 2013-03-18 23:11:43 UTC (rev 4594) +++ branches/tora3/cmake/modules/FindGraphViz.cmake 2013-03-21 14:39:42 UTC (rev 4595) @@ -151,7 +151,20 @@ SET(graphviz_FOUND FALSE) SET(GRAPHVIZ_INSTALLED_VERSION_TOO_OLD TRUE) ELSE (found_vers LESS req_vers) -SET(graphviz_FOUND TRUE) + +# Injected here to handle the situation when only dot.exe was found +if ( graphviz_INCLUDE_DIRECTORIES AND + graphviz_GVC_LIBRARY AND graphviz_CDT_LIBRARY AND + graphviz_GRAPH_LIBRARY AND graphviz_PATHPLAN_LIBRARY ) + set ( graphviz_FOUND TRUE ) + set ( graphviz_LIBRARIES + "${graphviz_GVC_LIBRARY};${graphviz_GRAPH_LIBRARY};" + "${graphviz_CDT_LIBRARY};${graphviz_PATHPLAN_LIBRARY}" + CACHE FILEPATH "Libraries for graphviz" ) +else () + set ( graphviz_FOUND FALSE ) +endif () + ENDIF (found_vers LESS req_vers) ENDIF (GRAPHVIZVERSION) Modified: branches/tora3/extlibs/parsing.cpp/PLSQLGuiLexer.g =================================================================== --- branches/tora3/extlibs/parsing.cpp/PLSQLGuiLexer.g 2013-03-18 23:11:43 UTC (rev 4594) +++ branches/tora3/extlibs/parsing.cpp/PLSQLGuiLexer.g 2013-03-21 14:39:42 UTC (rev 4595) @@ -39,7 +39,7 @@ } @lexer::namespace -{ User } +{ Antlr3Impl } @header { /* @@ -78,11 +78,11 @@ FOR_NOTATION : a=UNSIGNED_INTEGER - { - $a->set_type(UNSIGNED_INTEGER); - get_tokSource()->enqueueToken($a); - advanceInput(); - } + { + $a->set_type(UNSIGNED_INTEGER); + get_tokSource()->enqueueToken($a); + advanceInput(); + } b='..' { $b->set_type(DOUBLE_PERIOD); @@ -95,7 +95,8 @@ get_tokSource()->enqueueToken($c); advanceInput(); - $channel=HIDDEN; // All three tokens were already emited (the token of type FOR_NOTATION is put into the hidden channel) + //$channel=HIDDEN; // All three tokens were already emited (the token of type FOR_NOTATION is put into the hidden channel) + skip(); } ; @@ -239,14 +240,6 @@ : '/*' (options{greedy=false;} : .)* '*/' ; -// SQL*Plus prompt -// TODO should be grammar rule, but tricky to implement -// TODO SQLPLUS not coverd at all -// PROMPT -// : 'PROMPT' SPACE ( ~('\r' | '\n') )* (NEWLINE|EOF) -// ; -//} - //{ Rule #360 <NEWLINE> fragment NEWLINE @@ -279,7 +272,51 @@ | QUESTION_MARK // not in SQL, not in Oracle, not in OCI, use this for JDBC ; +SQL_COMMAND_INTRODUCER: + 'SELECT' | + 'WITH' | + 'INSERT' | + 'UPDATE' | + 'MERGE' | + 'COMMIT' | + 'ROLLBACK' | + 'DELETE'; + +PLSQL_COMMAND_INTRODUCER: + 'CALL' | + 'DECLARE' | + 'BEGIN' | + 'CREATE'; +OTHER_COMMAND_INTRODUCER: + 'ALTER' | + 'ANALYZE' | + 'ASSOCIATE' | + 'AUDIT' | + 'COMMENT' | + 'DISASSOCIATE' | + 'DROP' | + 'EXPLAIN' | + 'FLASHBACK' | + 'GRANT' | + 'LOCK' | + 'NOAUDIT' | + 'RENAME' | + 'REVOKE' | + 'SAVEPOINT' | + 'SET' | // either "SET ROLE/CONSTRAINT/TRANSACTION ..." or "SET LINE ..." + 'TRUNCATE'; + +// All these should start a NEWLINE, tricky to implement +SQLPLUS_COMMAND_INTRODUCER: + 'PROMPT' | + 'DEF'('I'|'IN'|'INE')? | + 'DESC'('R'|'RI'|'RIB'|'RIBE')? | + 'VAR'('I'|'IA'|'IAB'|'IABL'|'IABLE')?| + 'SPOOL' | + // SOLIDUS: '/'; + 'PRINT'; + PLSQL_RESERVED: 'A' | /* A_KEY: */ 'ADD' | /* ADD_KEY: */ @@ -288,24 +325,24 @@ 'AGENT' | /* AGENT_KEY: */ 'AGGREGATE' | /* AGGREGATE_KEY: */ 'ALL' | /* SQL92_RESERVED_ALL:*/ - 'ALTER' | /* SQL92_RESERVED_ALTER:*/ - 'ANALYZE' | /* ANALYZE_KEY: */ + //'ALTER' | /* SQL92_RESERVED_ALTER:*/ + //'ANALYZE' | /* ANALYZE_KEY: */ 'AND' | /* SQL92_RESERVED_AND:*/ 'ANY' | /* SQL92_RESERVED_ANY:*/ 'ARRAY' | /* ARRAY_KEY: */ 'AS' | /* SQL92_RESERVED_AS:*/ 'ASC' | /* SQL92_RESERVED_ASC:*/ - 'ASSOCIATE' | /* ASSOCIATE_KEY: */ + //'ASSOCIATE' | /* ASSOCIATE_KEY: */ 'AT' | /* AT_KEY: */ 'ATTRIBUTE' | /* ATTRIBUTE_KEY: */ - 'AUDIT' | /* AUDIT_KEY: */ + //'AUDIT' | /* AUDIT_KEY: */ 'AUTHID' | /* AUTHID_KEY: */ 'AUTO' | /* AUTO_KEY: */ 'AUTOMATIC' | /* AUTOMATIC_KEY: */ 'AUTONOMOUS_TRANSACTION' | /* AUTONOMOUS_TRANSACTION_KEY: */ 'BATCH' | /* BATCH_KEY: */ 'BEFORE' | /* BEFORE_KEY: */ - 'BEGIN' | /* SQL92_RESERVED_BEGIN:*/ + //'BEGIN' | /* SQL92_RESERVED_BEGIN:*/ 'BETWEEN' | /* SQL92_RESERVED_BETWEEN:*/ 'BFILE' | /* BFILE_KEY: */ 'BINARY_DOUBLE' | /* BINARY_DOUBLE_KEY: */ @@ -337,7 +374,7 @@ 'BYTE' | /* BYTE_KEY: */ 'C' | /* C_KEY: */ 'CACHE' | /* CACHE_KEY: */ - 'CALL' | /* CALL_KEY: */ + //'CALL' | /* CALL_KEY: */ 'CANONICAL' | /* CANONICAL_KEY: */ 'CASCADE' | /* CASCADE_KEY: */ 'CASE' | /* SQL92_RESERVED_CASE:*/ @@ -354,8 +391,8 @@ 'COLAUTH' | /* PLSQL_RESERVED_COLAUTH:*/ 'COLLATE' | /* COLLATE_KEY: */ 'COLUMNS' | /* COLUMNS_KEY: */ - 'COMMENT' | /* COMMENT_KEY: */ - 'COMMIT' | /* COMMIT_KEY: */ + //'COMMENT' | /* COMMENT_KEY: */ + //'COMMIT' | /* COMMIT_KEY: */ 'COMMITTED' | /* COMMITTED_KEY: */ 'COMPATIBILITY' | /* COMPATIBILITY_KEY: */ 'COMPILE' | /* COMPILE_KEY: */ @@ -375,7 +412,7 @@ 'CORRUPT_XID_ALL' | /* CORRUPT_XID_ALL_KEY: */ 'COST' | /* COST_KEY: */ 'CRASH' | /* PLSQL_RESERVED_CRASH:*/ - 'CREATE' | /* SQL92_RESERVED_CREATE:*/ + //'CREATE' | /* SQL92_RESERVED_CREATE:*/ 'CROSS' | /* CROSS_KEY: */ 'CUBE' | /* CUBE_KEY: */ 'CURRENT' | /* SQL92_RESERVED_CURRENT:*/ @@ -392,23 +429,23 @@ 'DEBUG' | /* DEBUG_KEY: */ 'DEC' | /* DEC_KEY: */ 'DECIMAL' | /* DECIMAL_KEY: */ - 'DECLARE' | /* SQL92_RESERVED_DECLARE:*/ + //'DECLARE' | /* SQL92_RESERVED_DECLARE:*/ 'DECREMENT' | /* DECREMENT_KEY: */ 'DEFAULT' | /* SQL92_RESERVED_DEFAULT:*/ 'DEFAULTS' | /* DEFAULTS_KEY: */ 'DEFERRED' | /* DEFERRED_KEY: */ 'DEFINER' | /* DEFINER_KEY: */ - 'DELETE' | /* SQL92_RESERVED_DELETE:*/ - 'DESC' | /* SQL92_RESERVED_DESC:*/ + //'DELETE' | /* SQL92_RESERVED_DELETE:*/ + //'DESC' | /* SQL92_RESERVED_DESC:*/ 'DETERMINISTIC' | /* DETERMINISTIC_KEY: */ 'DIMENSION' | /* DIMENSION_KEY: */ 'DISABLE' | /* DISABLE_KEY: */ - 'DISASSOCIATE' | /* DISASSOCIATE_KEY: */ + //'DISASSOCIATE' | /* DISASSOCIATE_KEY: */ 'DISTINCT' | /* SQL92_RESERVED_DISTINCT:*/ 'DML' | /* DML_KEY: */ 'DOCUMENT' | /* DOCUMENT_KEY: */ 'DOUBLE' | /* DOUBLE_KEY: */ - 'DROP' | /* SQL92_RESERVED_DROP:*/ + //'DROP' | /* SQL92_RESERVED_DROP:*/ 'DSINTERVAL_UNCONSTRAINED' | /* DSINTERVAL_UNCONSTRAINED_KEY: */ 'EACH' | /* EACH_KEY: */ 'ELEMENT' | /* ELEMENT_KEY: */ @@ -431,13 +468,14 @@ 'EXECUTE' | /* EXECUTE_KEY: */ 'EXISTS' | /* SQL92_RESERVED_EXISTS:*/ 'EXIT' | /* EXIT_KEY: */ - 'EXPLAIN' | /* EXPLAIN_KEY: */ + //'EXPLAIN' | /* EXPLAIN_KEY: */ 'EXTEND' | /* EXTEND_KEY: */ 'EXTERNAL' | /* EXTERNAL_KEY: */ 'FAILURE' | /* FAILURE_KEY: */ 'FALSE' | /* SQL92_RESERVED_FALSE:*/ 'FETCH' | /* SQL92_RESERVED_FETCH:*/ 'FINAL' | /* FINAL_KEY: */ + //'FLASHBACK' | /* FLASHBACK_KEY: */ 'FLOAT' | /* FLOAT_KEY: */ 'FOLLOWING' | /* FOLLOWING_KEY: */ 'FOUND' | /* PERCENT_FOUND_KEY: */ @@ -450,7 +488,7 @@ 'FUNCTION' | /* FUNCTION_KEY: */ 'GLOBAL' | /* GLOBAL_KEY: */ 'GOTO' | /* SQL92_RESERVED_GOTO:*/ - 'GRANT' | /* SQL92_RESERVED_GRANT:*/ + //'GRANT' | /* SQL92_RESERVED_GRANT:*/ 'GROUP' | /* SQL92_RESERVED_GROUP:*/ 'GUARD' | /* GUARD_KEY: */ 'HASH' | /* HASH_KEY: */ @@ -475,7 +513,7 @@ 'INLINE' | /* INLINE_KEY: */ 'INNER' | /* INNER_KEY: */ 'INOUT' | /* INOUT_KEY: */ - 'INSERT' | /* SQL92_RESERVED_INSERT:*/ + //'INSERT' | /* SQL92_RESERVED_INSERT:*/ 'INSTANTIABLE' | /* INSTANTIABLE_KEY: */ 'INSTEAD' | /* INSTEAD_KEY: */ 'INT' | /* INT_KEY: */ @@ -503,7 +541,7 @@ 'LIMIT' | /* LIMIT_KEY: */ 'LINK' | /* LINK_KEY: */ 'LOCAL' | /* LOCAL_KEY: */ - 'LOCK' | /* PLSQL_RESERVED_LOCK:*/ + //'LOCK' | /* PLSQL_RESERVED_LOCK:*/ 'LOCKED' | /* LOCKED_KEY: */ 'LOGOFF' | /* LOGOFF_KEY: */ 'LOGON' | /* LOGON_KEY: */ @@ -516,7 +554,7 @@ 'MAXVALUE' | /* MAXVALUE_KEY: */ 'MEASURES' | /* MEASURES_KEY: */ 'MEMBER' | /* MEMBER_KEY: */ - 'MERGE' | /* MERGE_KEY: */ + //'MERGE' | /* MERGE_KEY: */ 'MINUS' | /* PLSQL_RESERVED_MINUS:*/ 'MINUTE' | /* MINUTE_KEY: */ 'MINVALUE' | /* MINVALUE_KEY: */ @@ -540,7 +578,7 @@ 'NEW' | /* NEW_KEY: */ 'NEXTVAL' | /* NEXTVAL_KEY: */ 'NO' | /* NO_KEY: */ - 'NOAUDIT' | /* NOAUDIT_KEY: */ + //'NOAUDIT' | /* NOAUDIT_KEY: */ 'NOCACHE' | /* NOCACHE_KEY: */ 'NOCOMPRESS' | /* PLSQL_RESERVED_NOCOMPRESS:*/ 'NOCOPY' | /* NOCOPY_KEY: */ @@ -613,7 +651,7 @@ 'REFERENCING' | /* REFERENCING_KEY: */ 'REJECT' | /* REJECT_KEY: */ 'RELIES_ON' | /* RELIES_ON_KEY: */ - 'RENAME' | /* RENAME_KEY: */ + //'RENAME' | /* RENAME_KEY: */ 'REPLACE' | /* SQL92_NON_RESERVED_REPLACE:*/ 'RESOURCE' | /* PLSQL_RESERVED_RESOURCE:*/ 'RESPECT' | /* RESPECT_KEY: */ @@ -628,7 +666,7 @@ 'REVOKE' | /* SQL92_RESERVED_REVOKE:*/ 'RIGHT' | /* RIGHT_KEY: */ 'ROLE' | /* ROLE_KEY: */ - 'ROLLBACK' | /* ROLLBACK_KEY: */ + //'ROLLBACK' | /* ROLLBACK_KEY: */ 'ROLLUP' | /* ROLLUP_KEY: */ 'ROW' | /* ROW_KEY: */ 'ROWCOUNT' | /* PERCENT_ROWCOUNT_KEY: */ @@ -638,7 +676,7 @@ 'RULES' | /* RULES_KEY: */ 'SAMPLE' | /* SAMPLE_KEY: */ 'SAVE' | /* SAVE_KEY: */ - 'SAVEPOINT' | /* SAVEPOINT_KEY: */ + //'SAVEPOINT' | /* SAVEPOINT_KEY: */ 'SCHEMA' | /* SCHEMA_KEY: */ 'SCHEMACHECK' | /* SCHEMACHECK_KEY: */ 'SCN' | /* SCN_KEY: */ @@ -646,7 +684,7 @@ 'SECOND' | /* SECOND_KEY: */ 'SEED' | /* SEED_KEY: */ 'SEGMENT' | /* SEGMENT_KEY: */ - 'SELECT' | /* SQL92_RESERVED_SELECT:*/ + //'SELECT' | /* SQL92_RESERVED_SELECT:*/ 'SELF' | /* SELF_KEY: */ 'SEQUENCE' | /* SEQUENCE_KEY: */ 'SEQUENTIAL' | /* SEQUENTIAL_KEY: */ @@ -656,7 +694,7 @@ 'SERVEROUTPUT' | /* SERVEROUTPUT_KEY: */ 'SESSION' | /* SESSION_KEY: */ 'SESSION_USER' | /* SESSION_USER_KEY: */ - 'SET' | /* SET_KEY: */ + //'SET' | /* SET_KEY: */ 'SETS' | /* SETS_KEY: */ 'SETTINGS' | /* SETTINGS_KEY: */ 'SHARE' | /* PLSQL_RESERVED_SHARE:*/ @@ -709,7 +747,7 @@ 'TRANSACTION' | /* TRANSACTION_KEY: */ 'TRIGGER' | /* TRIGGER_KEY: */ 'TRUE' | /* SQL92_RESERVED_TRUE:*/ - 'TRUNCATE' | /* TRUNCATE_KEY: */ + //'TRUNCATE' | /* TRUNCATE_KEY: */ 'TYPE' | /* TYPE_KEY: */ 'UNBOUNDED' | /* UNBOUNDED_KEY: */ 'UNDER' | /* UNDER_KEY: */ @@ -719,7 +757,7 @@ 'UNLIMITED' | /* UNLIMITED_KEY: */ 'UNPIVOT' | /* SQL_NON_RESERVED_UNPIVOT:*/ 'UNTIL' | /* UNTIL_KEY: */ - 'UPDATE' | /* SQL92_RESERVED_UPDATE:*/ + //'UPDATE' | /* SQL92_RESERVED_UPDATE:*/ 'UPDATED' | /* UPDATED_KEY: */ 'UPSERT' | /* UPSERT_KEY: */ 'UROWID' | /* UROWID_KEY: */ @@ -729,7 +767,7 @@ 'VALUES' | /* SQL92_RESERVED_VALUES:*/ 'VARCHAR' | /* VARCHAR_KEY: */ 'VARCHAR2' | /* VARCHAR2_KEY: */ - 'VARIABLE' | /* VARIABLE_KEY: */ + //'VARIABLE' | /* VARIABLE_KEY: */ 'VARRAY' | /* VARRAY_KEY: */ 'VARYING' | /* VARYING_KEY: */ 'VERSION' | /* VERSION_KEY: */ @@ -743,7 +781,7 @@ 'WHENEVER' | /* WHENEVER_KEY: */ 'WHERE' | /* SQL92_RESERVED_WHERE:*/ 'WHILE' | /* WHILE_KEY: */ - 'WITH' | /* SQL92_RESERVED_WITH:*/ + //'WITH' | /* SQL92_RESERVED_WITH:*/ 'WITHIN' | /* WITHIN_KEY: */ 'WORK' | /* WORK_KEY: */ 'WRITE' | /* WRITE_KEY: */ @@ -1012,11 +1050,21 @@ : (SIMPLE_LETTER) (SIMPLE_LETTER | '$' | '_' | '#' | '0'..'9')* ; -//{ Rule #163 <DELIMITED_ID> DELIMITED_ID : '"' (~('"' | '\r' | '\n') | '"' '"')+ '"' ; -//} +DELIMITED_ID_PART + : '"' (~('"' | '\r' | '\n') | '"' '"')+ (NEWLINE|EOF) + ; + +COMMENT_ML_PART + : '/*' (options{greedy=false;} : ~('*/') )* (NEWLINE) + ; + +COMMENT_ML_END + : '*/' + ; + // Last resort rule matches any character. This lexer should never fail. TOKEN_FAILURE : . ; Modified: branches/tora3/extlibs/parsing.cpp/UserGuiTraits.hpp =================================================================== --- branches/tora3/extlibs/parsing.cpp/UserGuiTraits.hpp 2013-03-18 23:11:43 UTC (rev 4594) +++ branches/tora3/extlibs/parsing.cpp/UserGuiTraits.hpp 2013-03-21 14:39:42 UTC (rev 4595) @@ -15,11 +15,11 @@ #include <queue> #include <boost/algorithm/string/predicate.hpp> -namespace User { +namespace Antlr3Impl { class PLSQLGuiLexer; }; -namespace User { +namespace Antlr3Impl { //code for overriding template<class ImplTraits> class UserTraits : public antlr3::CustomTraitsBase<ImplTraits> @@ -64,9 +64,8 @@ }; -namespace User +namespace Antlr3Impl { - typedef PLSQLGuiLexerTraits MyTraits; template<class CommonTokenType> inline bool isTableAlias(CommonTokenType *LT1, CommonTokenType *LT2) { @@ -81,8 +80,8 @@ static const std::string wRIGHT("RIGHT"); static const std::string wOUTER("OUTER"); - MyTraits::StringType lt1 = LT1->getText(); - MyTraits::StringType lt2 = ""; + PLSQLGuiLexerTraits::StringType lt1 = LT1->getText(); + PLSQLGuiLexerTraits::StringType lt2 = ""; //std::transform(lt1.begin(), lt1.end(), lt1.begin(), ::toupper); if ( LT2 && LT2->getText() != ""){ @@ -170,7 +169,7 @@ } //template<class StringType> - inline bool enablesOverClause(MyTraits::StringType const& originalFunctionName) { + inline bool enablesOverClause(PLSQLGuiLexerTraits::StringType const& originalFunctionName) { static const std::string wREGR("REGR_"); static const std::string wSTDDEV("STDDEV"); static const std::string wVAR("VAR_"); @@ -214,13 +213,13 @@ } //template<class StringType> - inline bool equalsIgnoreCase(MyTraits::StringType const& s1, const char* s2) + inline bool equalsIgnoreCase(PLSQLGuiLexerTraits::StringType const& s1, const char* s2) { // return !strcasecmp(s1.c_str(), s2); // StringType s1U(s1); // std::transform(s1U.begin(), s1U.end(), s1U.begin(), ::toupper); // return s1U == s2; - MyTraits::StringType ST2(s2); + PLSQLGuiLexerTraits::StringType ST2(s2); return boost::iequals(s1, ST2); } } Modified: branches/tora3/extlibs/parsing.cpp/input/simple01.sql =================================================================== --- branches/tora3/extlibs/parsing.cpp/input/simple01.sql 2013-03-18 23:11:43 UTC (rev 4594) +++ branches/tora3/extlibs/parsing.cpp/input/simple01.sql 2013-03-21 14:39:42 UTC (rev 4595) @@ -4,6 +4,7 @@ - 1 1.5 + .5 1. .5 +1..5 1.-.5 select 'hello' Modified: branches/tora3/extlibs/parsing.cpp/t0.cpp =================================================================== --- branches/tora3/extlibs/parsing.cpp/t0.cpp 2013-03-18 23:11:43 UTC (rev 4594) +++ branches/tora3/extlibs/parsing.cpp/t0.cpp 2013-03-21 14:39:42 UTC (rev 4595) @@ -43,7 +43,7 @@ #include <sstream> #include <fstream> -using namespace User; +using namespace Antlr3Impl; using namespace std; // The lexer is of course generated by ANTLR, and so the lexer type is not upper case. @@ -105,7 +105,7 @@ // individual function by installing your own pointer after you have created the standard // version. // - MyTraits::InputStreamType* input; + PLSQLGuiLexerTraits::InputStreamType* input; // The token stream is produced by the ANTLR3 generated lexer. Again it is a structure based @@ -113,7 +113,7 @@ // supplied to the generated parser, and you can write your own token stream and pass this in // if you wish. // - MyTraits::TokenStreamType* tstream; + PLSQLGuiLexerTraits::TokenStreamType* tstream; // Create the input stream using the supplied file name // (Use antlr3AsciiFileStreamNew for UCS2/16bit input). @@ -124,7 +124,7 @@ #else string data = Utils::slurp(fName); #endif - input = new MyTraits::InputStreamType((const ANTLR_UINT8 *)data.c_str(), + input = new PLSQLGuiLexerTraits::InputStreamType((const ANTLR_UINT8 *)data.c_str(), ANTLR_ENC_8BIT, data.length(), //strlen(data.c_str()), (ANTLR_UINT8*)fName); @@ -156,7 +156,7 @@ // you pass around to everything else. A common token as a pointer within // it that should point to your own outer token structure. // - tstream = new MyTraits::TokenStreamType(ANTLR_SIZE_HINT, lxr->get_tokSource()); + tstream = new PLSQLGuiLexerTraits::TokenStreamType(ANTLR_SIZE_HINT, lxr->get_tokSource()); // Note that this means only that the methods are always called via the object // pointer and the first argument to any method, is a pointer to the structure itself. Modified: branches/tora3/extlibs/parsing.cpp/utils.cpp =================================================================== --- branches/tora3/extlibs/parsing.cpp/utils.cpp 2013-03-18 23:11:43 UTC (rev 4594) +++ branches/tora3/extlibs/parsing.cpp/utils.cpp 2013-03-21 14:39:42 UTC (rev 4595) @@ -15,7 +15,6 @@ # define close _close # define strerror _strerror # define O_RDONLY _O_RDONLY -# define fstat fstat # define DIRDELIM '\\' # include "direntw.h" #endif Modified: branches/tora3/src/CMakeLists.txt =================================================================== --- branches/tora3/src/CMakeLists.txt 2013-03-18 23:11:43 UTC (rev 4594) +++ branches/tora3/src/CMakeLists.txt 2013-03-21 14:39:42 UTC (rev 4595) @@ -1,3 +1,5 @@ +MESSAGE(STATUS "graphviz_FOUND: ${graphviz_FOUND}") + # Precompiled headers IF(USE_PCH AND WIN32 AND MSVC) INCLUDE(PrecompiledHeader) @@ -239,7 +241,7 @@ core/topiechart.h core/toeditmenu.h core/toeditablemenu.h - core/tosyntaxanalyzer.h + #obsolete core/tosyntaxanalyzer.h core/tosyntaxsetup.h core/tocache.h #obsolete core/tothread.h @@ -251,7 +253,7 @@ core/totextview.h core/tobrowserbasewidget.h # this one is used by core/todescribe.h (therefore is not in tools) core/toresultline.h - core/tsqllexer.h + parsing/tsqllexer.h editor/toeditorbase.h editor/tomarkedtexteditor.h @@ -453,7 +455,7 @@ core/toresulttableviewedit.cpp core/toresultextract.cpp core/toresultfield.cpp - core/tosqlparse.cpp + #obsolere core/tosqlparse.cpp #obsolete core/toextract.cpp core/toresultgrants.cpp core/toresultdepend.cpp @@ -465,7 +467,7 @@ #obsolete core/tovisualize.cpp core/topiechart.cpp core/toeditablemenu.cpp - core/tosyntaxanalyzer.cpp + #obsolete core/tosyntaxanalyzer.cpp core/tosyntaxsetup.cpp core/tohelpsetup.cpp #obsolete core/totaskrunner.cpp @@ -475,7 +477,6 @@ core/totextview.cpp core/tobrowserbasewidget.cpp # this one is used by core/todescribe.h (therefore is not in tools) core/toresultline.cpp - core/tsqlparse.cpp editor/toeditorbase.cpp editor/tomarkedtext.cpp @@ -509,6 +510,8 @@ connection/toqpsqlprovider.cpp connection/toqpsqlsetting.cpp connection/toqodbcprovider.cpp + + #disabled parsing/tsqlparse.cpp docklets/toviewconnections.cpp docklets/toviewdirectory.cpp @@ -745,8 +748,8 @@ core/tomainwindow.cpp core/tocache.cpp core/tosql.cpp - core/tsqlparse.cpp core/toquery.cpp + #disabled parsing/tsqlparse.cpp ${PCH_SOURCE} ) SET(TEST1_MOC_SOURCES @@ -758,7 +761,7 @@ core/moc_tocache.cxx core/moc_toquery.cxx core/moc_totimer.cxx - core/moc_tsqllexer.cxx + parsing/moc_tsqllexer.cxx ts_log/moc_toostream.cxx ) ADD_EXECUTABLE("test1" ${GUI_TYPE} @@ -812,7 +815,7 @@ # test4 SET(TEST4_SOURCES core/toworkspace.cpp - core/tosyntaxanalyzer.cpp + #obsolete core/tosyntaxanalyzer.cpp core/toconfiguration.cpp core/totool.cpp core/toconnection.cpp @@ -825,9 +828,9 @@ core/tomainwindow.cpp core/tocache.cpp core/tosql.cpp - core/tosqlparse.cpp - core/tsqlparse.cpp + #obsolete core/tosqlparse.cpp core/toquery.cpp + #disabled parsing/tsqlparse.cpp editor/tocustomlexer.cpp editor/tohighlightedtexteditor.cpp editor/tomarkedtexteditor.cpp @@ -835,7 +838,7 @@ SET(TEST4_MOC_SOURCES tests/moc_test4window.cxx core/moc_toworkspace.cxx - core/moc_tosyntaxanalyzer.cxx + #obsolete core/moc_tosyntaxanalyzer.cxx core/moc_totool.cxx core/moc_toconnection.cxx core/moc_tomainwindow.cxx @@ -843,7 +846,7 @@ core/moc_tocache.cxx core/moc_toquery.cxx core/moc_totimer.cxx - core/moc_tsqllexer.cxx + parsing/moc_tsqllexer.cxx ts_log/moc_toostream.cxx editor/moc_tocustomlexer.cxx editor/moc_tohighlightedtexteditor.cxx Modified: branches/tora3/src/core/toresultfield.cpp =================================================================== --- branches/tora3/src/core/toresultfield.cpp 2013-03-18 23:11:43 UTC (rev 4594) +++ branches/tora3/src/core/toresultfield.cpp 2013-03-21 14:39:42 UTC (rev 4595) @@ -41,7 +41,7 @@ #include "core/toresultfield.h" #include "core/toeventquery.h" -#include "core/tosqlparse.h" +//#include "core/tosqlparse.h" #include "core/toconfiguration.h" toResultField::toResultField(QWidget *parent, const char *name) @@ -147,10 +147,11 @@ // Code is formatted if it is set in preferences (Preferences->Editor Extensions) to // indent (format) a read only code AND! if it is not a MySQL code because current // TOra code parser/indenter does not work correctly with MySQL code (routines) - if (toConfigurationSingle::Instance().autoIndentRo() && !connection().providerIs("QMYSQL") && !connection().providerIs("Teradata")) - setText(toSQLParse::indent(text() + Unapplied)); - else - append(Unapplied); + // TODO: toSQLParse disabled + // if (toConfigurationSingle::Instance().autoIndentRo() && !connection().providerIs("QMYSQL") && !connection().providerIs("Teradata")) + // setText(toSQLParse::indent(text() + Unapplied)); + // else + append(Unapplied); } TOCATCH Unapplied = QString::null; Modified: branches/tora3/src/core/toresultplan.cpp =================================================================== --- branches/tora3/src/core/toresultplan.cpp 2013-03-18 23:11:43 UTC (rev 4594) +++ branches/tora3/src/core/toresultplan.cpp 2013-03-21 14:39:42 UTC (rev 4595) @@ -44,7 +44,7 @@ #include "core/toeventquery.h" #include "core/toresultcombo.h" #include "core/toconfiguration.h" -#include "core/tosqlparse.h" +//#include "core/tosqlparse.h" toResultPlan::toResultPlan(QWidget *parent, const char *name) : toResultView(false, false, parent, name) @@ -228,59 +228,59 @@ // TopItem->setText(1, sql.left(50).trimmed()); //} -static void StripInto(std::list<toSQLParse::statement> &stats) -{ - std::list<toSQLParse::statement> res; - bool into = false; - bool add - = true; - for (std::list<toSQLParse::statement>::iterator i = stats.begin(); i != stats.end(); i++) - { - if (into) - { - if (!add - && (*i).String.toUpper() == QString::fromLatin1("FROM")) - add - = true; - } - else if ((*i).String.toUpper() == QString::fromLatin1("INTO")) - { - add - = false; - into = true; - } - if (add - ) - res.insert(res.end(), *i); - } - stats = res; -} +//static void StripInto(std::list<toSQLParse::statement> &stats) +//{ +// std::list<toSQLParse::statement> res; +// bool into = false; +// bool add +// = true; +// for (std::list<toSQLParse::statement>::iterator i = stats.begin(); i != stats.end(); i++) +// { +// if (into) +// { +// if (!add +// && (*i).String.toUpper() == QString::fromLatin1("FROM")) +// add +// = true; +// } +// else if ((*i).String.toUpper() == QString::fromLatin1("INTO")) +// { +// add +// = false; +// into = true; +// } +// if (add +// ) +// res.insert(res.end(), *i); +// } +// stats = res; +//} -void toResultPlan::addStatements(std::list<toSQLParse::statement> &stats) -{ - for (std::list<toSQLParse::statement>::iterator i = stats.begin(); i != stats.end(); i++) - { - if ((*i).Type == toSQLParse::statement::Block) - addStatements((*i).subTokens()); - else if ((*i).Type == toSQLParse::statement::Statement) - { - if ((*i).subTokens().begin() != (*i).subTokens().end()) - { - QString t = (*((*i).subTokens().begin())).String.toUpper(); - if (t == QString::fromLatin1("SELECT")) - StripInto((*i).subTokens()); +//void toResultPlan::addStatements(std::list<toSQLParse::statement> &stats) +//{ +// for (std::list<toSQLParse::statement>::iterator i = stats.begin(); i != stats.end(); i++) +// { +// if ((*i).Type == toSQLParse::statement::Block) +// addStatements((*i).subTokens()); +// else if ((*i).Type == toSQLParse::statement::Statement) +// { +// if ((*i).subTokens().begin() != (*i).subTokens().end()) +// { +// QString t = (*((*i).subTokens().begin())).String.toUpper(); +// if (t == QString::fromLatin1("SELECT")) +// StripInto((*i).subTokens()); +// +// if (t == QString::fromLatin1("SELECT") || +// t == QString::fromLatin1("INSERT") || +// t == QString::fromLatin1("UPDATE") || +// t == QString::fromLatin1("DELETE")) +// Statements.insert(Statements.end(), +// toSQLParse::indentStatement(*i).trimmed()); +// } +// } +// } +//} - if (t == QString::fromLatin1("SELECT") || - t == QString::fromLatin1("INSERT") || - t == QString::fromLatin1("UPDATE") || - t == QString::fromLatin1("DELETE")) - Statements.insert(Statements.end(), - toSQLParse::indentStatement(*i).trimmed()); - } - } - } -} - void toResultPlan::query(const QString &sql, toQueryParams const& param) { if (!handled()) @@ -349,20 +349,22 @@ // Execute EXPLAIN PLAN FOR ... else { + throw QString("toResultPlan::query EXPLAIN PLAN FOR ... not implemented yet."); + Explaining = true; Ident = QString::fromLatin1("TOra ") + QString::number(QDateTime::currentMSecsSinceEpoch()/1000 + rand()); TopItem = new toResultViewItem(this, NULL, QString::fromLatin1("EXPLAIN PLAN:")); TopItem->setText(1, sql.left(50).trimmed()); - std::list<toSQLParse::statement> ret = toSQLParse::parse(sql); - addStatements(ret); - QString sql = Utils::toShift(Statements); - if (sql.isEmpty()) - { - return ; - } - if(sql.endsWith(';')) - sql.truncate(sql.length() - 1); + // std::list<toSQLParse::statement> ret = toSQLParse::parse(sql); + // addStatements(ret); + // QString sql = Utils::toShift(Statements); + // if (sql.isEmpty()) + // { + // return ; + // } + // if(sql.endsWith(';')) + // sql.truncate(sql.length() - 1); QString planTable(toConfigurationSingle::Instance().planTable(conn.user())); Modified: branches/tora3/src/core/toresultplan.h =================================================================== --- branches/tora3/src/core/toresultplan.h 2013-03-18 23:11:43 UTC (rev 4594) +++ branches/tora3/src/core/toresultplan.h 2013-03-21 14:39:42 UTC (rev 4595) @@ -44,7 +44,7 @@ #include "core/toresultview.h" -#include "core/tosqlparse.h" +//#include "core/tosqlparse.h" class toEventQuery; class toResultCombo; @@ -94,7 +94,7 @@ void oracleSetup(void); //void oracleNext(); - void addStatements(std::list<toSQLParse::statement> &stats); + // TODO: toSQLParse disabled void addStatements(std::list<toSQLParse::statement> &stats); void connectSlotsAndStart(); private slots: Deleted: branches/tora3/src/core/tosqlparse.cpp =================================================================== --- branches/tora3/src/core/tosqlparse.cpp 2013-03-18 23:11:43 UTC (rev 4594) +++ branches/tora3/src/core/tosqlparse.cpp 2013-03-21 14:39:42 UTC (rev 4595) @@ -1,1368 +0,0 @@ - -/* BEGIN_COMMON_COPYRIGHT_HEADER - * - * TOra - An Oracle Toolkit for DBA's and developers - * - * Shared/mixed copyright is held throughout files in this product - * - * Portions Copyright (C) 2000-2001 Underscore AB - * Portions Copyright (C) 2003-2005 Quest Software, Inc. - * Portions Copyright (C) 2004-2009 Numerous Other Contributors - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; only version 2 of - * the License is valid for this program. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * As a special exception, you have permission to link this program - * with the Oracle Client libraries and distribute executables, as long - * as you follow the requirements of the GNU GPL in regard to all of the - * software in the executable aside from Oracle client libraries. - * - * Specifically you are not permitted to link this program with the - * Qt/UNIX, Qt/Windows or Qt Non Commercial products of TrollTech. - * And you are not permitted to distribute binaries compiled against - * these libraries. - * - * You may link this product with any GPL'd Qt library. - * - * All trademarks belong to their respective owners. - * - * END_COMMON_COPYRIGHT_HEADER */ - -#include "tosqlparse.h" -#include "utils.h" -#include "toconnection.h" -#include "toconfiguration.h" -#include "editor/tohighlightedtexteditor.h" -//#include "editor/tomarkedtext.h" -#include "core/tosyntaxanalyzer.h" - -#include <QApplication> -#include <QStringList> -#include <QDebug> - -toSQLParse::statement::statement(type ntype, const QString &token, int cline) - : Type(ntype), String(token), Line(cline) -{ - SubTokens = NULL; - StatementStatus = statement::ok; - StatementClass = statement::unknown; -} - -std::list<toSQLParse::statement> &toSQLParse::statement::subTokens(void) -{ - if (!SubTokens) - SubTokens = new std::list<statement>; - return *SubTokens; -} - -toSQLParse::statement::~statement() -{ - delete SubTokens; -} - -toSQLParse::statement::statement(const statement &stat) -{ - Type = stat.Type; - String = stat.String; - Comment = stat.Comment; - Line = stat.Line; - StatementClass = stat.StatementClass; - StatementStatus = stat.StatementStatus; - if (stat.SubTokens) - { - SubTokens = new std::list<statement>; - (*SubTokens) = (*stat.SubTokens); - } - else - SubTokens = NULL; -} - -const toSQLParse::statement &toSQLParse::statement::operator = (const statement & stat) -{ - Type = stat.Type; - String = stat.String; - Comment = stat.Comment; - Line = stat.Line; - StatementClass = stat.StatementClass; - StatementStatus = stat.StatementStatus; - delete SubTokens; - if (stat.SubTokens) - { - SubTokens = new std::list<statement>; - (*SubTokens) = (*stat.SubTokens); - } - else - SubTokens = NULL; - return *this; -} - -bool toSQLParse::statement::operator == (const statement &stat) const -{ - if (Type != stat.Type || - Comment != stat.Comment || - String != stat.String) - return false; - if (SubTokens) - { - if (!stat.SubTokens && SubTokens->begin() != SubTokens->end()) - return false; - if ((*SubTokens) != (*stat.SubTokens)) - return false; - } - else if (stat.SubTokens && stat.SubTokens->begin() != stat.SubTokens->end()) - return false; - return true; -} - -static const char *Operators[] = -{ - ":=", - "=>", - "||", - "**", - "<<", - ">>", - "..", - "<>", - "::", - "!=", - "~=", - "^=", - "<=", - ">=", - NULL -}; - -QString toSQLParse::stringTokenizer::getToken(bool forward, bool comments) -{ - QChar c; // current character - QChar nc; // next character - QChar nnc; // next next char (character after next one) - QChar endString; - - enum - { - space, - any, - identifier, - string, - comment, - label, - bindOpen, - bindClose - } state = space; - - QString token; - - int inc = forward ? 1 : -1; - - while ((forward && Offset < int(String.length())) || (!forward && Offset >= 1)) - { - if (!forward) - Offset--; - c = String[Offset]; - if (c == '\n') - Line++; - if ((forward && Offset < int(String.length() - 1)) || (!forward && Offset > 0)) - nc = String[Offset + inc]; - else - nc = '\n'; - if (state == space) - { - // This condition finds '/' used in sqlplus to mark end of statement - // Note that when called from editorTokenizer it scans one string at a time (no \n's) - // when called from stringTokenizer full statement is passes including \n chars - if (Offset == 0 && c == '/' && nc != '*') - { - Offset++; - return "~~~"; - } - else - { - if ((String.length() >= Offset + inc + inc) && // check that index does... - (Offset + inc + inc >= 0)) // ... not go out of string bounds - nnc = String[Offset + inc + inc]; - else - nnc = ' '; - if (c == '\n' && nc == '/' && nnc != '*') - { - Offset += 2; - return "~~~"; - } - } - - if (forward && c == '-' && nc == '-') - { - int spos = Offset; - if (forward) - for (Offset++; Offset < int(String.length()) && String[Offset] != '\n'; Offset++) - ; - if (comments) - return String.mid(spos, Offset - spos); - continue; - } - if (c == '/' && nc == '*') - state = comment; - else if ((forward && c == '<' && nc == '<') || - (!forward && c == '>' && nc == '>')) - state = label; - else if (!c.isSpace()) - state = any; - } - - if (forward) - Offset++; - - if (state != space) - { - if (forward) - token += c; - else - token.prepend(c); - switch (state) - { - case comment: - if (c == '*' && nc == '/') - { - if (forward) - token += nc; - else - token.prepend(nc); - Offset += inc; - if (comments) - return token; - else - { - state = space; - token.clear(); - } - } - break; - case label: - if ((forward && c == '>' && nc == '>') || - (!forward && c == '<' && nc == '<')) - { - if (forward) - token += nc; - else - token.prepend(nc); - Offset += inc; - return token; - } - break; - case space: - break; - case bindOpen: - if (!Utils::toIsIdent(nc)) - { - if (nc == '<') - state = bindClose; - else - return token; - } - break; - case bindClose: - if (c == '>') - return token; - break; - case any: - if (c == ':' && Utils::toIsIdent(nc)) - { - state = bindOpen; - } - else if (Utils::toIsIdent(c)) - { - if (!Utils::toIsIdent(nc)) - return token; - state = identifier; - } - else if (c == '\'' || c == analyzer().quoteCharacter()) - { - endString = c; - state = string; - } - else - { - for (int i = 0; Operators[i]; i++) - { - if ((forward && c == Operators[i][0] && nc == Operators[i][1]) || - (!forward && nc == Operators[i][0] && c == Operators[i][1])) - { - if (forward) - token += nc; - else - token.prepend(nc); - Offset += inc; - break; - } - } - return token; - } - break; - case identifier: - if (!Utils::toIsIdent(nc)) - return token; - break; - case string: - if (c == endString) - { - if (nc == endString) - { - if (forward) - { - token += nc; - Offset++; - } - else - { - token.prepend(nc); - Offset--; - } - } - else - return token; - } - break; - } - } - } - return token; -} - -bool toSQLParse::isOperator(QString tok) -{ - for (int i = 0; Operators[i]; i++) - { - if (tok == Operators[i] || tok == "<" || tok == ">") - return true; - } - - return false; -} - -QString toSQLParse::stringTokenizer::remaining(bool eol) -{ - QString ret; - if (eol) - { - int pos = String.indexOf('\n', Offset); - if (pos < 0) - pos = Offset; - ret = String.mid(Offset, pos - Offset); - Offset = pos; - } - else - { - ret = String.mid(Offset); - Offset = String.length(); - } - return ret; -} - -toSQLParse::editorTokenizer::editorTokenizer(toHighlightedTextEditor *editor, int offset, int line) - : tokenizer(offset, line) -{ - Editor = editor; - setAnalyzer(editor->analyzer()); -} - -QString toSQLParse::editorTokenizer::getToken(bool forward, bool comments) -{ - bool first = true; - while (Line < int(Editor->lines()) && Line >= 0) - { - QString line = Editor->text(Line); - if (!first) - { - if (forward) - Offset = 0; - else - Offset = line.length(); - } - stringTokenizer token(line, analyzer(), Offset, forward); - QString ret = token.getToken(forward, true); - Offset = token.offset(); - - if (!ret.isNull()) - { - if (forward) - { - QString end; - if (ret.startsWith(("/*")) && - (ret.at(ret.length() - 2) != '*' || - ret.at(ret.length() - 1) != '/')) - { - end = ("*/"); - } - else if (ret.startsWith("'") && ((ret.count("'") % 2) != 0 || ret.at(ret.length() - 1) != '\'')) - { - end = ("'"); - } - else if (ret.startsWith(analyzer().quoteCharacter()) && - ((ret.count(analyzer().quoteCharacter()) % 2) != 0 || ret.at(ret.length() - 1) != analyzer().quoteCharacter())) - { - end = analyzer().quoteCharacter(); - } - if (!end.isNull()) - { - for (Line++; - Line < int(Editor->lines()) && (Offset = Editor->text(Line).indexOf(end)) < 0; - Line++) - ret += ("\n") + Editor->text(Line); - if (Line < int(Editor->lines())) - { - ret += ("\n") + Editor->text(Line).mid(0, Offset + end.length()); - Offset += end.length(); - } - } - } - else - { - QString end; - if (ret.length() >= 2 && - ret.at(ret.length() - 2) == '*' && - ret.at(ret.length() - 1) == '/' && - !ret.startsWith(("/*"))) - { - end = ("/*"); - } - else if ((ret.length() >= 1 && ret.at(ret.length() - 1) == '\'') && - (ret.length() < 2 || ret[0] != '\'')) - { - end = ("\'"); - } - else if ((ret.length() >= 1 && ret.at(ret.length() - 1) == analyzer().quoteCharacter()) && - (ret.length() < 2 || ret.at(0) != analyzer().quoteCharacter())) - { - end = analyzer().quoteCharacter(); - } - if (!end.isNull()) - { - for (Line--; - Line >= 0 && (Offset = Editor->text(Line).lastIndexOf(end)) < 0; - Line--) - ret.prepend(Editor->text(Line) + ("\n")); - if (Line >= 0) - { - QString str = Editor->text(Line); - ret.prepend(str.mid(Offset, str.length() - Offset) + ("\n")); - } - } - } - if (comments || (!ret.startsWith(("/*")) && !ret.startsWith(("--")) && !ret.startsWith("//"))) - return ret; - else - { - first = true; - continue; - } - } - Line += (forward ? 1 : -1); - first = false; - } - return QString::null; -} - -QString toSQLParse::editorTokenizer::remaining(bool eol) -{ - if (Line >= Editor->lines()) - return QString::null; - if (!eol) - { - QStringList rows; - rows << Editor->text(Line).mid(Offset); - for (int i = Line; i < Editor->lines(); i++) - rows << Editor->text(i); - Line = Editor->lines(); - Offset = 0; - return rows.join(("\n")); - } - else - { - QString line = Editor->text(Line); - QString ret = line.mid(offset()); - Offset = line.length(); - return ret; - } -} - -// Parameters: -// lst - indicates that parsing is done in a list (inside parenthesis) -toSQLParse::statement toSQLParse::parseStatement(tokenizer &tokens, bool declare, bool lst, bool typebody) -{ - statement ret(statement::Statement); - ret.StatementClass = statement::ddldml; // by default statement is not plsqlblock - - toSyntaxAnalyzer &syntax = tokens.analyzer(); - - QString first; // first token in statement being parsed - QString realfirst; - QString previous; - bool nokey = false; - bool block = false; - bool createtable = false; - bool createtypebody = false; - bool constructor = false; - for (QString token = tokens.getToken(true, true); - !token.isNull(); - token = tokens.getToken(true, true)) - { - QString upp = token.toUpper(); - - if (first.isNull() && !token.startsWith(("/*")) && !token.startsWith("--") && !token.startsWith("//")) - realfirst = first = upp; - - if (upp == ("PROCEDURE") || - upp == ("FUNCTION") || - upp == ("PACKAGE")) - { - block = true; - ret.StatementClass = statement::plsqlblock; - } - else if (upp == "DECLARE" || - upp == "BEGIN") - { - ret.StatementClass = statement::plsqlblock; - } - else if (upp == "TABLE" && first == "CREATE") - { - createtable = true; - } - else if (first == "CREATE" && previous == "TYPE" && upp == "BODY") - { - block = true; - createtypebody = true; // Note: this value will be passed to recursive call of parseStatement - ret.StatementClass = statement::plsqlblock; - } - else if (upp == "CONSTRUCTOR") - { - constructor = true; - } - - if (upp == ("SELF") && !(constructor && typebody)) - block = false; - - if (first != ("END") && ((first == ("IF") && upp == ("THEN")) || - (first == ("CASE") && upp == ("THEN") && !lst) || - upp == ("LOOP") || - upp == ("DO") || - (syntax.declareBlock() && upp == ("DECLARE")) || - (block && upp == ("AS")) || - (block && upp == ("IS")) || - ((!declare || block) && upp == ("BEGIN")))) - { - block = false; - constructor = false; - statement blk(statement::Block); - ret.subTokens().insert(ret.subTokens().end(), statement(statement::Keyword, token, tokens.line())); - blk.subTokens().insert(blk.subTokens().end(), ret); - blk.StatementClass = ret.StatementClass; - statement cur(statement::Statement); - bool dcl = (upp == ("DECLARE") || upp == ("IS") || upp == ("AS")); - do - { - cur = parseStatement(tokens, dcl, false, createtypebody); - if (cur.Type == statement::List) - { - Utils::toStatusMessage(qApp->translate("toSQLparse", "Unbalanced parenthesis (Too many ')')")); - cur.StatementStatus = statement::invalid; - } - blk.subTokens().insert(blk.subTokens().end(), cur); - if (cur.subTokens().begin() != cur.subTokens().end() && - (*(cur.subTokens().begin())).String.toUpper() == ("BEGIN")) - dcl = false; - } - while (cur.subTokens().begin() != cur.subTokens().end() && - (*cur.subTokens().begin()).String.toUpper() != ("END")); - return blk; - } - else if (((first == "IF" && upp == "THEN") || - (first == "WHEN" && upp == "THEN") || - (first == "ELSIF" && upp == "THEN") || - upp == ("BEGIN") || - upp == ("EXCEPTION") || - first == ("ELSE")) && !lst) - { - ret.subTokens().insert(ret.subTokens().end(), statement(statement::Keyword, token, tokens.line())); - return ret; - } - else if (first == ("ASSIGN") || - first == ("SET") || - first == ("PROMPT") || - first == ("COLUMN") || - first == ("SPOOL") || - first == ("STORE") || - first == ("REMARK") || - first == ("REM")) - { - ret.subTokens().insert(ret.subTokens().end(), statement(statement::Keyword, token, tokens.line())); - int line = tokens.line(); - int offset = tokens.offset(); - for (QString tmp = tokens.getToken(true, true); line == tokens.line() && !tmp.isEmpty(); tmp = tokens.getToken(true, true)) - ret.subTokens().insert(ret.subTokens().end(), statement(statement::Token, tmp, line)); - tokens.setLine(line); - tokens.setOffset(offset); - tokens.remaining(true); - return ret; - } - else if (upp == (",") || - ((syntax.reservedWord(upp) && - upp != ("NOT") && - upp != ("IS") && - upp != ("LIKE") && - upp != ("IN") && - upp != ("ELSE") && - upp != ("ELSIF") && - upp != ("END") && - upp != ("BETWEEN") && - upp != ("ASC") && - upp != ("DESC") && - upp != ("NULL")) && !nokey)) - { - ret.subTokens().insert(ret.subTokens().end(), statement(statement::Keyword, token, tokens.line())); - nokey = false; - } - else if (upp == ("(")) - { - ret.subTokens().insert(ret.subTokens().end(), statement(statement::Token, token, tokens.line())); - statement lst = parseStatement(tokens, false, true); - statement t = Utils:... [truncated message content] |
From: <ibr...@us...> - 2013-03-23 15:37:06
|
Revision: 4599 http://sourceforge.net/p/tora/code/4599 Author: ibre5041 Date: 2013-03-23 15:37:03 +0000 (Sat, 23 Mar 2013) Log Message: ----------- MySQL Lexer Modified Paths: -------------- branches/tora3/extlibs/parsing.cpp/MySQLGuiLexer.g branches/tora3/extlibs/parsing.cpp/PLSQLGuiLexer.g branches/tora3/src/CMakeLists.txt branches/tora3/src/editor/tocustomlexer.cpp branches/tora3/src/parsing/UserGuiTraits.hpp Added Paths: ----------- branches/tora3/src/parsing/MySQLGuiLexer.cc branches/tora3/src/parsing/MySQLGuiLexer.hpp branches/tora3/src/parsing/tsqllexermysql.cc Modified: branches/tora3/extlibs/parsing.cpp/MySQLGuiLexer.g =================================================================== --- branches/tora3/extlibs/parsing.cpp/MySQLGuiLexer.g 2013-03-22 15:00:55 UTC (rev 4598) +++ branches/tora3/extlibs/parsing.cpp/MySQLGuiLexer.g 2013-03-23 15:37:03 UTC (rev 4599) @@ -164,6 +164,7 @@ | 'EXPANSION' // fragment EXPANSION_SYM: | 'EXTENDED' // fragment EXTENDED_SYM: | 'EXTENT_SIZE' // fragment EXTENT_SIZE_SYM: + | 'FALSE' // fragment FALSE: | 'FAST' // fragment FAST_SYM: | 'FAULTS' // fragment FAULTS_SYM: | 'FIELDS' // fragment FIELDS_SYM: @@ -322,6 +323,7 @@ | 'NODEGROUP' // fragment NODEGROUP_SYM: | 'NONE' // fragment NONE_SYM: | ('NOT') | ('!') // fragment NOT_SYM: + | 'NULL' // fragment NULL: | 'NUMERIC' // fragment NUMERIC_SYM: | 'NVARCHAR' // fragment NVARCHAR_SYM: | 'OFFSET' // fragment OFFSET_SYM: @@ -484,6 +486,7 @@ | 'TRANSACTIONAL' // fragment TRANSACTIONAL_SYM: | 'TRIGGER' // fragment TRIGGER_SYM: | 'TRIGGERS' // fragment TRIGGERS_SYM: + | 'TRUE' // fragment TRUE: | 'TYPE' // fragment TYPE_SYM: | 'TYPES' // fragment TYPES_SYM: | 'UCS2' // fragment UCS2: @@ -536,50 +539,6 @@ | 'ZEROFILL' // fragment ZEROFILL: ; -// basic token definition ------------------------------------------------------------ -fragment NULL_SYM : 'NULL'; -fragment FALSE_SYM : 'FALSE'; -fragment TRUE_SYM : 'TRUE'; - -DIVIDE : ('DIV') | '/' ; -MOD_SYM : ('MOD') | '%' ; -OR_SYM : ('OR') | '||'; -AND_SYM : ('AND') | '&&'; - -ARROW : '=>' ; -EQ_SYM : '=' | '<=>' ; -NOT_EQ : '<>' | '!=' | '~='| '^='; -LET : '<=' ; -GET : '>=' ; -SET_VAR : ':=' ; -SHIFT_LEFT : '<<' ; -SHIFT_RIGHT : '>>' ; -ALL_FIELDS : '.*' ; - -SEMI : ';' ; -COLON : ':' ; -DOT : '.' ; -COMMA : ',' ; -ASTERISK : '*' ; -RPAREN : ')' ; -LPAREN : '(' ; -RBRACK : ']' ; -LBRACK : '[' ; -PLUS : '+' ; -MINUS : '-' ; -NEGATION : '~' ; -VERTBAR : '|' ; -BITAND : '&' ; -POWER_OP : '^' ; -GTH : '>' ; -LTH : '<' ; - -WHITE_SPACE : ( ' '|'\r'|'\t'|'\n' )+ {$channel=HIDDEN;} ; - -// http://dev.mysql.com/doc/refman/5.6/en/comments.html -SL_COMMENT : ( ('--'|'#') ~('\n'|'\r')* '\r'? '\n' ) {$channel=HIDDEN;} ; -ML_COMMENT : '/*' ( options {greedy=false;} : . )* '*/' {$channel=HIDDEN;} ; - // basic type definition ----------------------------------------------------------------------- // RELATIONAL_OP: // EQ_SYM | LTH | GTH | NOT_EQ | LET | GET ; @@ -1033,7 +992,11 @@ // numbers -fragment INTEGER_NUM : ('0'..'9')+ ; +fragment UNSIGNED_INTEGER: ('0'..'9')+ ; +fragment REAL_NUMBER: + ( UNSIGNED_INTEGER DOT UNSIGNED_INTEGER | UNSIGNED_INTEGER DOT | DOT UNSIGNED_INTEGER ) + ( ('E'|'e') ( PLUS | MINUS )? UNSIGNED_INTEGER )? +; fragment HEX_DIGIT_FRAGMENT: ( 'a'..'f' | 'A'..'F' | '0'..'9' ) ; fragment HEX_DIGIT: @@ -1048,11 +1011,80 @@ ( 'B\'' ('0'|'1')+ '\'' ) ; -fragment REAL_NUMBER: - ( INTEGER_NUM DOT INTEGER_NUM | INTEGER_NUM DOT | DOT INTEGER_NUM ) - ( ('E'|'e') ( PLUS | MINUS )? INTEGER_NUM )? -; +NUMBER_LIT: UNSIGNED_INTEGER | REAL_NUMBER | HEX_DIGIT | BIT_NUM; +// basic token definition ------------------------------------------------------------ + +DIVIDE : ('DIV') | '/' ; +MOD_SYM : ('MOD') | '%' ; +OR_SYM : ('OR') | '||'; +AND_SYM : ('AND') | '&&'; + +ARROW : '=>' ; +EQ_SYM : '=' | '<=>' ; +NOT_EQ : '<>' | '!=' | '~='| '^='; +LET : '<=' ; +GET : '>=' ; +SET_VAR : ':=' ; +SHIFT_LEFT : '<<' ; +SHIFT_RIGHT : '>>' ; +ALL_FIELDS : '.*' ; + +SEMI : ';' ; +COLON : ':' ; +DOT : '.' ; +COMMA : ',' ; +ASTERISK : '*' ; +RPAREN : ')' ; +LPAREN : '(' ; +RBRACK : ']' ; +LBRACK : '[' ; +PLUS : '+' ; +MINUS : '-' ; +NEGATION : '~' ; +VERTBAR : '|' ; +BITAND : '&' ; +POWER_OP : '^' ; +GTH : '>' ; +LTH : '<' ; + +fragment +SPACE_LIT + : ' ' + | '\t' + ; + +fragment +NEWLINE + : '\r' (options{greedy=true;}: '\n')? + | '\n' + ; + +WHITE + : ( SPACE_LIT | NEWLINE)+ + ; + +// http://dev.mysql.com/doc/refman/5.6/en/comments.html +COMMENT_SL + : ('--'|'#') ( ~('\n'|'\r') )* (NEWLINE|EOF) + ; +COMMENT_ML + : '/*' ( options {greedy=false;} : . )* '*/' + ; + + +fragment ID + : ( 'A'..'Z' | 'a'..'z' | '_' | '$') ( 'A'..'Z' | 'a'..'z' | '_' | '$' | '0'..'9' )* + ; + +fragment BACKTICKED_ID + : ( '`' ( ('`' '`') | ~('`') )* '`' ) + ; + +REGULAR_ID + : ID | BACKTICKED_ID + ; + fragment TEXT_STRING: ( 'N' | ('_UTF8') )? ( @@ -1062,36 +1094,21 @@ ) ; -fragment ID: - ( 'A'..'Z' | 'a'..'z' | '_' | '$') ( 'A'..'Z' | 'a'..'z' | '_' | '$' | '0'..'9' )* -; - // http://dev.mysql.com/doc/refman/5.6/en/user-variables.html USER_VAR: - '@' (USER_VAR_SUBFIX1 | USER_VAR_SUBFIX2 | USER_VAR_SUBFIX3 | USER_VAR_SUBFIX4) + '@' (BACKTICKED_ID | USER_VAR_SUBFIX2 | USER_VAR_SUBFIX3 | USER_VAR_SUBFIX4) ; -fragment USER_VAR_SUBFIX1: ( '`' (~'`' )+ '`' ) ; +//fragment USER_VAR_SUBFIX1: ( '`' (~'`' )+ '`' ) ; fragment USER_VAR_SUBFIX2: ( '\'' (~'\'')+ '\'' ) ; fragment USER_VAR_SUBFIX3: ( '\"' (~'\"')+ '\"' ) ; fragment USER_VAR_SUBFIX4: ( 'A'..'Z' | 'a'..'z' | '_' | '$' | '0'..'9' | DOT )+ ; // basic const data definition --------------------------------------------------------------- -fragment STRING_LITERAL: TEXT_STRING | (USER_VAR_SUBFIX1 | USER_VAR_SUBFIX2 | USER_VAR_SUBFIX3 | USER_VAR_SUBFIX4); -fragment NUMBER_LITERAL: (PLUS | MINUS)? (INTEGER_NUM | REAL_NUMBER) ; -//date_time_literal: ; -fragment HEX_LITERAL: HEX_DIGIT; -fragment BOOLEAN_LITERAL: TRUE_SYM | FALSE_SYM ; -fragment BIT_LITERAL: BIT_NUM; +STRING_LITERAL: TEXT_STRING | USER_VAR_SUBFIX2 | USER_VAR_SUBFIX3 | USER_VAR_SUBFIX4; -// http://dev.mysql.com/doc/refman/5.6/en/literals.html -LITERAL_VALUE: - ( STRING_LITERAL | NUMBER_LITERAL | HEX_LITERAL | BOOLEAN_LITERAL | BIT_LITERAL | NULL_SYM ) -; - - // GUI RULES COMMENT_ML_PART - : '/*' (options{greedy=false;} : ~('*/') )* ('\r'? '\n') + : '/*' (options{greedy=false;} : ~('*/') )* (NEWLINE) ; COMMENT_ML_END Modified: branches/tora3/extlibs/parsing.cpp/PLSQLGuiLexer.g =================================================================== --- branches/tora3/extlibs/parsing.cpp/PLSQLGuiLexer.g 2013-03-22 15:00:55 UTC (rev 4598) +++ branches/tora3/extlibs/parsing.cpp/PLSQLGuiLexer.g 2013-03-23 15:37:03 UTC (rev 4599) @@ -76,202 +76,6 @@ } } -FOR_NOTATION - : a=UNSIGNED_INTEGER - { - $a->set_type(UNSIGNED_INTEGER); - get_tokSource()->enqueueToken($a); - advanceInput(); - } - b='..' - { - $b->set_type(DOUBLE_PERIOD); - get_tokSource()->enqueueToken($b); - advanceInput(); - } - c=UNSIGNED_INTEGER - { - $c->set_type(UNSIGNED_INTEGER); - get_tokSource()->enqueueToken($c); - advanceInput(); - - //$channel=HIDDEN; // All three tokens were already emited (the token of type FOR_NOTATION is put into the hidden channel) - skip(); - } - ; - -PERIOD - : '.' - { if ((char) LA(1) == '.') { - consume(); - $type = DOUBLE_PERIOD; - } - } - ; - -NUMBER_LIT - : - ( - UNSIGNED_INTEGER ( '.' UNSIGNED_INTEGER? )? ( ('E' | 'e') ('+' | '-')? UNSIGNED_INTEGER )? - | - '.' UNSIGNED_INTEGER ( ('E' | 'e') ('+' | '-')? UNSIGNED_INTEGER )? - ) - ( 'D' | 'd' | 'f' | 'F')? - ; - -NATIONAL_CHAR_STRING_LIT - : ('N' | 'n') '\'' (options{greedy=true;}: ~('\'' | '\r' | '\n' ) | '\'' '\'' | NEWLINE)* '\'' - ; - -CHAR_STRING - : '\'' (options{greedy=true;}: ~('\'' | '\r' | '\n') | '\'' '\'' | NEWLINE)* '\'' - ; - -// Perl-style quoted string, see Oracle SQL reference, chapter String Literals -CHAR_STRING_PERL : ('N'|'n')? ('q'|'Q') ( QS_ANGLE | QS_BRACE | QS_BRACK | QS_PAREN | QS_OTHER) {$type = CHAR_STRING;}; -fragment QUOTE : '\'' ; -fragment QS_ANGLE : QUOTE '<' ( options {greedy=false;} : . )* '>' QUOTE ; -fragment QS_BRACE : QUOTE '{' ( options {greedy=false;} : . )* '}' QUOTE ; -fragment QS_BRACK : QUOTE '[' ( options {greedy=false;} : . )* ']' QUOTE ; -fragment QS_PAREN : QUOTE '(' ( options {greedy=false;} : . )* ')' QUOTE ; - -fragment QS_OTHER_CH: ~('<'|'{'|'['|'('|' '|'\t'|'\n'|'\r'); -fragment QS_OTHER -// For C target we have to preserve case sensitivity. - // @declarations { - // ANTLR3_UINT32 (*oldLA)(struct ANTLR3_INT_STREAM_struct *, ANTLR3_INT32); - // } - // @init { - // oldLA = INPUT->istream->_LA; - // INPUT->setUcaseLA(INPUT, ANTLR3_FALSE); - // } - : - QUOTE delimiter=QS_OTHER_CH -/* JAVA Syntax */ -// ( { input.LT(1) != $delimiter.text.charAt(0) || ( input.LT(1) == $delimiter.text.charAt(0) && input.LT(2) != '\'') }? => . )* -// ( { input.LT(1) == $delimiter.text.charAt(0) && input.LT(2) == '\'' }? => . ) QUOTE -/* C Syntax */ -// ( { LA(1) != $delimiter->getText()->chars[0] || LA(2) != '\'' }? => . )* -// ( { LA(1) == $delimiter->getText()->chars[0] && LA(2) == '\'' }? => . ) QUOTE -// { INPUT->istream->_LA = oldLA; } -/* C++ Syntax */ - ( { LA(1) != $delimiter->getText().at(0) || LA(2) != '\'' }? => . )* - ( { LA(1) == $delimiter->getText().at(0) && LA(2) == '\'' }? => . ) QUOTE - ; - - -LLABEL: '<<' ; - -RLABEL: '>>' ; - -PERCENT: '%'; - -LEFT_PAREN: '('; - -RIGHT_PAREN: ')'; - -ASTERISK: '*'; - -PLUS_SIGN: '+'; - -MINUS_SIGN: '-'; - -COMMA: ','; - -SOLIDUS: '/'; - -AT_SIGN: '@'; - -ASSIGN_OP: ':='; - -ARROW: '=>'; - -COLON: ':'; - -SEMICOLON: ';'; - -LESS_THAN_OR_EQUALS_OP:'<='; - -LESS_THAN_OP: '<'; - -GREATER_THAN_OR_EQUALS_OP:'>='; - -NOT_EQUAL_OP - : '!=' - | '<>' - | '^=' - | '~=' - ; - -CARRET_OPERATOR_PART:'^'; - -TILDE_OPERATOR_PART:'~'; - -EXCLAMATION_OPERATOR_PART:'!'; - -GREATER_THAN_OP:'>'; - -CONCATENATION_OP:'||'; - -VERTICAL_BAR: '|'; - -EQUALS_OP: '='; - -// User on model queries only -LEFT_BRACKET: '['; - -RIGHT_BRACKET: ']'; - -fragment -SIMPLE_LETTER - : 'a'..'z' - | 'A'..'Z' - ; - -fragment -UNSIGNED_INTEGER - : ('0'..'9')+ - ; - -COMMENT_SL - : '--' ( ~('\r' | '\n') )* (NEWLINE|EOF) - ; -COMMENT_ML - : '/*' (options{greedy=false;} : .)* '*/' - ; - -//{ Rule #360 <NEWLINE> -fragment -NEWLINE - : '\r' (options{greedy=true;}: '\n')? - | '\n' - ; -//} - -//{ Rule #522 <SPACE> -fragment -SPACE - : ' ' - | '\t' - ; -//} - -WHITE - : (SPACE | NEWLINE)+ - ; - -fragment -QUESTION_MARK - : '?' - ; -// See OCI reference for more information about this -BINDVAR - : COLON SIMPLE_LETTER ( SIMPLE_LETTER | '0' .. '9' | '_' )* - | COLON DELIMITED_ID // not used in SQL but spotted in v$sqltext when using cursor_sharing - | COLON UNSIGNED_INTEGER - | QUESTION_MARK // not in SQL, not in Oracle, not in OCI, use this for JDBC - ; - SQL_COMMAND_INTRODUCER: 'SELECT' | 'WITH' | @@ -1045,7 +849,203 @@ 'XMLSERIALIZE' | /* XML */ 'XMLTABLE' | /* XML */ 'XMLTRANSFORM' ; /* XML */ + +FOR_NOTATION + : a=UNSIGNED_INTEGER + { + $a->set_type(UNSIGNED_INTEGER); + get_tokSource()->enqueueToken($a); + advanceInput(); + } + b='..' + { + $b->set_type(DOUBLE_PERIOD); + get_tokSource()->enqueueToken($b); + advanceInput(); + } + c=UNSIGNED_INTEGER + { + $c->set_type(UNSIGNED_INTEGER); + get_tokSource()->enqueueToken($c); + advanceInput(); + + //$channel=HIDDEN; // All three tokens were already emited (the token of type FOR_NOTATION is put into the hidden channel) + skip(); + } + ; +PERIOD + : '.' + { if ((char) LA(1) == '.') { + consume(); + $type = DOUBLE_PERIOD; + } + } + ; + +NUMBER_LIT + : + ( + UNSIGNED_INTEGER ( '.' UNSIGNED_INTEGER? )? ( ('E' | 'e') ('+' | '-')? UNSIGNED_INTEGER )? + | + '.' UNSIGNED_INTEGER ( ('E' | 'e') ('+' | '-')? UNSIGNED_INTEGER )? + ) + ( 'D' | 'd' | 'f' | 'F')? + ; + +NATIONAL_CHAR_STRING_LIT + : ('N' | 'n') '\'' (options{greedy=true;}: ~('\'' | '\r' | '\n' ) | '\'' '\'' | NEWLINE)* '\'' + ; + +CHAR_STRING + : '\'' (options{greedy=true;}: ~('\'' | '\r' | '\n') | '\'' '\'' | NEWLINE)* '\'' + ; + +// Perl-style quoted string, see Oracle SQL reference, chapter String Literals +CHAR_STRING_PERL : ('N'|'n')? ('q'|'Q') ( QS_ANGLE | QS_BRACE | QS_BRACK | QS_PAREN | QS_OTHER) {$type = CHAR_STRING;}; +fragment QUOTE : '\'' ; +fragment QS_ANGLE : QUOTE '<' ( options {greedy=false;} : . )* '>' QUOTE ; +fragment QS_BRACE : QUOTE '{' ( options {greedy=false;} : . )* '}' QUOTE ; +fragment QS_BRACK : QUOTE '[' ( options {greedy=false;} : . )* ']' QUOTE ; +fragment QS_PAREN : QUOTE '(' ( options {greedy=false;} : . )* ')' QUOTE ; + +fragment QS_OTHER_CH: ~('<'|'{'|'['|'('|' '|'\t'|'\n'|'\r'); +fragment QS_OTHER +// For C target we have to preserve case sensitivity. + // @declarations { + // ANTLR3_UINT32 (*oldLA)(struct ANTLR3_INT_STREAM_struct *, ANTLR3_INT32); + // } + // @init { + // oldLA = INPUT->istream->_LA; + // INPUT->setUcaseLA(INPUT, ANTLR3_FALSE); + // } + : + QUOTE delimiter=QS_OTHER_CH +/* JAVA Syntax */ +// ( { input.LT(1) != $delimiter.text.charAt(0) || ( input.LT(1) == $delimiter.text.charAt(0) && input.LT(2) != '\'') }? => . )* +// ( { input.LT(1) == $delimiter.text.charAt(0) && input.LT(2) == '\'' }? => . ) QUOTE +/* C Syntax */ +// ( { LA(1) != $delimiter->getText()->chars[0] || LA(2) != '\'' }? => . )* +// ( { LA(1) == $delimiter->getText()->chars[0] && LA(2) == '\'' }? => . ) QUOTE +// { INPUT->istream->_LA = oldLA; } +/* C++ Syntax */ + ( { LA(1) != $delimiter->getText().at(0) || LA(2) != '\'' }? => . )* + ( { LA(1) == $delimiter->getText().at(0) && LA(2) == '\'' }? => . ) QUOTE + ; + + +LLABEL: '<<' ; + +RLABEL: '>>' ; + +PERCENT: '%'; + +LEFT_PAREN: '('; + +RIGHT_PAREN: ')'; + +ASTERISK: '*'; + +PLUS_SIGN: '+'; + +MINUS_SIGN: '-'; + +COMMA: ','; + +SOLIDUS: '/'; + +AT_SIGN: '@'; + +ASSIGN_OP: ':='; + +ARROW: '=>'; + +COLON: ':'; + +SEMICOLON: ';'; + +LESS_THAN_OR_EQUALS_OP:'<='; + +LESS_THAN_OP: '<'; + +GREATER_THAN_OR_EQUALS_OP:'>='; + +NOT_EQUAL_OP + : '!=' + | '<>' + | '^=' + | '~=' + ; + +CARRET_OPERATOR_PART:'^'; + +TILDE_OPERATOR_PART:'~'; + +EXCLAMATION_OPERATOR_PART:'!'; + +GREATER_THAN_OP:'>'; + +CONCATENATION_OP:'||'; + +VERTICAL_BAR: '|'; + +EQUALS_OP: '='; + +// User on model queries only +LEFT_BRACKET: '['; + +RIGHT_BRACKET: ']'; + +fragment +SIMPLE_LETTER + : 'a'..'z' + | 'A'..'Z' + ; + +fragment +UNSIGNED_INTEGER + : ('0'..'9')+ + ; + +COMMENT_SL + : '--' ( ~('\r' | '\n') )* (NEWLINE|EOF) + ; +COMMENT_ML + : '/*' (options{greedy=false;} : .)* '*/' + ; + +//{ Rule #360 <NEWLINE> +fragment +NEWLINE + : '\r' (options{greedy=true;}: '\n')? + | '\n' + ; +//} + +//{ Rule #522 <SPACE> +fragment +SPACE + : ' ' + | '\t' + ; +//} + +WHITE + : (SPACE | NEWLINE)+ + ; + +fragment +QUESTION_MARK + : '?' + ; +// See OCI reference for more information about this +BINDVAR + : COLON SIMPLE_LETTER ( SIMPLE_LETTER | '0' .. '9' | '_' )* + | COLON DELIMITED_ID // not used in SQL but spotted in v$sqltext when using cursor_sharing + | COLON UNSIGNED_INTEGER + | QUESTION_MARK // not in SQL, not in Oracle, not in OCI, use this for JDBC + ; + REGULAR_ID : (SIMPLE_LETTER) (SIMPLE_LETTER | '$' | '_' | '#' | '0'..'9')* ; Modified: branches/tora3/src/CMakeLists.txt =================================================================== --- branches/tora3/src/CMakeLists.txt 2013-03-22 15:00:55 UTC (rev 4598) +++ branches/tora3/src/CMakeLists.txt 2013-03-23 15:37:03 UTC (rev 4599) @@ -857,7 +857,9 @@ tests/test4.cpp tests/test4window.cpp parsing/PLSQLGuiLexer.cc - parsing/tsqllexeroracle2.cc + parsing/tsqllexeroracle2.cc + parsing/MySQLGuiLexer.cc + parsing/tsqllexermysql.cc ${TORA_UI_SOURCES} ${TEST4_MOC_SOURCES} ${TEST4_SOURCES} Modified: branches/tora3/src/editor/tocustomlexer.cpp =================================================================== --- branches/tora3/src/editor/tocustomlexer.cpp 2013-03-22 15:00:55 UTC (rev 4598) +++ branches/tora3/src/editor/tocustomlexer.cpp 2013-03-23 15:37:03 UTC (rev 4599) @@ -55,7 +55,8 @@ toCustomLexer::toCustomLexer(QObject *parent) : QsciLexerCustom(parent) - , lexer(LexerFactTwoParmSing::Instance().create("OracleGuiLexer", "", "toCustomLexer")) +// , lexer(LexerFactTwoParmSing::Instance().create("OracleGuiLexer", "", "toCustomLexer")) + , lexer(LexerFactTwoParmSing::Instance().create("mySQLGuiLexer", "", "toCustomLexer")) { QFont mono; #if defined(Q_OS_WIN) Added: branches/tora3/src/parsing/MySQLGuiLexer.cc =================================================================== (Binary files differ) Index: branches/tora3/src/parsing/MySQLGuiLexer.cc =================================================================== --- branches/tora3/src/parsing/MySQLGuiLexer.cc 2013-03-22 15:00:55 UTC (rev 4598) +++ branches/tora3/src/parsing/MySQLGuiLexer.cc 2013-03-23 15:37:03 UTC (rev 4599) Property changes on: branches/tora3/src/parsing/MySQLGuiLexer.cc ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Added: branches/tora3/src/parsing/MySQLGuiLexer.hpp =================================================================== (Binary files differ) Index: branches/tora3/src/parsing/MySQLGuiLexer.hpp =================================================================== --- branches/tora3/src/parsing/MySQLGuiLexer.hpp 2013-03-22 15:00:55 UTC (rev 4598) +++ branches/tora3/src/parsing/MySQLGuiLexer.hpp 2013-03-23 15:37:03 UTC (rev 4599) Property changes on: branches/tora3/src/parsing/MySQLGuiLexer.hpp ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Modified: branches/tora3/src/parsing/UserGuiTraits.hpp =================================================================== --- branches/tora3/src/parsing/UserGuiTraits.hpp 2013-03-22 15:00:55 UTC (rev 4598) +++ branches/tora3/src/parsing/UserGuiTraits.hpp 2013-03-23 15:37:03 UTC (rev 4599) @@ -17,6 +17,7 @@ namespace Antlr3Impl { class PLSQLGuiLexer; + class MySQLGuiLexer; }; namespace Antlr3Impl { @@ -61,11 +62,13 @@ class EmptyParser {}; typedef antlr3::Traits<PLSQLGuiLexer, EmptyParser, UserTraits> PLSQLGuiLexerTraits; +typedef antlr3::Traits<MySQLGuiLexer, EmptyParser, UserTraits> MySQLGuiLexerTraits; }; namespace Antlr3Impl { + template<class CommonTokenType> inline bool isTableAlias(CommonTokenType *LT1, CommonTokenType *LT2) { static const std::string wPARTITION("PARTITION"); Added: branches/tora3/src/parsing/tsqllexermysql.cc =================================================================== --- branches/tora3/src/parsing/tsqllexermysql.cc (rev 0) +++ branches/tora3/src/parsing/tsqllexermysql.cc 2013-03-23 15:37:03 UTC (rev 4599) @@ -0,0 +1,252 @@ + +#include "MySQLGuiLexer.hpp" +#include "parsing/tsqllexer.h" + +namespace SQLLexer +{ + +using namespace Antlr3Impl; + +class mySQLGuiLexer : public Lexer +{ +public: + mySQLGuiLexer(const QString &statement, const QString &name); + virtual ~mySQLGuiLexer(); + virtual QString firstWord(); + virtual QString wordAt(const Position &); + virtual void setStatement(const char *s, unsigned len = -1); + virtual void setStatement(const QString &s); + +protected: + virtual int size() const; + virtual const Token& LA(int pos) const; + +private: + void init(); + void clean(); + QByteArray QBAinput; + QByteArray QBAname; + + Antlr3Impl::MySQLGuiLexerTraits::InputStreamType* input; + Antlr3Impl::MySQLGuiLexer *lxr; + Antlr3Impl::MySQLGuiLexerTraits::TokenStreamType* tstream; + + unsigned lastLine, lastColumn, lastIndex; +}; + +mySQLGuiLexer::mySQLGuiLexer(const QString &statement, const QString &name) + : Lexer(statement, name) + , QBAinput(statement.toUtf8()) + , QBAname(name.toUtf8()) + , lastLine(1) + , lastColumn(0) + , lastIndex(0) +{ + init(); +} + +mySQLGuiLexer::~mySQLGuiLexer() +{ + clean(); +} + +void mySQLGuiLexer::init() +{ + input = new MySQLGuiLexerTraits::InputStreamType( + (const ANTLR_UINT8 *)QBAinput.data(), + ANTLR_ENC_UTF8, + QBAinput.size(), //strlen(data.c_str()), + (ANTLR_UINT8*)QBAname.data()); + + input->setUcaseLA(true); // ignore case + + if (input == NULL) + { + // TODO throw here + throw Exception(); + exit(ANTLR_ERR_NOMEM); + } + + // Our input stream is now open and all set to go, so we can create a new instance of our + // lexer and set the lexer input to our input stream: + // (file | memory | ?) --> inputstream -> lexer --> tokenstream --> parser ( --> treeparser )? + // + lxr = new MySQLGuiLexer(input); // MySQLGuiLexer is generated by ANTLR + //lxr->pLexer->input->charPositionInLine = 0; // fix off-by-one error for getCharPositionInLine for the 1st row + + if ( lxr == NULL ) + { + // TODO throw here + throw Exception(); + exit(ANTLR_ERR_NOMEM); + } + + tstream = new MySQLGuiLexerTraits::TokenStreamType(ANTLR_SIZE_HINT, lxr->get_tokSource()); + + if (tstream == NULL) + { + // TODO throw here + //_mState = P_ERROR; + throw Exception(); + exit(ANTLR_ERR_NOMEM); + } + //_mState = P_LEXER; +}; + +void mySQLGuiLexer::setStatement(const char *s, unsigned len) +{ + clean(); + QBAinput.clear(); + QBAinput.append(s, len); + lastLine = 1; + lastColumn = 0; + lastIndex = 0; + init(); +} + +void mySQLGuiLexer::setStatement(const QString &statement) +{ + clean(); + QBAinput.clear(); + QBAinput.append(statement.toUtf8()); + lastLine = 1; + lastColumn = 0; + lastIndex = 0; + init(); +} + +void mySQLGuiLexer::clean() +{ + if( tstream) + delete tstream; + if( lxr) + delete lxr; + if( input) + delete input; + tstream = NULL; + lxr = NULL; + input = NULL; +} + +int mySQLGuiLexer::size() const +{ + if(tstream) + return tstream->getTokens()->size(); + else + return 0; +} +const Token& mySQLGuiLexer::LA(int pos) const +{ + MySQLGuiLexerTraits::CommonTokenType const* token = tstream->_LT(pos); + if(token) + { + // ANTLR3 starts with 1st while QScintilla starts with 0th + int line = token->get_line() - 1; + int column = token->getCharPositionInLine(); + unsigned length = token->get_stopIndex() - token->get_startIndex() + 1; + int offset = token->get_startIndex(); + Token::TokenType type = Token::X_UNASSIGNED; + + switch(token->getType()) + { + case MySQLGuiLexer::EOF_TOKEN: + type = Token::X_EOF; + break; + case MySQLGuiLexer::BUILDIN_FUNCTIONS: + type = Token::L_BUILDIN; + break; + case MySQLGuiLexer::STRING_LITERAL: + case MySQLGuiLexer::USER_VAR: + type = Token::L_STRING; + break; + case MySQLGuiLexer::COMMENT_ML: + case MySQLGuiLexer::COMMENT_ML_PART: + type = Token::X_COMMENT_ML; + break; + case MySQLGuiLexer::COMMENT_ML_END: + type = Token::X_COMMENT_ML_END; + break; + case MySQLGuiLexer::COMMENT_SL: + type = Token::X_COMMENT; + break; + case MySQLGuiLexer::TOKEN_FAILURE: + type = Token::X_FAILURE; + break; + case MySQLGuiLexer::MYSQL_RESERVED: + type = Token::L_RESERVED; + break; + case MySQLGuiLexer::NEWLINE: + case MySQLGuiLexer::SPACE: + case MySQLGuiLexer::WHITE: + type = Token::X_WHITE; + break; + default: + type = Token::X_UNASSIGNED; + break; + } + return Token(Position(line, column), length, type); // TODO MSVC WARNING + } else + throw Exception(); +} + +QString mySQLGuiLexer::firstWord() +{ + MySQLGuiLexerTraits::CommonTokenType const* token = tstream->_LT(1); + if( token) + { + return QString((const char*)(token->getText().c_str())); + } + return QString(); +} + +QString mySQLGuiLexer::wordAt(const Position &pos) +{ + unsigned line = pos.getLine(); + unsigned column = pos.getLinePos(); + + line++; // ANTLR3 starts with 1st while QScintilla starts with 0th + + QString retval; + //ANTLR_UINT32 i, startIndex; + //ANTLR_UINT32 size = tstream->getTokens()->size(); + //User::MyTraits::CommonTokenType const* token = NULL; + + //if(size == 0) + // return retval; + + //if( lastLine > line || (lastLine == line && lastColumn > column)) + //{ + // User::MyTraits::CommonTokenType const* tokenZero = (pANTLR3_COMMON_TOKEN)lexerTokenVector->get(lexerTokenVector, 0); + // retval = QString::fromUtf8((const char*)(tokenZero->getText()->chars)); + // startIndex = 1; + //} else { + // User::MyTraits::CommonTokenType const* tokenZero = (pANTLR3_COMMON_TOKEN)lexerTokenVector->get(lexerTokenVector, lastIndex); + // retval = QString::fromUtf8((const char*)(tokenZero->getText()->chars)); + // startIndex = lastIndex; + //} + + //for (i = startIndex; i <= size; i++) + //{ + // token = (pANTLR3_COMMON_TOKEN)lexerTokenVector->get(lexerTokenVector, i); + // if( token == NULL) + // break; + + // if ( token->getChannel(token) != HIDDEN) + // { + // lastIndex = i; + // lastLine = token->getLine(token); + // lastColumn = token->getCharPositionInLine(token); + // retval = QString::fromUtf8((const char*)(token->getText(token)->chars)); + // } + + // if( token->getLine(token) > line + // || ( token->getLine(token) == line && token->getCharPositionInLine(token) > column )) + // break; + //} + + return retval; +} + +}; + +Util::RegisterInFactory<SQLLexer::mySQLGuiLexer, LexerFactTwoParmSing> reMySQLLexStatement("mySQLGuiLexer"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |