Skip to content

Commit 5f0a678

Browse files
authored
Merge pull request #117 from mavolin/fix/115
Ignore Braces in String and Rune Literals
2 parents e380b41 + a9da6c0 commit 5f0a678

File tree

5 files changed

+1547
-40
lines changed

5 files changed

+1547
-40
lines changed

Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,9 @@ $(TEST_DIR)/issue_79/issue_79.go: $(TEST_DIR)/issue_79/issue_79.peg $(BINDIR)/pi
176176
$(TEST_DIR)/issue_80/issue_80.go: $(TEST_DIR)/issue_80/issue_80.peg $(BINDIR)/pigeon
177177
$(BINDIR)/pigeon -nolint $< > $@
178178

179+
$(TEST_DIR)/issue_115/issue_115.go: $(TEST_DIR)/issue_115/issue_115.peg $(BINDIR)/pigeon
180+
$(BINDIR)/pigeon -nolint $< > $@
181+
179182
$(TEST_DIR)/left_recursion/left_recursion.go: \
180183
$(TEST_DIR)/left_recursion/standart/leftrecursion/left_recursion.go \
181184
$(TEST_DIR)/left_recursion/optimized/leftrecursion/left_recursion.go \

grammar/pigeon.peg

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,11 @@ CodeBlock ← '{' Code '}' {
322322
return nil, errors.New("code block not terminated")
323323
}
324324

325-
Code ← ( ( Comment / ![{}] SourceChar )+ / '{' Code '}' )*
325+
Code ← ( ( Comment / CodeStringLiteral / ![{}] SourceChar )+ / '{' Code '}' )*
326+
327+
CodeStringLiteral ← '"' (`\"` / [^"\r\n])* '"' /
328+
'`' [^`]* '`' /
329+
'\'' (`\'` / [^']+) '\''
326330

327331
__ ← ( Whitespace / EOL / Comment )*
328332
_ ← ( Whitespace / MultiLineCommentNoLineTerminator )*

pigeon.go

Lines changed: 155 additions & 39 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)