Fix #6: don't inherit from Clojure character literals

pull/70/head
Stephan Seitz 2021-11-28 11:35:14 +07:00
parent 0ff5a1b752
commit 4acbcb0138
4 changed files with 46340 additions and 46371 deletions

@ -274,8 +274,8 @@ module.exports = grammar(clojure, {
array_dimension: _ => prec(100, /\d+[aA]/),
char_lit: (_, original) =>
seq('#', choice(original, /\\[nN]ewline/, /\\[lL]inefeed/, /\\[Ss]pace/, /\\[nN]ull/, /\\[rR]ull/)),
char_lit: _ =>
seq('#', /\\[^:\f\n\r\t ()\[\]{}"^;`\\,#'\u000B\u001C\u001D\u001E\u001F\u2028\u2029\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2008\u2009\u200a\u205f\u3000]+/),
vec_lit: $ =>
prec(PREC.SPECIAL,

@ -620,157 +620,8 @@
"value": "#"
},
{
"type": "CHOICE",
"members": [
{
"type": "TOKEN",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\\"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "o"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[0-9]"
},
{
"type": "PATTERN",
"value": "[0-9]"
},
{
"type": "PATTERN",
"value": "[0-9]"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[0-9]"
},
{
"type": "PATTERN",
"value": "[0-9]"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[0-9]"
}
]
}
]
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "backspace"
},
{
"type": "STRING",
"value": "formfeed"
},
{
"type": "STRING",
"value": "newline"
},
{
"type": "STRING",
"value": "return"
},
{
"type": "STRING",
"value": "space"
},
{
"type": "STRING",
"value": "tab"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "u"
},
{
"type": "PATTERN",
"value": "[0-9a-fA-F]"
},
{
"type": "PATTERN",
"value": "[0-9a-fA-F]"
},
{
"type": "PATTERN",
"value": "[0-9a-fA-F]"
},
{
"type": "PATTERN",
"value": "[0-9a-fA-F]"
}
]
},
{
"type": "PATTERN",
"value": ".|\\n"
}
]
}
]
}
},
{
"type": "PATTERN",
"value": "\\\\[nN]ewline"
},
{
"type": "PATTERN",
"value": "\\\\[lL]inefeed"
},
{
"type": "PATTERN",
"value": "\\\\[Ss]pace"
},
{
"type": "PATTERN",
"value": "\\\\[nN]ull"
},
{
"type": "PATTERN",
"value": "\\\\[rR]ull"
}
]
"type": "PATTERN",
"value": "\\\\[^:\\f\\n\\r\\t ()\\[\\]{}\"^;`\\\\,#'\\u000B\\u001C\\u001D\\u001E\\u001F\\u2028\\u2029\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2008\\u2009\\u200a\\u205f\\u3000]+"
}
]
},

File diff suppressed because it is too large Load Diff

@ -1125,3 +1125,12 @@ Issue #5 (defpackage)
(kwd_lit
(kwd_symbol))
(package_lit))))
================================================================================
Issue #6 (#\Replacement_Character)
================================================================================
#\Replacement_Character
--------------------------------------------------------------------------------
(source
(char_lit))