blob: 802fc8a3713e107f308246f452f73c9a3c09f489 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
%{
package main
%}
%token <Node> ltNAME
%token ltAND ltOR ltOPEN ltCLOSE
%union {
Node *LicenseCondition
}
%type <Node> start list condition
%%
start : list {
liyylex.(*licenseLexer).result = $$
}
list : condition {
$$ = $1
}
list : list ltAND condition {
$$.And = append($$.And, $3)
}
list : list ltOR condition {
$$.Or = append($$.Or, $3)
}
condition : ltNAME {
$$ = $1
}
condition : ltOPEN list ltCLOSE {
$$ = &LicenseCondition{Main: $2}
}
|