diff --git a/fzn-parser/examples/aust.ast b/fzn-parser/examples/aust.ast index 6f8f443..ccfd5b0 100644 --- a/fzn-parser/examples/aust.ast +++ b/fzn-parser/examples/aust.ast @@ -5,15 +5,16 @@ _T > [[]|_T]. _T > [int|_T]. _T > ['X_INTRODUCED_0'|_T]. _T > [[]|_T]. -_T > [int:lit(1)|_T]. -_T > [int:lit(-1)|_T]. -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. -[Es|_T] > [array(_):alit(Es)|_T]. +_T > [lit(1,int)|_T]. +_T > [lit(-1,int)|_T]. +[E|_T] > [[E]|_T]. +[T,H|_T] > [[H|T]|_T]. +[Es|_T] > [lit(Es,array(_))|_T]. [VAL,AN,ID,T|_T] > [var(ID, array(T,1,2), VAL, AN)|_T]. [H,T|_T] > [[H|T]|_T]. _T > [int(1,3)|_T]. _T > ['wa'|_T]. -_T > [_:id('output_var')|_T]. +_T > [id('output_var')|_T]. _T > [[]|_T]. [As, E|_T] > [[E|As]|_T]. _T > [[]|_T]. @@ -21,7 +22,7 @@ _T > [[]|_T]. [H,T|_T] > [[H|T]|_T]. _T > [int(1,3)|_T]. _T > ['nt'|_T]. -_T > [_:id('output_var')|_T]. +_T > [id('output_var')|_T]. _T > [[]|_T]. [As, E|_T] > [[E|As]|_T]. _T > [[]|_T]. @@ -29,7 +30,7 @@ _T > [[]|_T]. [H,T|_T] > [[H|T]|_T]. _T > [int(1,3)|_T]. _T > ['sa'|_T]. -_T > [_:id('output_var')|_T]. +_T > [id('output_var')|_T]. _T > [[]|_T]. [As, E|_T] > [[E|As]|_T]. _T > [[]|_T]. @@ -37,7 +38,7 @@ _T > [[]|_T]. [H,T|_T] > [[H|T]|_T]. _T > [int(1,3)|_T]. _T > ['q'|_T]. -_T > [_:id('output_var')|_T]. +_T > [id('output_var')|_T]. _T > [[]|_T]. [As, E|_T] > [[E|As]|_T]. _T > [[]|_T]. @@ -45,7 +46,7 @@ _T > [[]|_T]. [H,T|_T] > [[H|T]|_T]. _T > [int(1,3)|_T]. _T > ['nsw'|_T]. -_T > [_:id('output_var')|_T]. +_T > [id('output_var')|_T]. _T > [[]|_T]. [As, E|_T] > [[E|As]|_T]. _T > [[]|_T]. @@ -53,7 +54,7 @@ _T > [[]|_T]. [H,T|_T] > [[H|T]|_T]. _T > [int(1,3)|_T]. _T > ['v'|_T]. -_T > [_:id('output_var')|_T]. +_T > [id('output_var')|_T]. _T > [[]|_T]. [As, E|_T] > [[E|As]|_T]. _T > [[]|_T]. @@ -61,7 +62,7 @@ _T > [[]|_T]. [H,T|_T] > [[H|T]|_T]. _T > [int(1,3)|_T]. _T > ['t'|_T]. -_T > [_:id('output_var')|_T]. +_T > [id('output_var')|_T]. _T > [[]|_T]. [As, E|_T] > [[E|As]|_T]. _T > [[]|_T]. @@ -69,113 +70,131 @@ _T > [[]|_T]. [H,T|_T] > [[H|T]|_T]. [X|_T] > [vars(X)|_T]. _T > [[]|_T]. -_T > [_:id('X_INTRODUCED_0')|_T]. -_T > [_:id('wa')|_T]. -_T > [_:id('nt')|_T]. -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. -[Es|_T] > [array(_):alit(Es)|_T]. -_T > [int:lit(0)|_T]. -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. +_T > [id('X_INTRODUCED_0')|_T]. +_T > [id('wa')|_T]. +_T > [id('nt')|_T]. +[E|_T] > [[E]|_T]. +[T,H|_T] > [[H|T]|_T]. +[Es|_T] > [lit(Es,array(_))|_T]. +_T > [lit(0,int)|_T]. +[E|_T] > [[E]|_T]. +[T,H|_T] > [[H|T]|_T]. +[T,H|_T] > [[H|T]|_T]. [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. _T > [[]|_T]. -[A,C,E|_T] > [constraint(C,E,A)|_T]. -[H,T|_T] > [[H|T]|_T]. -_T > [_:id('X_INTRODUCED_0')|_T]. -_T > [_:id('wa')|_T]. -_T > [_:id('sa')|_T]. -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. -[Es|_T] > [array(_):alit(Es)|_T]. -_T > [int:lit(0)|_T]. -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. +[A,C|_T] > [constraint(C,A)|_T]. +[H,T|_T] > [[H|T]|_T]. +_T > [id('X_INTRODUCED_0')|_T]. +_T > [id('wa')|_T]. +_T > [id('sa')|_T]. +[E|_T] > [[E]|_T]. +[T,H|_T] > [[H|T]|_T]. +[Es|_T] > [lit(Es,array(_))|_T]. +_T > [lit(0,int)|_T]. +[E|_T] > [[E]|_T]. +[T,H|_T] > [[H|T]|_T]. +[T,H|_T] > [[H|T]|_T]. [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. _T > [[]|_T]. -[A,C,E|_T] > [constraint(C,E,A)|_T]. -[H,T|_T] > [[H|T]|_T]. -_T > [_:id('X_INTRODUCED_0')|_T]. -_T > [_:id('nt')|_T]. -_T > [_:id('sa')|_T]. -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. -[Es|_T] > [array(_):alit(Es)|_T]. -_T > [int:lit(0)|_T]. -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. +[A,C|_T] > [constraint(C,A)|_T]. +[H,T|_T] > [[H|T]|_T]. +_T > [id('X_INTRODUCED_0')|_T]. +_T > [id('nt')|_T]. +_T > [id('sa')|_T]. +[E|_T] > [[E]|_T]. +[T,H|_T] > [[H|T]|_T]. +[Es|_T] > [lit(Es,array(_))|_T]. +_T > [lit(0,int)|_T]. +[E|_T] > [[E]|_T]. +[T,H|_T] > [[H|T]|_T]. +[T,H|_T] > [[H|T]|_T]. [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. _T > [[]|_T]. -[A,C,E|_T] > [constraint(C,E,A)|_T]. -[H,T|_T] > [[H|T]|_T]. -_T > [_:id('X_INTRODUCED_0')|_T]. -_T > [_:id('nt')|_T]. -_T > [_:id('q')|_T]. -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. -[Es|_T] > [array(_):alit(Es)|_T]. -_T > [int:lit(0)|_T]. -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. +[A,C|_T] > [constraint(C,A)|_T]. +[H,T|_T] > [[H|T]|_T]. +_T > [id('X_INTRODUCED_0')|_T]. +_T > [id('nt')|_T]. +_T > [id('q')|_T]. +[E|_T] > [[E]|_T]. +[T,H|_T] > [[H|T]|_T]. +[Es|_T] > [lit(Es,array(_))|_T]. +_T > [lit(0,int)|_T]. +[E|_T] > [[E]|_T]. +[T,H|_T] > [[H|T]|_T]. +[T,H|_T] > [[H|T]|_T]. [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. _T > [[]|_T]. -[A,C,E|_T] > [constraint(C,E,A)|_T]. -[H,T|_T] > [[H|T]|_T]. -_T > [_:id('X_INTRODUCED_0')|_T]. -_T > [_:id('sa')|_T]. -_T > [_:id('q')|_T]. -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. -[Es|_T] > [array(_):alit(Es)|_T]. -_T > [int:lit(0)|_T]. -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. +[A,C|_T] > [constraint(C,A)|_T]. +[H,T|_T] > [[H|T]|_T]. +_T > [id('X_INTRODUCED_0')|_T]. +_T > [id('sa')|_T]. +_T > [id('q')|_T]. +[E|_T] > [[E]|_T]. +[T,H|_T] > [[H|T]|_T]. +[Es|_T] > [lit(Es,array(_))|_T]. +_T > [lit(0,int)|_T]. +[E|_T] > [[E]|_T]. +[T,H|_T] > [[H|T]|_T]. +[T,H|_T] > [[H|T]|_T]. [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. _T > [[]|_T]. -[A,C,E|_T] > [constraint(C,E,A)|_T]. -[H,T|_T] > [[H|T]|_T]. -_T > [_:id('X_INTRODUCED_0')|_T]. -_T > [_:id('sa')|_T]. -_T > [_:id('nsw')|_T]. -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. -[Es|_T] > [array(_):alit(Es)|_T]. -_T > [int:lit(0)|_T]. -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. +[A,C|_T] > [constraint(C,A)|_T]. +[H,T|_T] > [[H|T]|_T]. +_T > [id('X_INTRODUCED_0')|_T]. +_T > [id('sa')|_T]. +_T > [id('nsw')|_T]. +[E|_T] > [[E]|_T]. +[T,H|_T] > [[H|T]|_T]. +[Es|_T] > [lit(Es,array(_))|_T]. +_T > [lit(0,int)|_T]. +[E|_T] > [[E]|_T]. +[T,H|_T] > [[H|T]|_T]. +[T,H|_T] > [[H|T]|_T]. [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. _T > [[]|_T]. -[A,C,E|_T] > [constraint(C,E,A)|_T]. -[H,T|_T] > [[H|T]|_T]. -_T > [_:id('X_INTRODUCED_0')|_T]. -_T > [_:id('sa')|_T]. -_T > [_:id('v')|_T]. -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. -[Es|_T] > [array(_):alit(Es)|_T]. -_T > [int:lit(0)|_T]. -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. +[A,C|_T] > [constraint(C,A)|_T]. +[H,T|_T] > [[H|T]|_T]. +_T > [id('X_INTRODUCED_0')|_T]. +_T > [id('sa')|_T]. +_T > [id('v')|_T]. +[E|_T] > [[E]|_T]. +[T,H|_T] > [[H|T]|_T]. +[Es|_T] > [lit(Es,array(_))|_T]. +_T > [lit(0,int)|_T]. +[E|_T] > [[E]|_T]. +[T,H|_T] > [[H|T]|_T]. +[T,H|_T] > [[H|T]|_T]. [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. _T > [[]|_T]. -[A,C,E|_T] > [constraint(C,E,A)|_T]. -[H,T|_T] > [[H|T]|_T]. -_T > [_:id('X_INTRODUCED_0')|_T]. -_T > [_:id('q')|_T]. -_T > [_:id('nsw')|_T]. -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. -[Es|_T] > [array(_):alit(Es)|_T]. -_T > [int:lit(0)|_T]. -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. +[A,C|_T] > [constraint(C,A)|_T]. +[H,T|_T] > [[H|T]|_T]. +_T > [id('X_INTRODUCED_0')|_T]. +_T > [id('q')|_T]. +_T > [id('nsw')|_T]. +[E|_T] > [[E]|_T]. +[T,H|_T] > [[H|T]|_T]. +[Es|_T] > [lit(Es,array(_))|_T]. +_T > [lit(0,int)|_T]. +[E|_T] > [[E]|_T]. +[T,H|_T] > [[H|T]|_T]. +[T,H|_T] > [[H|T]|_T]. [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. _T > [[]|_T]. -[A,C,E|_T] > [constraint(C,E,A)|_T]. -[H,T|_T] > [[H|T]|_T]. -_T > [_:id('X_INTRODUCED_0')|_T]. -_T > [_:id('nsw')|_T]. -_T > [_:id('v')|_T]. -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. -[Es|_T] > [array(_):alit(Es)|_T]. -_T > [int:lit(0)|_T]. -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. +[A,C|_T] > [constraint(C,A)|_T]. +[H,T|_T] > [[H|T]|_T]. +_T > [id('X_INTRODUCED_0')|_T]. +_T > [id('nsw')|_T]. +_T > [id('v')|_T]. +[E|_T] > [[E]|_T]. +[T,H|_T] > [[H|T]|_T]. +[Es|_T] > [lit(Es,array(_))|_T]. +_T > [lit(0,int)|_T]. +[E|_T] > [[E]|_T]. +[T,H|_T] > [[H|T]|_T]. +[T,H|_T] > [[H|T]|_T]. [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. _T > [[]|_T]. -[A,C,E|_T] > [constraint(C,E,A)|_T]. +[A,C|_T] > [constraint(C,A)|_T]. [H,T|_T] > [[H|T]|_T]. [X|_T] > [constrs(X)|_T]. _T > [[]|_T]. -- libgit2 0.21.2