summaryrefslogtreecommitdiffstats
path: root/src/depfile_parser.cc
diff options
context:
space:
mode:
authorMaciej Pawlowski <mpawlowski@opera.com>2018-11-07 09:37:32 (GMT)
committerMaciej Pawlowski <mpawlowski@opera.com>2018-11-07 10:07:29 (GMT)
commitedb848dd6c0a2c0a12eb9e8676c3012fc94e80ca (patch)
treefb50e8a25225d040f051d229577639080bbd9268 /src/depfile_parser.cc
parentcf51ff558f0fb5b736336182ff4f5df20ca3f8a4 (diff)
downloadNinja-edb848dd6c0a2c0a12eb9e8676c3012fc94e80ca.zip
Ninja-edb848dd6c0a2c0a12eb9e8676c3012fc94e80ca.tar.gz
Ninja-edb848dd6c0a2c0a12eb9e8676c3012fc94e80ca.tar.bz2
Regenerate depfile_parser.cc and lexer.cc with newer re2c
Diffstat (limited to 'src/depfile_parser.cc')
-rw-r--r--src/depfile_parser.cc130
1 files changed, 45 insertions, 85 deletions
diff --git a/src/depfile_parser.cc b/src/depfile_parser.cc
index 7cee892..6c0379e 100644
--- a/src/depfile_parser.cc
+++ b/src/depfile_parser.cc
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 */
+/* Generated by re2c 0.16 */
// Copyright 2011 Google Inc. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
@@ -82,88 +82,37 @@ bool DepfileParser::Parse(string* content, string* err) {
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
};
-
yych = *in;
- if (yych <= '=') {
- if (yych <= '$') {
- if (yych <= ' ') {
- if (yych <= 0x00) goto yy7;
- goto yy9;
- } else {
- if (yych <= '!') goto yy5;
- if (yych <= '#') goto yy9;
- goto yy4;
- }
- } else {
- if (yych <= '*') {
- if (yych <= '\'') goto yy9;
- if (yych <= ')') goto yy5;
- goto yy9;
- } else {
- if (yych <= ':') goto yy5;
- if (yych <= '<') goto yy9;
- goto yy5;
- }
- }
+ if (yybm[0+yych] & 128) {
+ goto yy6;
+ }
+ if (yych <= '$') {
+ if (yych <= 0x00) goto yy2;
+ if (yych <= '#') goto yy4;
+ goto yy9;
} else {
- if (yych <= '_') {
- if (yych <= '[') {
- if (yych <= '?') goto yy9;
- if (yych <= 'Z') goto yy5;
- goto yy9;
- } else {
- if (yych <= '\\') goto yy2;
- if (yych <= '^') goto yy9;
- goto yy5;
- }
- } else {
- if (yych <= '|') {
- if (yych <= '`') goto yy9;
- if (yych <= '{') goto yy5;
- goto yy9;
- } else {
- if (yych == 0x7F) goto yy9;
- goto yy5;
- }
- }
+ if (yych == '\\') goto yy10;
+ goto yy4;
}
yy2:
++in;
- if ((yych = *in) <= '"') {
- if (yych <= '\f') {
- if (yych <= 0x00) goto yy3;
- if (yych != '\n') goto yy14;
- } else {
- if (yych <= '\r') goto yy3;
- if (yych == ' ') goto yy16;
- goto yy14;
- }
- } else {
- if (yych <= 'Z') {
- if (yych <= '#') goto yy16;
- if (yych == '*') goto yy16;
- goto yy14;
- } else {
- if (yych <= '\\') goto yy16;
- if (yych == '|') goto yy16;
- goto yy14;
- }
+ {
+ break;
}
-yy3:
+yy4:
+ ++in;
+yy5:
{
// For any other character (e.g. whitespace), swallow it here,
// allowing the outer logic to loop around again.
break;
}
-yy4:
- yych = *++in;
- if (yych == '$') goto yy12;
- goto yy3;
-yy5:
+yy6:
++in;
yych = *in;
- goto yy11;
-yy6:
+ if (yybm[0+yych] & 128) {
+ goto yy6;
+ }
{
// Got a span of plain text.
int len = (int)(in - start);
@@ -173,30 +122,41 @@ yy6:
out += len;
continue;
}
-yy7:
- ++in;
- {
- break;
- }
yy9:
yych = *++in;
- goto yy3;
+ if (yych == '$') goto yy11;
+ goto yy5;
yy10:
- ++in;
- yych = *in;
-yy11:
- if (yybm[0+yych] & 128) {
- goto yy10;
+ yych = *++in;
+ if (yych <= '"') {
+ if (yych <= '\f') {
+ if (yych <= 0x00) goto yy5;
+ if (yych == '\n') goto yy5;
+ goto yy13;
+ } else {
+ if (yych <= '\r') goto yy5;
+ if (yych == ' ') goto yy15;
+ goto yy13;
+ }
+ } else {
+ if (yych <= 'Z') {
+ if (yych <= '#') goto yy15;
+ if (yych == '*') goto yy15;
+ goto yy13;
+ } else {
+ if (yych <= '\\') goto yy15;
+ if (yych == '|') goto yy15;
+ goto yy13;
+ }
}
- goto yy6;
-yy12:
+yy11:
++in;
{
// De-escape dollar character.
*out++ = '$';
continue;
}
-yy14:
+yy13:
++in;
{
// Let backslash before other characters through verbatim.
@@ -204,7 +164,7 @@ yy14:
*out++ = yych;
continue;
}
-yy16:
+yy15:
++in;
{
// De-escape backslashed character.