Skip to content

Commit e6f06a1

Browse files
committed
fix specialIdGen to avoid reserved words. Solves #151
1 parent c8cc768 commit e6f06a1

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/Language/Parser/Generator/Generator.hs

+4-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,10 @@ lowerIdGen =
5151
(`notElem` reservedWords)
5252

5353
specialIdGen :: Gen String
54-
specialIdGen = (:) <$> idCharGen <*> listOf (oneof [idCharGen, digitCharGen])
54+
specialIdGen =
55+
((:) <$> idCharGen <*>
56+
listOf (oneof [idCharGen, digitCharGen])) `suchThat`
57+
(`notElem` reservedWords)
5558

5659
identifierGen :: Gen String
5760
identifierGen = oneof [lowerIdGen, upperIdGen, specialIdGen]

0 commit comments

Comments
 (0)