-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathebnf.txt
21 lines (17 loc) · 812 Bytes
/
ebnf.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
PROGRAM ::= {<load> | <apply> | <show> | <save> | <record>}*
<load> ::= 'load' <path> 'as' <variable>
<save> ::= 'save' <variable> {'as' <path>}?
<show> ::= 'show' <variable>
<apply> ::= 'apply' <function> {'as' <variable> {',' <variable>}*}?
<record> ::= 'record' <function_base> {',' <function_base>}* 'as' <preset>
<function> ::= <function_base> 'to' <variable> {',' <variable>}*
<function_base> ::= <function_name> {'using' <variable>}? 'with' <parameter>
<function_name> ::= 'darken' | 'brighten' | 'resize' | 'find' | 'draw' | 'hybrid' | 'crop' | 'tile' | 'blur' | 'gray' | <preset>
<path> ::= <file> | <folder>
<file> ::= <string>
<folder> ::= <string>
<preset> ::= <string>
<variable> ::= <string>
<parameter> ::= <percentage> | <coordinate>
<percentage> ::= <int>
<coordinate> ::= <int> ', ' <int>