begin making changes to return a parse error if regex string contains an end marker

This commit is contained in:
2025-10-07 14:36:35 +01:00
parent 060df2745a
commit f085860f20

View File

@@ -339,7 +339,9 @@ struct
val chr = String.sub (str, pos + 1) val chr = String.sub (str, pos + 1)
val (isValid, chr) = isValidEscapeSequence chr val (isValid, chr) = isValidEscapeSequence chr
in in
if isValid then if Fn.charIsEqual (chr, Fn.endMarker) then
NONE
else if isValid then
let let
val chr = CHAR_LITERAL {char = chr, position = stateNum + 1} val chr = CHAR_LITERAL {char = chr, position = stateNum + 1}
in in
@@ -361,6 +363,9 @@ struct
else else
parseCharacterClass (pos + 1, str, stateNum) parseCharacterClass (pos + 1, str, stateNum)
| chr => | chr =>
if Fn.charIsEqual (chr, Fn.endMarker) then
NONE
else
let val chr = CHAR_LITERAL {char = chr, position = stateNum + 1} let val chr = CHAR_LITERAL {char = chr, position = stateNum + 1}
in SOME (pos + 1, chr, stateNum + 1) in SOME (pos + 1, chr, stateNum + 1)
end end