mirror of
https://github.com/sbrl/Minetest-WorldEditAdditions.git
synced 2024-12-23 12:05:01 +00:00
40 lines
970 B
BNF
40 lines
970 B
BNF
{%
|
|
# Lists of axes
|
|
|
|
In various commands such as `//copy+`, `//move+`, and others lists of axes are used. These are all underpinned by a single grammar and a single parser (located in `worldeditadditions/utils/parse/axes.lua`). While the parser itself requires pre-split tokens (see `split_shell` for that), the grammar which it parses is documented here.
|
|
|
|
Examples:
|
|
|
|
```
|
|
front 3 left 10 y 77 x 30 back 99
|
|
```
|
|
|
|
%}
|
|
|
|
<axes> ::= <axis_part> *
|
|
|
|
<axes_part> ::= <axis_name> <number>
|
|
| <axis_name> <number> <reverse>
|
|
|
|
<reverse> ::= <number>
|
|
| <reverse_name>
|
|
|
|
<reverse_name> ::= sym | symmetrical | mirror | mir | rev | reverse | true
|
|
|
|
|
|
|
|
<axis_name> ::= <axis_name_absolute>
|
|
| <axis_name_relative>
|
|
|
|
<axis_name_absolute> ::= <axis_letters_absolute>
|
|
| "-" <axis_letters_absolute>
|
|
|
|
<axis_name_relative> ::= front | back | left | right | up | down | "?"
|
|
|
|
<axis_letters_absolute> ::= x | y | z | h | v
|
|
|
|
|
|
|
|
<number> ::= <digit> *
|
|
|
|
<digit> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 0
|