mirror of https://github.com/Wilfred/difftastic/
3801 lines
90 KiB
JSON
3801 lines
90 KiB
JSON
{
|
|
"name": "commonlisp",
|
|
"rules": {
|
|
"source": {
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_form"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_gap": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_ws"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "comment"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "dis_expr"
|
|
}
|
|
]
|
|
},
|
|
"_ws": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"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]"
|
|
}
|
|
}
|
|
},
|
|
"comment": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "(;|#!).*\\n?"
|
|
}
|
|
},
|
|
"dis_expr": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "marker",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "#_"
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_form"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"_form": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "#"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "num_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "fancy_literal"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "kwd_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "str_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "char_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "nil_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "package_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "sym_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "list_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "vec_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "set_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "read_cond_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "splicing_read_cond_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "var_quoting_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "sym_val_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "evaling_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "derefing_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "quoting_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "syn_quoting_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "unquote_splicing_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "unquoting_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "include_reader_macro"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "complex_num_lit"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "."
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"num_lit": {
|
|
"type": "PREC",
|
|
"value": 0,
|
|
"content": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 10,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[+-]"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[xX]"
|
|
},
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[0-9a-fA-F]"
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "N"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[0-7]"
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "N"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[0-9]"
|
|
}
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[rR]"
|
|
},
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[0-9a-zA-Z]"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[0-9]"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "/"
|
|
},
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[0-9]"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[0-9]"
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "."
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[0-9]"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[eE]"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[+-]"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[0-9]"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "M"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[0-9]"
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[MN]"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"kwd_lit": {
|
|
"type": "PREC",
|
|
"value": 4,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "::"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "kwd_symbol"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"str_lit": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "\""
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "IMMEDIATE_TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 1,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[^\\\\~\"]+"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "IMMEDIATE_TOKEN",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "\\\""
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "format_specifier"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "~"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "\""
|
|
}
|
|
]
|
|
},
|
|
"char_lit": {
|
|
"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"
|
|
}
|
|
]
|
|
},
|
|
"nil_lit": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "nil"
|
|
}
|
|
},
|
|
"bool_lit": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "false"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "true"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"sym_lit": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"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]"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"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]"
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[#']"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"_metadata_lit": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "meta",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "meta_lit"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "old_meta",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "old_meta_lit"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"meta_lit": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "marker",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "^"
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "read_cond_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "map_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "str_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "kwd_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "sym_lit"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"old_meta_lit": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "marker",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "#^"
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "read_cond_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "map_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "str_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "kwd_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "sym_lit"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"list_lit": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_metadata_lit"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_bare_list_lit"
|
|
}
|
|
]
|
|
},
|
|
"_bare_list_lit": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "PREC",
|
|
"value": 5,
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "defun"
|
|
}
|
|
},
|
|
{
|
|
"type": "PREC",
|
|
"value": 5,
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "loop_macro"
|
|
}
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "open",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "("
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_form"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "close",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"map_lit": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_metadata_lit"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_bare_map_lit"
|
|
}
|
|
]
|
|
},
|
|
"_bare_map_lit": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "open",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "{"
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_form"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "close",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "}"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"vec_lit": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_metadata_lit"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_bare_vec_lit"
|
|
}
|
|
]
|
|
},
|
|
"_bare_vec_lit": {
|
|
"type": "PREC",
|
|
"value": 5,
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "open",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "#0A"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "#0a"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "num_lit"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "open",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "#"
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "dimension_indicator",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "array_dimension"
|
|
}
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "list_lit"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"set_lit": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_metadata_lit"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_bare_set_lit"
|
|
}
|
|
]
|
|
},
|
|
"_bare_set_lit": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "marker",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "#"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "open",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "{"
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_form"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "close",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "}"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"anon_fn_lit": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_metadata_lit"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "marker",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "#"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_bare_list_lit"
|
|
}
|
|
]
|
|
},
|
|
"regex_lit": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "marker",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "#"
|
|
}
|
|
},
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "\""
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[^\"\\\\]"
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "\\"
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "."
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[^\"\\\\]"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "\""
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"read_cond_lit": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_metadata_lit"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "marker",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "#?"
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_ws"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_bare_list_lit"
|
|
}
|
|
]
|
|
},
|
|
"splicing_read_cond_lit": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_metadata_lit"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "marker",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "#?@"
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_ws"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_bare_list_lit"
|
|
}
|
|
]
|
|
},
|
|
"auto_res_mark": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "::"
|
|
}
|
|
},
|
|
"ns_map_lit": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_metadata_lit"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "marker",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "#"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "prefix",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "auto_res_mark"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "kwd_lit"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_bare_map_lit"
|
|
}
|
|
]
|
|
},
|
|
"var_quoting_lit": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_metadata_lit"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "marker",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "#'"
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_form"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"sym_val_lit": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "marker",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "##"
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "sym_lit"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"evaling_lit": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_metadata_lit"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "marker",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "#="
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "list_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "read_cond_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "sym_lit"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"tagged_or_ctor_lit": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_metadata_lit"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "marker",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "#"
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "tag",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "sym_lit"
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_form"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"derefing_lit": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_metadata_lit"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "marker",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "@"
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_form"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"quoting_lit": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_metadata_lit"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "marker",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "'"
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_form"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"syn_quoting_lit": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "marker",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "`"
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_form"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"unquote_splicing_lit": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_metadata_lit"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "marker",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": ",@"
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_form"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"unquoting_lit": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "marker",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": ","
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_form"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"block_comment": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "#|"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[^|]"
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "\\|[^#]"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "|#"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"fancy_literal": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "|"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[^|]"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "|"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"defun": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "open",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "("
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "defun_header"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_form"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "close",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"_format_token": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "num_lit"
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "'"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "."
|
|
},
|
|
"named": true,
|
|
"value": "char_lit"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"format_prefix_parameters": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "v"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "V"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "#"
|
|
}
|
|
]
|
|
},
|
|
"format_modifiers": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_format_token"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ","
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "@"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "@:"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":@"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"format_directive_type": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "repetitions",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_format_token"
|
|
}
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "~"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "%"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "&"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "|"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[cC]"
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "\\^"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "\n"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "\r"
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[pP]"
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[iI]"
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[wW]"
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[aA]"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "_"
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[()]"
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[{}]"
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[\\[\\]]"
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[<>]"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "numberOfArgs",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_format_token"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "*"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "/"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_package_lit_without_slash"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_sym_lit_without_slash"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "/"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "?"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "Newline"
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_format_token"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ","
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[$rRbBdDgGxXeEoOsStTfF]"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"format_specifier": {
|
|
"type": "PREC_LEFT",
|
|
"value": 0,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "~"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "format_prefix_parameters"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "format_modifiers"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "PREC",
|
|
"value": 5,
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "format_directive_type"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"for_clause_word": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "cl"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "in"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "across"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "being"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "using"
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "being (the|each) (hash-key[s]?|hash-value[s]?|present-symbol[s]?) (in|of)"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "below"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "above"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "from"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "to"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "upto"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "downto"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "downfrom"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "on"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "by"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "then"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"_for_part": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "for_clause_word"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_form"
|
|
}
|
|
]
|
|
},
|
|
"accumulation_verb": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "cl"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "((collect|append|nconc|count|maximize|minimize)(ing)?|sum(ming)?)"
|
|
}
|
|
]
|
|
},
|
|
"for_clause": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "cl"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "for"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "cl"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "and"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "cl"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "as"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "variable",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_form"
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "type",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_form"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_for_part"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "cl"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "and"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"with_clause": {
|
|
"type": "PREC_LEFT",
|
|
"value": 0,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "cl"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "with"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_form"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "cl"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_form"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"do_clause": {
|
|
"type": "PREC_LEFT",
|
|
"value": 0,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "cl"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "do"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "PREC_LEFT",
|
|
"value": 0,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_form"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"while_clause": {
|
|
"type": "PREC_LEFT",
|
|
"value": 0,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "cl"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "while"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "cl"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "until"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_form"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"repeat_clause": {
|
|
"type": "PREC_LEFT",
|
|
"value": 0,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "cl"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "repeat"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_form"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"condition_clause": {
|
|
"type": "PREC_LEFT",
|
|
"value": 0,
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "cl"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "when"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "cl"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "if"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "cl"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "unless"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "cl"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "always"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "cl"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "thereis"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "cl"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "never"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_form"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "cl"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "else"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"accumulation_clause": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "accumulation_verb"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_form"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "cl"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "into"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_form"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"termination_clause": {
|
|
"type": "PREC_LEFT",
|
|
"value": 0,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "cl"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "finally"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "cl"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "return"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "cl"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "initially"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_form"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"loop_clause": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "for_clause"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "do_clause"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "list_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "while_clause"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "repeat_clause"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "accumulation_clause"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "condition_clause"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "with_clause"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "termination_clause"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "while_clause"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"loop_macro": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "open",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "("
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "cl"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "loop"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "loop_clause"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "close",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"defun_keyword": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "cl"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "defun"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "defmacro"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "defgeneric"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "defmethod"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"defun_header": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "keyword",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "defun_keyword"
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "function_name",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_form"
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "specifier",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "kwd_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "sym_lit"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "lambda_list",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "list_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "unquoting_lit"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "keyword",
|
|
"content": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "lambda"
|
|
},
|
|
"named": true,
|
|
"value": "defun_keyword"
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "lambda_list",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "list_lit"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "unquoting_lit"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"array_dimension": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "num_lit"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "A"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "a"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"package_lit": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "package",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "sym_lit"
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "::"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "symbol",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "sym_lit"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_package_lit_without_slash": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "package",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_sym_lit_without_slash"
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "::"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "symbol",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_sym_lit_without_slash"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"named": true,
|
|
"value": "package_lit"
|
|
},
|
|
"_sym_lit_without_slash": {
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"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]"
|
|
}
|
|
},
|
|
"named": true,
|
|
"value": "sym_lit"
|
|
},
|
|
"kwd_symbol": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"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]"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"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]"
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[#']"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"include_reader_macro": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_metadata_lit"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "marker",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "#+"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "#-"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "condition",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_form"
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "target",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_form"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"complex_num_lit": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_metadata_lit"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "marker",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "#C"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "#c"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "real",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "num_lit"
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "imaginary",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "num_lit"
|
|
}
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_gap"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"extras": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "block_comment"
|
|
}
|
|
],
|
|
"conflicts": [
|
|
[
|
|
"for_clause"
|
|
],
|
|
[
|
|
"accumulation_clause"
|
|
]
|
|
],
|
|
"precedences": [],
|
|
"externals": [],
|
|
"inline": [],
|
|
"supertypes": []
|
|
}
|
|
|