summaryrefslogtreecommitdiffstats
path: root/src/lexer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/lexer.cc')
-rw-r--r--src/lexer.cc66
1 files changed, 29 insertions, 37 deletions
diff --git a/src/lexer.cc b/src/lexer.cc
index 35ae97b..6e4a470 100644
--- a/src/lexer.cc
+++ b/src/lexer.cc
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.16 */
+/* Generated by re2c 1.1.1 */
// Copyright 2011 Google Inc. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,6 +20,8 @@
#include "eval_env.h"
#include "util.h"
+using namespace std;
+
bool Lexer::Error(const string& message, string* err) {
// Compute line/column.
int line = 1;
@@ -233,8 +235,7 @@ yy8:
goto yy5;
yy9:
yyaccept = 0;
- q = ++p;
- yych = *p;
+ yych = *(q = ++p);
if (yybm[0+yych] & 32) {
goto yy9;
}
@@ -252,8 +253,7 @@ yy12:
if (yych <= 0x00) goto yy5;
goto yy33;
yy13:
- ++p;
- yych = *p;
+ yych = *++p;
yy14:
if (yybm[0+yych] & 64) {
goto yy13;
@@ -290,8 +290,8 @@ yy25:
if (yych == 'u') goto yy41;
goto yy14;
yy26:
- ++p;
- if ((yych = *p) == '|') goto yy42;
+ yych = *++p;
+ if (yych == '|') goto yy42;
{ token = PIPE; break; }
yy28:
++p;
@@ -307,8 +307,7 @@ yy31:
goto yy5;
}
yy32:
- ++p;
- yych = *p;
+ yych = *++p;
yy33:
if (yybm[0+yych] & 128) {
goto yy32;
@@ -380,14 +379,14 @@ yy52:
if (yych == 'u') goto yy61;
goto yy14;
yy53:
- ++p;
- if (yybm[0+(yych = *p)] & 64) {
+ yych = *++p;
+ if (yybm[0+yych] & 64) {
goto yy13;
}
{ token = POOL; break; }
yy55:
- ++p;
- if (yybm[0+(yych = *p)] & 64) {
+ yych = *++p;
+ if (yybm[0+yych] & 64) {
goto yy13;
}
{ token = RULE; break; }
@@ -396,8 +395,8 @@ yy57:
if (yych == 'i') goto yy62;
goto yy14;
yy58:
- ++p;
- if (yybm[0+(yych = *p)] & 64) {
+ yych = *++p;
+ if (yybm[0+yych] & 64) {
goto yy13;
}
{ token = BUILD; break; }
@@ -426,22 +425,22 @@ yy65:
if (yych == 'j') goto yy70;
goto yy14;
yy66:
- ++p;
- if (yybm[0+(yych = *p)] & 64) {
+ yych = *++p;
+ if (yybm[0+yych] & 64) {
goto yy13;
}
{ token = DEFAULT; break; }
yy68:
- ++p;
- if (yybm[0+(yych = *p)] & 64) {
+ yych = *++p;
+ if (yybm[0+yych] & 64) {
goto yy13;
}
{ token = INCLUDE; break; }
yy70:
yych = *++p;
if (yych != 'a') goto yy14;
- ++p;
- if (yybm[0+(yych = *p)] & 64) {
+ yych = *++p;
+ if (yybm[0+yych] & 64) {
goto yy13;
}
{ token = SUBNINJA; break; }
@@ -521,8 +520,7 @@ yy77:
yy78:
{ break; }
yy79:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 128) {
goto yy79;
}
@@ -600,8 +598,7 @@ bool Lexer::ReadIdent(string* out) {
return false;
}
yy93:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 128) {
goto yy93;
}
@@ -681,8 +678,7 @@ yy98:
return Error("unexpected EOF", err);
}
yy100:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 16) {
goto yy100;
}
@@ -704,8 +700,8 @@ yy103:
}
}
yy105:
- ++p;
- if ((yych = *p) == '\n') goto yy108;
+ yych = *++p;
+ if (yych == '\n') goto yy108;
{
last_token_ = start;
return Error(DescribeLastError(), err);
@@ -750,8 +746,7 @@ yy111:
return Error("bad $-escape (literal $ must be written as $$)", err);
}
yy112:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 32) {
goto yy112;
}
@@ -775,8 +770,7 @@ yy118:
continue;
}
yy120:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 64) {
goto yy120;
}
@@ -797,15 +791,13 @@ yy125:
}
goto yy111;
yy126:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych == ' ') goto yy126;
{
continue;
}
yy129:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 128) {
goto yy129;
}