- | 1,Gramext.LeftA -> Ast.TermVar (s, None) (*Ast.TermVar (s, Some
- (level-1)) *)
- | 1,Gramext.RightA -> Ast.TermVar (s, None)
- | 2,Gramext.LeftA ->Ast.TermVar (s, None)
- | 2,Gramext.RightA -> Ast.TermVar (s, Some (level-1))
+ | 1,Gramext.LeftA ->
+ Ast.Variable (Ast.TermVar (s, Ast.Self level))
+ | 1,Gramext.RightA ->
+ Ast.Variable (Ast.TermVar (s, Ast.Self (level+1)))
+ | 2,Gramext.LeftA ->
+ Ast.Variable (Ast.TermVar (s, Ast.Self (level+1)))
+ | 2,Gramext.RightA ->
+ Ast.Variable (Ast.TermVar (s, Ast.Level (level-1)))