Accept an underscore as a label prefix in the modern domain parser.
parent
d4cbcb8b99
commit
e1c6a6f1e9
|
@ -26,13 +26,14 @@ import GenericParser.Parser (Parser(..)
|
|||
label :: Parser DomainError String
|
||||
label = do
|
||||
pos <- current_position
|
||||
maybeu <- tryMaybe $ char '_'
|
||||
maybel <- tryMaybe letter
|
||||
case maybel of
|
||||
Nothing -> Parser \_ -> failureError pos (Just InvalidCharacter)
|
||||
Just l -> do
|
||||
s <- tryMaybe ldh_str
|
||||
lastpos <- current_position
|
||||
let labelstr = CU.singleton l <> maybe "" CU.fromCharArray s
|
||||
let labelstr = maybe "" (\_ -> "_") maybeu <> CU.singleton l <> maybe "" CU.fromCharArray s
|
||||
if (S.length labelstr > max_label_length)
|
||||
then Parser \_ -> failureError pos (Just <<< LabelTooLarge $ S.length labelstr)
|
||||
else if (S.length labelstr > 1 && not (parse_last_char labelstr let_dig))
|
||||
|
|
Loading…
Reference in New Issue