From bd9e6617827818fd043452c08c606f07b78014a0 Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdesdk@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- poxml/antlr/src/NoViableAltException.cpp | 82 ++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 poxml/antlr/src/NoViableAltException.cpp (limited to 'poxml/antlr/src/NoViableAltException.cpp') diff --git a/poxml/antlr/src/NoViableAltException.cpp b/poxml/antlr/src/NoViableAltException.cpp new file mode 100644 index 00000000..433f4325 --- /dev/null +++ b/poxml/antlr/src/NoViableAltException.cpp @@ -0,0 +1,82 @@ +/** + * SOFTWARE RIGHTS + *

+ * ANTLR 2.6.0 MageLang Insitute, 1998 + *

+ * We reserve no legal rights to the ANTLR--it is fully in the + * public domain. An individual or company may do whatever + * they wish with source code distributed with ANTLR or the + * code generated by ANTLR, including the incorporation of + * ANTLR, or its output, into commerical software. + *

+ * We encourage users to develop software with ANTLR. However, + * we do ask that credit is given to us for developing + * ANTLR. By "credit", we mean that if you use ANTLR or + * incorporate any source code into one of your programs + * (commercial product, research project, or otherwise) that + * you acknowledge this fact somewhere in the documentation, + * research report, etc... If you like ANTLR and have + * developed a nice tool with the output, please mention that + * you developed it using ANTLR. In addition, we ask that the + * headers remain intact in our source code. As long as these + * guidelines are kept, we expect to continue enhancing this + * system and expect to make other tools available as they are + * completed. + *

+ * The ANTLR gang: + * @version ANTLR 2.6.0 MageLang Insitute, 1998 + * @author Terence Parr, MageLang Institute + * @author
John Lilley, Empathy Software + * @author
Pete Wells + */ + +#include "antlr/NoViableAltException.hpp" +#include "antlr/String.hpp" + +ANTLR_BEGIN_NAMESPACE(antlr) + +NoViableAltException::NoViableAltException(RefAST t) +: RecognitionException("NoViableAlt") +, token(0) +, node(t) +{ + fileName = ""; +} + +NoViableAltException::NoViableAltException(RefToken t,const ANTLR_USE_NAMESPACE(std)string& fileName_) +: RecognitionException("NoViableAlt") // line ")+t.getLine()+" token is "+t.getText()) +, token(t) +, node(nullASTptr) +{ + line = t->getLine(); + column = t->getColumn(); + fileName = fileName_; +} + +ANTLR_USE_NAMESPACE(std)string NoViableAltException::getErrorMessage() const +{ + return getMessage(); +} + +ANTLR_USE_NAMESPACE(std)string NoViableAltException::getMessage() const +{ + if (token) + return ANTLR_USE_NAMESPACE(std)string("unexpected token: ")+token->getText(); + + // must a tree parser error if token==null + if (!node) { + return "unexpected end of subtree"; + } + return ANTLR_USE_NAMESPACE(std)string("unexpected AST node: ")+node->toString(); +} + +ANTLR_USE_NAMESPACE(std)string NoViableAltException::toString() const +{ + if (token) + return getFileLineString()+getMessage(); + else + return getMessage(); +} + +ANTLR_END_NAMESPACE + -- cgit v1.2.1