diff --git a/libs/regexp/regexp.factor b/libs/regexp/regexp.factor index 6ceb13ddb6..d4192b1d45 100644 --- a/libs/regexp/regexp.factor +++ b/libs/regexp/regexp.factor @@ -216,13 +216,18 @@ PRIVATE< PRIVATE> -SYNTAX: \ R`` "``" parse-multiline-string lexer get parse-noblank-token compile-next-match suffix! ; -SYNTAX: \ R``` "```" parse-multiline-string lexer get parse-noblank-token compile-next-match suffix! ; -SYNTAX: \ R```` "````" parse-multiline-string lexer get parse-noblank-token compile-next-match suffix! ; -SYNTAX: \ R[[ "]]" parse-multiline-string lexer get parse-noblank-token compile-next-match suffix! ; -SYNTAX: \ R[=[ "]=]" parse-multiline-string lexer get parse-noblank-token compile-next-match suffix! ; -SYNTAX: \ R(( "))" parse-multiline-string lexer get parse-noblank-token compile-next-match suffix! ; -SYNTAX: \ R{{ "}}" parse-multiline-string lexer get parse-noblank-token compile-next-match suffix! ; +: parse-optioned-regexp ( accum string -- accum ) + parse-multiline-string lexer get + parse-noblank-token compile-next-match + suffix! ; + +SYNTAX: \ R`` "``" parse-optioned-regexp ; +SYNTAX: \ R``` "```" parse-optioned-regexp ; +SYNTAX: \ R```` "````" parse-optioned-regexp ; +SYNTAX: \ R[[ "]]" parse-optioned-regexp ; +SYNTAX: \ R[=[ "]=]" parse-optioned-regexp ; +SYNTAX: \ R(( "))" parse-optioned-regexp ; +SYNTAX: \ R{{ "}}" parse-optioned-regexp ; USE: vocabs.loader { "prettyprint" "regexp" } "regexp.prettyprint" require-when