File tree Expand file tree Collapse file tree 1 file changed +3
-3
lines changed Expand file tree Collapse file tree 1 file changed +3
-3
lines changed Original file line number Diff line number Diff line change @@ -5,7 +5,7 @@ for more details.
5
5
6
6
A Cucumber Expression has the following AST:
7
7
8
- ```
8
+ ``` ebnf
9
9
cucumber-expression := ( alternation | optional | parameter | text )*
10
10
alternation := (?<=left-boundary) + alternative* + ( '/' + alternative* )+ + (?=right-boundary)
11
11
left-boundary := whitespace | } | ^
@@ -19,7 +19,7 @@ text := whitespace | ')' | '}' | .
19
19
```
20
20
21
21
The AST is constructed from the following tokens:
22
- ```
22
+ ``` ebnf
23
23
escape := '\'
24
24
token := whitespace | '(' | ')' | '{' | '}' | '/' | .
25
25
. := any non-reserved codepoint
40
40
The AST can be rewritten into a regular expression by the following production
41
41
rules:
42
42
43
- ```
43
+ ``` ebnf
44
44
cucumber-expression -> '^' + rewrite(node[0]) + ... + rewrite(node[n-1]) + '$'
45
45
alternation -> '(?:' + rewrite(node[0]) +'|' + ... +'|' + rewerite(node[n-1]) + ')'
46
46
alternative -> rewrite(node[0]) + ... + rewrite(node[n-1])
You can’t perform that action at this time.
0 commit comments