summaryrefslogtreecommitdiff
path: root/idlc
diff options
context:
space:
mode:
authorThorsten Behrens <thb@openoffice.org>2010-09-21 20:16:16 +0200
committerThorsten Behrens <thb@openoffice.org>2010-09-21 20:16:16 +0200
commite7d62c42d6ff5343a431faeb4b33b9a9860e94dd (patch)
tree76a34b99cf92f423c4a3a1050bf674550e249a49 /idlc
parenta597766e026bbc38e28dd5bc00627f93116c22e7 (diff)
Revert "idlc-error-offset.diff: Add character offset for idlc errors"OOO_BUILD_3_2_99_0_PRE
Breaks bison on OSX. This reverts commit 55c5db853fc0d96179874b4c01dba2774ecf5cd1.
Diffstat (limited to 'idlc')
-rw-r--r--idlc/inc/idlc/idlc.hxx8
-rw-r--r--idlc/source/errorhandler.cxx15
-rw-r--r--idlc/source/idlc.cxx2
-rw-r--r--idlc/source/parser.y7
-rw-r--r--idlc/source/scanner.ll33
5 files changed, 14 insertions, 51 deletions
diff --git a/idlc/inc/idlc/idlc.hxx b/idlc/inc/idlc/idlc.hxx
index b7ae5069a..051a9e6c0 100644
--- a/idlc/inc/idlc/idlc.hxx
+++ b/idlc/inc/idlc/idlc.hxx
@@ -102,12 +102,6 @@ public:
{ m_warningCount++; }
sal_uInt32 getLineNumber()
{ return m_lineNumber; }
- sal_uInt32 getOffsetStart()
- { return m_offsetStart; }
- sal_uInt32 getOffsetEnd()
- { return m_offsetEnd; }
- void setOffset( sal_uInt32 start, sal_uInt32 end)
- { m_offsetStart = start; m_offsetEnd = end; }
void setLineNumber(sal_uInt32 lineNumber)
{ m_lineNumber = lineNumber; }
void incLineNumber()
@@ -142,8 +136,6 @@ private:
sal_uInt32 m_errorCount;
sal_uInt32 m_warningCount;
sal_uInt32 m_lineNumber;
- sal_uInt32 m_offsetStart;
- sal_uInt32 m_offsetEnd;
ParseState m_parseState;
StringSet m_includes;
};
diff --git a/idlc/source/errorhandler.cxx b/idlc/source/errorhandler.cxx
index b620d1a07..a9006b9b0 100644
--- a/idlc/source/errorhandler.cxx
+++ b/idlc/source/errorhandler.cxx
@@ -488,7 +488,7 @@ static OString flagToString(sal_uInt32 flag)
return flagStr;
}
-static void errorHeader(ErrorCode eCode, sal_Int32 lineNumber, sal_uInt32 start, sal_uInt32 end)
+static void errorHeader(ErrorCode eCode, sal_Int32 lineNumber)
{
OString file;
if ( idlc()->getFileName() == idlc()->getRealFileName() )
@@ -496,23 +496,14 @@ static void errorHeader(ErrorCode eCode, sal_Int32 lineNumber, sal_uInt32 start,
else
file = idlc()->getFileName();
- fprintf(stderr, "%s:%lu [%lu:%lu] : %s", file.getStr(),
+ fprintf(stderr, "%s(%lu) : %s", file.getStr(),
sal::static_int_cast< unsigned long >(lineNumber),
- sal::static_int_cast< unsigned long >(start),
- sal::static_int_cast< unsigned long >(end),
errorCodeToMessage(eCode));
}
-
-static void errorHeader(ErrorCode eCode, sal_uInt32 lineNumber)
-{
- errorHeader(eCode, lineNumber,
- idlc()->getOffsetStart(), idlc()->getOffsetEnd());
-}
static void errorHeader(ErrorCode eCode)
{
- errorHeader(eCode, idlc()->getLineNumber(),
- idlc()->getOffsetStart(), idlc()->getOffsetEnd());
+ errorHeader(eCode, idlc()->getLineNumber());
}
static void warningHeader(WarningCode wCode)
diff --git a/idlc/source/idlc.cxx b/idlc/source/idlc.cxx
index 1c75d782e..1cb6ed29d 100644
--- a/idlc/source/idlc.cxx
+++ b/idlc/source/idlc.cxx
@@ -219,8 +219,6 @@ Idlc::Idlc(Options* pOptions)
, m_errorCount(0)
, m_warningCount(0)
, m_lineNumber(0)
- , m_offsetStart(0)
- , m_offsetEnd(0)
, m_parseState(PS_NoState)
{
m_pScopes = new AstStack();
diff --git a/idlc/source/parser.y b/idlc/source/parser.y
index b6c56c60f..8da9c7ad6 100644
--- a/idlc/source/parser.y
+++ b/idlc/source/parser.y
@@ -103,16 +103,13 @@
#include <algorithm>
#include <vector>
-
-#include <parser.hxx>
using namespace ::rtl;
#define YYDEBUG 1
#define YYERROR_VERBOSE 1
-#define YYLEX_PARAM &yylval, &yylloc
-extern int yylex (YYSTYPE * yylval_param,YYLTYPE * yylloc_param );
+extern int yylex(void);
void yyerror(char const *);
void checkIdentifier(::rtl::OString* id)
@@ -265,7 +262,6 @@ bool includes(AstDeclaration const * type1, AstDeclaration const * type2) {
#pragma warning(disable: 4273 4701 4706)
#endif
%}
-%locations
/*
* Declare the type of values in the grammar
*/
@@ -976,7 +972,6 @@ attribute_get_raises:
rtl::OStringToOUString(
idlc()->getDocumentation(), RTL_TEXTENCODING_UTF8));
$$.exceptions = $2;
- int line = @2.first_line;
}
;
diff --git a/idlc/source/scanner.ll b/idlc/source/scanner.ll
index 9955a8c80..bbcc08fae 100644
--- a/idlc/source/scanner.ll
+++ b/idlc/source/scanner.ll
@@ -48,21 +48,12 @@
#include "attributeexceptions.hxx"
-
class AstExpression;
class AstArray;
class AstMember;
#include <parser.hxx>
-/* handle locations */
-int yycolumn = 1;
-
-#define YY_USER_ACTION yylloc->first_line = yylloc->last_line = yylineno; \
- yylloc->first_column = yycolumn; yylloc->last_column = yycolumn+yyleng-1; \
- idlc()->setOffset(yylloc->first_column, yylloc->last_column); \
- yycolumn += yyleng;
-
sal_Int32 beginLine = 0;
::rtl::OString docu;
@@ -236,7 +227,6 @@ static void parseLineAndFile(sal_Char* pBuf)
for (; *r != '\0' && *r != ' ' && *r != '\t'; r++) ;
*r++ = 0;
idlc()->setLineNumber((sal_uInt32)atol(h));
- yylineno = atol(h);
/* Find file name, if present */
for (; *r != '"'; r++)
@@ -272,7 +262,6 @@ static void parseLineAndFile(sal_Char* pBuf)
#endif
%}
-%option bison-bridge bison-locations
%option noyywrap
%option never-interactive
@@ -294,10 +283,8 @@ IDENTIFIER ("_"?({ALPHA}|{DIGIT})+)*
%%
[ \t\r]+ ; /* eat up whitespace */
-[\n] {
- idlc()->incLineNumber();
- yycolumn = 1;
- yylineno++;
+[\n] {
+ idlc()->incLineNumber();
}
attribute return IDL_ATTRIBUTE;
@@ -362,39 +349,39 @@ published return IDL_PUBLISHED;
"..." return IDL_ELLIPSIS;
("-")?{INT_LITERAL}+(l|L|u|U)? {
- return asciiToInteger(yytext, &yylval->ival, &yylval->uval);
+ return asciiToInteger(yytext, &yylval.ival, &yylval.uval);
}
("-")?{OCT_LITERAL}+(l|L|u|U)? {
- return asciiToInteger(yytext, &yylval->ival, &yylval->uval);
+ return asciiToInteger(yytext, &yylval.ival, &yylval.uval);
}
("-")?{HEX_LITERAL}+(l|L|u|U)? {
- return asciiToInteger(yytext, &yylval->ival, &yylval->uval);
+ return asciiToInteger(yytext, &yylval.ival, &yylval.uval);
}
("-")?{DIGIT}+(e|E){1}(("+"|"-")?{DIGIT}+)+(f|F)? |
("-")?"."{DIGIT}+((e|E)("+"|"-")?{DIGIT}+)?(f|F)? |
("-")?{DIGIT}*"."{DIGIT}+((e|E)("+"|"-")?{DIGIT}+)?(f|F)? {
- yylval->dval = asciiToFloat( yytext );
+ yylval.dval = asciiToFloat( yytext );
return IDL_FLOATING_PT_LITERAL;
}
{IDENTIFIER} {
- yylval->sval = new ::rtl::OString(yytext);
+ yylval.sval = new ::rtl::OString(yytext);
return IDL_IDENTIFIER;
}
\<\< {
- yylval->strval = yytext;
+ yylval.strval = yytext;
return IDL_LEFTSHIFT;
}
\>\> {
- yylval->strval = yytext;
+ yylval.strval = yytext;
return IDL_RIGHTSHIFT;
}
\:\: {
- yylval->strval = yytext;
+ yylval.strval = yytext;
return IDL_SCOPESEPARATOR;
}