All checks were successful
build-dsl-smoke / Build judge (push) Successful in 12s
build-dsl-smoke / debug / clang / linux (push) Successful in 6s
build-dsl-smoke / debug / gcc / linux (push) Successful in 8s
build-dsl-smoke / release / clang / linux (push) Successful in 8s
build-dsl-smoke / release / gcc / linux (push) Successful in 6s
build-dsl-smoke / sanitized / clang / linux (push) Successful in 8s
build-dsl-smoke / sanitized / gcc / linux (push) Successful in 7s
build-dsl-smoke / debug / clang / windows (push) Successful in 13s
build-dsl-smoke / debug-valgrind / gcc / linux (push) Successful in 14s
build-dsl-smoke / release / clang / windows (push) Successful in 16s
build-dsl-smoke / debug / msvc / windows (push) Successful in 18s
build-dsl-smoke / release / msvc / windows (push) Successful in 17s
build-dsl-smoke / SUMMARY (push) Successful in 4s
Release / Build & publish (push) Successful in 48s
Reviewed-on: #1
1733 lines
33 KiB
JSON
Generated
1733 lines
33 KiB
JSON
Generated
{
|
|
"name": "jdg",
|
|
"word": "identifier",
|
|
"rules": {
|
|
"source_file": {
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_top_statement"
|
|
}
|
|
},
|
|
"comment": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "//"
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[^\\n]*"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_top_statement": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "include"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "toolchains"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "build_defaults"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "structured_build"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "legacy_build_platform"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "legacy_build"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "binary_decl"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "sources_decl"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "bool_decl"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "timeout_decl"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "memory_limit_decl"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "group"
|
|
}
|
|
]
|
|
},
|
|
"include": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "include"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "path",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"legacy_build": {
|
|
"type": "PREC",
|
|
"value": 1,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "build"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "command",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"legacy_build_platform": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "keyword",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "build_linux"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "build_windows"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "build_darwin"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "command",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"structured_build": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "build"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "name",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "body",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "build_block"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"build_defaults": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "build_defaults"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "body",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "build_block"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"build_block": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "{"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_build_field"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "}"
|
|
}
|
|
]
|
|
},
|
|
"_build_field": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "build_scalar_field"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "build_list_field"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "build_profile_field"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "build_warnings_field"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "define_field"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "os_override"
|
|
}
|
|
]
|
|
},
|
|
"build_scalar_field": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "name",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "language"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "standard"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "output"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "wrapper"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"build_list_field": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "name",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "sources"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "includes"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "sanitize"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "link"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "extra"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "platforms"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "compilers"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"build_profile_field": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "profile"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "profile_value"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"profile_value": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "release"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "debug"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "sanitized"
|
|
}
|
|
]
|
|
},
|
|
"build_warnings_field": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "warnings"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "warnings_value"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"warnings_value": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "default"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "strict"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "pedantic"
|
|
}
|
|
]
|
|
},
|
|
"define_field": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "define"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "key",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"os_override": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "os",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "os_name"
|
|
}
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "body",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "build_block"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"os_name": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "linux"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "windows"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "darwin"
|
|
}
|
|
]
|
|
},
|
|
"toolchains": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "toolchains"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "{"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "toolchain_entry"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "}"
|
|
}
|
|
]
|
|
},
|
|
"toolchain_entry": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "name",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "identifier"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "{"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_toolchain_field"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "}"
|
|
}
|
|
]
|
|
},
|
|
"_toolchain_field": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "toolchain_platforms_field"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "toolchain_binary_field"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "toolchain_class_field"
|
|
}
|
|
]
|
|
},
|
|
"toolchain_platforms_field": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "platforms"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"toolchain_binary_field": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "binary"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"toolchain_class_field": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "class"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "class_value"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"class_value": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "gnu"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "msvc"
|
|
}
|
|
]
|
|
},
|
|
"binary_decl": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "binary"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"sources_decl": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "sources"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"bool_decl": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "FIELD",
|
|
"name": "name",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "normalize_crlf"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "trim_trailing_ws"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "bool"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"timeout_decl": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "timeout"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "duration"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"memory_limit_decl": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "memory_limit"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "size"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"group": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "group"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "name",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "{"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_group_field"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "}"
|
|
}
|
|
]
|
|
},
|
|
"_group_field": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "group_weight_field"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "group_timeout_field"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "group_memory_field"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "group_scoring_field"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "group_wrapper_field"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "env_decl"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "test"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "pattern"
|
|
}
|
|
]
|
|
},
|
|
"group_weight_field": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "weight"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "number"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"group_timeout_field": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "timeout"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "duration"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"group_memory_field": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "memory_limit"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "size"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"group_scoring_field": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "scoring"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "scoring_value"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"scoring_value": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "partial"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "all_or_none"
|
|
}
|
|
]
|
|
},
|
|
"group_wrapper_field": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "wrapper"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"env_decl": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "env"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "key",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"test": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "test"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "name",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "{"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_test_field"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "}"
|
|
}
|
|
]
|
|
},
|
|
"_test_field": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "test_stdin_field"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "test_stdout_field"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "test_stderr_field"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "test_args_field"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "test_exit_code_field"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "test_timeout_field"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "test_memory_field"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "test_wrapper_field"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "env_decl"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "file_decl"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "out_file_decl"
|
|
}
|
|
]
|
|
},
|
|
"test_stdin_field": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "stdin"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"test_stdout_field": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "stdout"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_matcher"
|
|
}
|
|
]
|
|
},
|
|
"test_stderr_field": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "stderr"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_matcher"
|
|
}
|
|
]
|
|
},
|
|
"test_args_field": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "args"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"test_exit_code_field": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "exitCode"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "integer"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"test_timeout_field": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "timeout"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "duration"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"test_memory_field": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "memory_limit"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "size"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"test_wrapper_field": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "wrapper"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"file_decl": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "file"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "key",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"out_file_decl": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "outFile"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "("
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "key",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": ")"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"_matcher": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "exact_matcher"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "numeric_matcher"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "contains_matcher"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "regex_matcher"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "any_order_matcher"
|
|
}
|
|
]
|
|
},
|
|
"exact_matcher": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"numeric_matcher": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "~"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "epsilon",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "number"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "of"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"contains_matcher": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "contains"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"regex_matcher": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "matches"
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "pattern",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "regex_string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"any_order_matcher": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "anyOrder"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "{"
|
|
},
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "}"
|
|
}
|
|
]
|
|
},
|
|
"pattern": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "pattern"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "{"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_pattern_field"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "}"
|
|
}
|
|
]
|
|
},
|
|
"_pattern_field": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "pattern_input_field"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "pattern_output_field"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "pattern_dirs_field"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "pattern_args_field"
|
|
}
|
|
]
|
|
},
|
|
"pattern_input_field": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "input"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"pattern_output_field": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "output"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"pattern_dirs_field": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "dirs"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"pattern_args_field": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "args"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "="
|
|
},
|
|
{
|
|
"type": "FIELD",
|
|
"name": "value",
|
|
"content": {
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"bool": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "true"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "false"
|
|
}
|
|
]
|
|
},
|
|
"number": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "integer"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "float"
|
|
}
|
|
]
|
|
},
|
|
"string": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "heredoc_string"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "simple_string"
|
|
}
|
|
]
|
|
},
|
|
"simple_string": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "\""
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[^\"\\\\\\n]"
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "\\"
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "."
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "\""
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"heredoc_string": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "\"\"\""
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "([^\"]|\"[^\"]|\"\"[^\"])*"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "\"\"\""
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"regex_string": {
|
|
"type": "SYMBOL",
|
|
"name": "simple_string"
|
|
},
|
|
"identifier": {
|
|
"type": "PATTERN",
|
|
"value": "[a-zA-Z_][a-zA-Z0-9_]*"
|
|
},
|
|
"integer": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "-?\\d+"
|
|
}
|
|
},
|
|
"float": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "-?\\d+\\.\\d+"
|
|
}
|
|
},
|
|
"duration": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "\\d+(ms|s|m)"
|
|
}
|
|
},
|
|
"size": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "\\d+(KiB|MiB|GiB|KB|MB|GB|B|K|M|G)"
|
|
}
|
|
}
|
|
},
|
|
"extras": [
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "\\s+"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "comment"
|
|
}
|
|
],
|
|
"conflicts": [],
|
|
"precedences": [],
|
|
"externals": [],
|
|
"inline": [],
|
|
"supertypes": []
|
|
}
|