File src/make/make-lexer.flex changed (mode: 100644) (index bf02ee3..ef630bd) |
... |
... |
NL \n|\r|\r\n |
267 |
267 |
return token(CHARS, yylval, yyextra, NeedFakeWS); |
return token(CHARS, yylval, yyextra, NeedFakeWS); |
268 |
268 |
} |
} |
269 |
269 |
$. return token(VAR, yylval, yyextra); |
$. return token(VAR, yylval, yyextra); |
|
270 |
|
\\\(|\\\) { |
|
271 |
|
if (shouldInsertFakeWS(yylval, yyextra)) { |
|
272 |
|
return FAKE_TOKEN(WS); |
|
273 |
|
} |
|
274 |
|
return token(CHARS, yylval, yyextra, NeedFakeWS); |
|
275 |
|
} |
270 |
276 |
"(" { |
"(" { |
271 |
277 |
if (shouldInsertFakeWS(yylval, yyextra)) { |
if (shouldInsertFakeWS(yylval, yyextra)) { |
272 |
278 |
return FAKE_TOKEN(WS); |
return FAKE_TOKEN(WS); |
File tests/make/make-parser.cpp changed (mode: 100644) (index 9fe7b1f..e2614a8) |
... |
... |
TEST_CASE("Functions are parsed in a Makefile", "[make][parser]") |
219 |
219 |
CHECK(makeIsParsed(R"_(${shell "$(CC)"})_")); |
CHECK(makeIsParsed(R"_(${shell "$(CC)"})_")); |
220 |
220 |
CHECK(makeIsParsed(R"($(error "str"))")); |
CHECK(makeIsParsed(R"($(error "str"))")); |
221 |
221 |
} |
} |
|
222 |
|
SECTION("Parenthesis can be escaped in a call") { |
|
223 |
|
CHECK(makeIsParsed(R"_($(shell \( echo hi ))_")); |
|
224 |
|
CHECK(makeIsParsed(R"_($(shell echo hi \) ))_")); |
|
225 |
|
CHECK(makeIsParsed(R"_($(shell \( echo hi \) ))_")); |
|
226 |
|
} |
222 |
227 |
} |
} |
223 |
228 |
|
|
224 |
229 |
TEST_CASE("Targets are parsed in a Makefile", "[make][parser]") |
TEST_CASE("Targets are parsed in a Makefile", "[make][parser]") |