Current section
Files
Jump to
Current section
Files
include/efene.hrl
% sequence
-define(S(Line, Type, Val), {seq, Line, Type, Val}).
% val
-define(V(Line, Type, Val), {val, Line, Type, Val}).
% expression
-define(E(Line, Type, Val), {expr, Line, Type, Val}).
% operation
-define(O(Line, Type, Left, Right), {op, Line, Type, Left, Right}).
% unary operation
-define(UO(Line, Type, Val), {unary_op, Line, Type, Val}).
% tag
-define(T(Line, Tag, Val), {tag, Line, Tag, Val}).
% ltag
-define(LTag(Line, Path, Val), {ltag, Line, Path, Val}).
-define(Atom(Val), ?V(_, atom, Val)).
-define(Atom(Line, Val), ?V(Line, atom, Val)).
-define(Var(Val), ?V(_, var, Val)).
-define(Var(Line, Val), ?V(Line, var, Val)).
-define(Int(Val), ?V(_, integer, Val)).
-define(Int(Line, Val), ?V(Line, integer, Val)).
-define(Type(Line), [?V(Line, atom, type)]).
-define(Spec(Line), [?V(Line, atom, spec)]).