Attention une mise à jour du service Gitlab va être effectuée le mardi 18 janvier (et non lundi 17 comme annoncé précédemment) entre 18h00 et 18h30. Cette mise à jour va générer une interruption du service dont nous ne maîtrisons pas complètement la durée mais qui ne devrait pas excéder quelques minutes.

anonymous-param-redundant.opp.exp 1.23 KB
Newer Older
1
2
3
4
5
6
Warning: you are using the standard library and/or the %inline keyword. We
recommend switching on --infer in order to avoid obscure type error messages.
%{ type ('a, 'b) either = Left of 'a | Right of 'b %}
%start other
%start phrase
%token <int> A
7
8
9
10
%token <int> B
%token <int> C
%token <int> D
%token <int> EOF
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
36
37
38
39
40
41
42
43
44
%type <unit> other
%type <(int, int) either> phrase
%%

embedded___anonymous_1_:
  _10 = C
    {let x =
  let _1 = _10 in
                 ()
in
    ( x )}
| _10 = D
    {let x =
  let _1 = _10 in
                        ()
in
    ( x )}

list___anonymous_0_A_B__:
  
    {    ( [] )}
| x0 = A xs = list___anonymous_0_A_B__
    {let x =
  let x = x0 in
            ( Left  x )
in
    ( x :: xs )}
| y0 = B xs = list___anonymous_0_A_B__
    {let x =
  let y = y0 in
            ( Right y )
in
    ( x :: xs )}

45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
phrase:
  _10 = C _20 = list___anonymous_0_A_B__ _11 = D _21 = list___anonymous_0_A_B__ _3 = EOF
    {let ys =
  let _2 = _21 in
  let _1 = _11 in
      ( _1 )
in
let xs =
  let _2 = _20 in
  let _1 = _10 in
      ( _1 )
in
    ( xs @ ys )}

other:
  _1 = seplist_A_ _2 = EOF
    {                 ()}

seplist_A_:
  _1 = A
    {    ()}
| _1 = A _2 = embedded___anonymous_1_ _3 = seplist_A_
    {                                     ()}

69
70
71
%%