Scale 65

Syntax 1

site: "site" IDENT "{" (node_def | path_def)* "}"

node_def: NUM | NUM "[" node_attribute* "]"
node_attribute: node_attr_type | node_attr_entrance | node_attr_postern
node_attr_type: "type=" NODE_TYPE
node_attr_entrance: "entrance"
node_attr_postern: "postern"

path_def: normal_path | hidden_path | blocked_path
normal_path:  NUM "--" NUM
hidden_path:  NUM ".." NUM
blocked_path: (NUM "XX" NUM) | (NUM "xx" NUM)

NUM: /[0-9]+/
IDENT: /[a-z][a-z_0-9]*/i
NODE_TYPE: /danger|feature|treasure|site/

1. Provided as EBNF