path64/assembler — pull request #4 by houyunqing (2012-04-06 09:19:34+00:00)
Title: Added features

1. The ?!: ternary conditional operator supported
2. The ! logical not operator supported
3. New preprocessor directive %definex. This allows convenient concatenation of pp variables to form new variable, eg:
%define p1 aa
%define p2 bb
%define p3 cc
%definex p1 %+ p2 %+ p3 value; defines aabbcc to value
To achieve the above, the entire part after %definex is fully expanded using expand_smacro()

4. preprocessor if directives can now be joined on the same line using {%if_dir} as an expression that evaluates to either one or zero:
%if 1 && {%ifdef undefined_var} ; this will give 1 && 0 = 0
%if {%ifstr abc} || {%if {%ifnstr abc} && 1}; {%if_dir} can be nested in a {%if }expression