-
Notifications
You must be signed in to change notification settings - Fork 17
Expand file tree
/
Copy pathexpr_syntax
More file actions
20 lines (20 loc) · 751 Bytes
/
Copy pathexpr_syntax
File metadata and controls
20 lines (20 loc) · 751 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
evalexpr := subexpr
subexpr := expcomma
expcomma := expassign *, exprassign*
expassign := expcond [=|+=|-= ... ] expassign
expcond := explor [? expcomma : expcond ]
explor := expland * || expland *
expland := expbor * && expbor *
expbor := expbxor * | expbxor *
expbxor := expband * ^ expband *
expband := exp5 * & exp5 *
exp5 := exp4 * [==|!=] exp4 *
exp4 := expshift * [<|<=|>|>=] expshift *
expshift := exp3 * [<<|>>] exp3 *
exp3 := exp2 * [+|-] exp2 *
exp2 := exppower * [*|/|%] exppower *
exppower := exp1 * ** exppower *
exp1 := [!|~|-|+] exp1 | exp0
exp0 := [++|--] ARRAY | ( expcomma ) | NUM | exppost
exppost := ARRAY [ [++|--] ]
array := VAR [ [ expcomma ] ]