Skip to content

Commit 31417aa

Browse files
authored
Fix escape sequences.
These escape sequences fail to parse with `purs` master.
1 parent 60b1bd3 commit 31417aa

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

src/Text/Parsing/Parser/Token.purs

+9-9
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,7 @@ makeTokenParser (LanguageDef languageDef)
391391
charEscape = char '\\' *> escapeCode
392392

393393
charLetter :: ParserT String m Char
394-
charLetter = satisfy \c -> (c /= '\'') && (c /= '\\') && (c > '\026')
394+
charLetter = satisfy \c -> (c /= '\'') && (c /= '\\') && (c > '\x1A')
395395

396396
stringLiteral :: ParserT String m String
397397
stringLiteral = lexeme (go <?> "literal string")
@@ -412,7 +412,7 @@ makeTokenParser (LanguageDef languageDef)
412412
<?> "string character"
413413

414414
stringLetter :: ParserT String m Char
415-
stringLetter = satisfy (\c -> (c /= '"') && (c /= '\\') && (c > '\026'))
415+
stringLetter = satisfy (\c -> (c /= '"') && (c /= '\\') && (c > '\x1A'))
416416

417417
stringEscape :: ParserT String m (Maybe Char)
418418
stringEscape = do
@@ -463,8 +463,8 @@ makeTokenParser (LanguageDef languageDef)
463463

464464
-- escape code tables
465465
escMap :: Array (Tuple Char Char)
466-
escMap = Array.zip [ 'a', 'b', 'f', 'n', 'r', 't', 'v', '\\', '\"', '\'' ]
467-
[ '\a', '\b', '\f', '\n', '\r', '\t', '\v', '\\', '\"', '\'' ]
466+
escMap = Array.zip [ 'a', 'b', 'f', 'n', 'r', 't', 'v', '\\', '\"', '\'' ]
467+
[ '\x7', '\x8', '\xC', '\n', '\r', '\t', '\xB', '\\', '\"', '\'' ]
468468

469469
asciiMap :: Array (Tuple String Char)
470470
asciiMap = Array.zip (ascii3codes <> ascii2codes) (ascii3 <> ascii2)
@@ -479,14 +479,14 @@ makeTokenParser (LanguageDef languageDef)
479479
]
480480

481481
ascii2 :: Array Char
482-
ascii2 = [ '\BS', '\HT', '\LF', '\VT', '\FF', '\CR', '\SO', '\SI'
483-
, '\EM', '\FS', '\GS', '\RS', '\US', '\SP'
482+
ascii2 = [ '\x8', '\x9', '\xA', '\xB', '\xC', '\xD', '\xE', '\xF'
483+
, '\x19', '\x1C', '\x1D', '\x1E', '\x1F', '\x20'
484484
]
485485

486486
ascii3 :: Array Char
487-
ascii3 = [ '\NUL', '\SOH', '\STX', '\ETX', '\EOT', '\ENQ', '\ACK'
488-
, '\BEL', '\DLE', '\DC1', '\DC2', '\DC3', '\DC4', '\NAK'
489-
, '\SYN', '\ETB', '\CAN', '\SUB', '\ESC', '\DEL'
487+
ascii3 = [ '\x0', '\x1', '\x2', '\x3', '\x4', '\x5', '\x6'
488+
, '\x7', '\x10', '\x11', '\x12', '\x13', '\x14', '\x15'
489+
, '\x16', '\x17', '\x18', '\x1A', '\x1B', '\x7F'
490490
]
491491

492492
-----------------------------------------------------------

0 commit comments

Comments
 (0)