feat: with base

Signed-off-by: kjuulh <contact@kjuulh.io>
This commit is contained in:
2023-07-04 19:37:50 +02:00
commit 8d8a40a3a3
16 changed files with 1487 additions and 0 deletions

137
src/grammar.json Normal file
View 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": []
}