| "iterator" when in_meta -> check_arity_context_linetype s; TIterator
| "name" when in_meta -> check_arity_context_linetype s; TName
| "position" when in_meta -> check_arity_context_linetype s; TPosition
+ | "analysis" when in_meta -> check_arity_context_linetype s; TAnalysis
| "any" when in_meta -> check_arity_context_linetype s; TPosAny
| "pure" when in_meta && in_iso ->
check_arity_context_linetype s; TPure
add_current_line_type D.MINUS; token lexbuf) }
| '/' { start_line true;
TDmOp (Ast.Div,get_current_line_type lexbuf) }
+ | "<?" { start_line true;
+ TDmOp (Ast.Min,get_current_line_type lexbuf) }
+ | ">?" { start_line true;
+ TDmOp (Ast.Max,get_current_line_type lexbuf) }
| '%' { start_line true;
TDmOp (Ast.Mod,get_current_line_type lexbuf) }
| '~' { start_line true; TTilde (get_current_line_type lexbuf) }
| "&=" { start_line true; mkassign Ast.And lexbuf }
| "|=" { start_line true; mkassign Ast.Or lexbuf }
| "^=" { start_line true; mkassign Ast.Xor lexbuf }
+ | ">?=" { start_line true; mkassign Ast.Max lexbuf }
+ | "<?=" { start_line true; mkassign Ast.Min lexbuf }
| "<<=" { start_line true; mkassign Ast.DecLeft lexbuf }
| ">>=" { start_line true; mkassign Ast.DecRight lexbuf }