137
src/grammar.json
Normal file
137
src/grammar.json
Normal file
@@ -0,0 +1,137 @@
|
||||
{
|
||||
"name": "hurl",
|
||||
"rules": {
|
||||
"source_file": {
|
||||
"type": "REPEAT",
|
||||
"content": {
|
||||
"type": "SYMBOL",
|
||||
"name": "_statement"
|
||||
}
|
||||
},
|
||||
"_statement": {
|
||||
"type": "CHOICE",
|
||||
"members": [
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "_declaration_statement"
|
||||
}
|
||||
]
|
||||
},
|
||||
"_declaration_statement": {
|
||||
"type": "CHOICE",
|
||||
"members": [
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "request_declaration"
|
||||
}
|
||||
]
|
||||
},
|
||||
"request_declaration": {
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "_literal"
|
||||
},
|
||||
{
|
||||
"type": "FIELD",
|
||||
"name": "url",
|
||||
"content": {
|
||||
"type": "SYMBOL",
|
||||
"name": "_url"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"_literal": {
|
||||
"type": "CHOICE",
|
||||
"members": [
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "request_literal"
|
||||
}
|
||||
]
|
||||
},
|
||||
"request_literal": {
|
||||
"type": "CHOICE",
|
||||
"members": [
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "GET"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "POST"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "PUT"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "DELETE"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "CONNECT"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "OPTIONS"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "TRACE"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "PATCH"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "LINK"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "UNLINK"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "PURGE"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "LOCK"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "UNLOCK"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "PROPFIND"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "VIEW"
|
||||
}
|
||||
]
|
||||
},
|
||||
"_url": {
|
||||
"type": "PATTERN",
|
||||
"value": "\\S+"
|
||||
}
|
||||
},
|
||||
"extras": [
|
||||
{
|
||||
"type": "PATTERN",
|
||||
"value": "\\s"
|
||||
}
|
||||
],
|
||||
"conflicts": [],
|
||||
"precedences": [],
|
||||
"externals": [],
|
||||
"inline": [],
|
||||
"supertypes": []
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user