%% Author: Manuel Rubio -define(IS_SPACE(X), erlang:'or'(X =:= 32, erlang:'or'(X =:= $\t, X =:= $\r) ) ). -define(IS_NEWLINE(X), X =:= $\n ). -define(IS_NUMBER(X), erlang:'and'(X >= $0, X =< $9) ). -define(IS_ALPHA(X), erlang:'or'( erlang:'and'(X >= $A, X =< $Z), erlang:'and'(X >= $a, X =< $z) ) ). -define(IS_ALPHANUM(X), erlang:'or'(?IS_NUMBER(X), ?IS_ALPHA(X))). -define(IS_HEX(X), erlang:'or'( ?IS_NUMBER(X), erlang:'or'( erlang:'and'(X >= $A, X =< $F), erlang:'and'(X >= $a, X =< $f) ) ) ). -define(IS_OCT(X), erlang:'and'(X >= $0, X =< $7)). -define(OR(I,X,Y), erlang:'or'(I =:= X, I =:= Y)). -define(IS_OP1_ARITH(X), X =:= <<"*">> orelse X =:= <<"/">> orelse X =:= <<"%">> orelse X =:= <<"+">> orelse X =:= <<"-">> orelse X =:= <<".">> orelse X =:= <<"&">> orelse X =:= <<"^">> orelse X =:= <<"|">> ). -define(IS_OP1(X), X =:= <<126>> orelse X =:= <<"@">> orelse X =:= <<"!">> orelse X =:= <<"*">> orelse X =:= <<"/">> orelse X =:= <<"%">> orelse X =:= <<"+">> orelse X =:= <<"-">> orelse X =:= <<".">> orelse X =:= <<"<">> orelse X =:= <<">">> orelse X =:= <<"&">> orelse X =:= <<"^">> orelse X =:= <<"|">> orelse X =:= <<"=">> ). -define(IS_OP2(X), X =:= <<"**">> orelse X =:= <<"++">> orelse X =:= <<"--">> orelse X =:= <<"<<">> orelse X =:= <<">>">> orelse X =:= <<"<=">> orelse X =:= <<">=">> orelse X =:= <<"==">> orelse X =:= <<"!=">> orelse X =:= <<"<>">> orelse X =:= <<"&&">> orelse X =:= <<"||">> orelse X =:= <<"??">> orelse X =:= <<"+=">> orelse X =:= <<"-=">> orelse X =:= <<"*=">> orelse X =:= <<"/=">> orelse X =:= <<".=">> orelse X =:= <<"%=">> orelse X =:= <<"&=">> orelse X =:= <<"|=">> orelse X =:= <<"^=">> orelse X =:= <<"->">> orelse X =:= <<"::">> ). -define(IS_OP3(X), X =:= <<"===">> orelse X =:= <<"!==">> orelse X =:= <<"<=>">> orelse X =:= <<"**=">> orelse X =:= <<"<<=">> orelse X =:= <<">>=">> ).