Added a partial fix to regex, started improving the krakenGrammer regexes
This commit is contained in:
@@ -157,7 +157,7 @@ numeric = "[0-9]+" ;
|
||||
string = triple_quoted_string | "\"(`|[0-9]|-|=| |[a-z]|\[|]|(\\\\)|(\\n)|(\\t)|(\\\*)|(\\0)|;|'|
|
||||
|,|.|/|~|!|@|#|$|%|^|&|\*|\(|\)|_|\+|[A-Z]|{|}|\||:|<|>|\?| |(\\\"))*\"" ;
|
||||
comment = cpp_comment | c_comment ;
|
||||
cpp_comment = "//(`|[0-9]|-|=| |[a-z]|\[|]|\\|;|'|,|.|/|~|!|@|#|$|%|^|&|\*|\(|\)|_|\+|[A-Z]|{|}|\||:|\"|<|>|\?| )*
|
||||
cpp_comment = "//[ -~]*
|
||||
" ;
|
||||
c_comment = "(/\*/*\**((`|[0-9]|-|=| |[a-z]|\[|]|\\|;|'|
|
||||
|,|.|~|!|@|#|$|%|^|&|\(|\)|_|\+|[A-Z]|{|}|\||:|\"|<|>|\?| )/*\**)+\*/)|(/\*\*/)" ;
|
||||
c_comment = "(/\*/*\**(([ -)]|[0-~]|[+-.]| |
|
||||
)/*\**)+\*/)|(/\*\*/)" ;
|
||||
|
||||
@@ -137,9 +137,12 @@ obj regex (Object, Serializable) {
|
||||
for (var depth = 1; depth > 0; perenEnd++;) {
|
||||
if (perenEnd >= regex_string.length())
|
||||
ast_transformation::error(string::string("can't find matching peren in: ") + regex_string)
|
||||
if (regex_string[perenEnd] == '(')
|
||||
// be careful, this isn't quite right yet
|
||||
/*var not_non_special = perenEnd == 0 || (regex_string[perenEnd-1] != '\\' && regex_string[perenEnd-1] != '[' && (perenEnd+1 >= regex_string.length() || regex_string[perenEnd+1] != ']'))*/
|
||||
var not_non_special = perenEnd == 0 || (regex_string[perenEnd-1] != '[' && (perenEnd+1 >= regex_string.length() || regex_string[perenEnd+1] != ']'))
|
||||
if (regex_string[perenEnd] == '(' && not_non_special)
|
||||
depth++
|
||||
else if (regex_string[perenEnd] == ')')
|
||||
else if (regex_string[perenEnd] == ')' && not_non_special)
|
||||
depth--
|
||||
}
|
||||
var innerBeginEnd = compile(regex_string.slice(i+1, perenEnd-1))
|
||||
|
||||
Reference in New Issue
Block a user