@table(Name, Operator) scene_operator_table: { { Invalid, "###" } { Not, "!" } { Equal, "=" } { Equals, "==" } { NotEquals, "!=" } { GreaterThanOrEquals, ">=" } { LessThanOrEquals, "<=" } { Greater, ">" } { Less, "<" } { Add, "+" } { Minus, "-" } { Multiply "*" } { Divide, "/" } } @table_gen { `enum scene_operator`; `{`; @expand(scene_operator_table s) `S_Operator_$(s.Name),`; `};`; } @table_gen { `inline scene_operator S_OperatorFromString(string String)`; `{`; `scene_operator Result = S_Operator_Invalid;`; `if(0) {}`; @expand(scene_operator_table s) `else if(AreEqual(String, StrLit("$(s.Operator)")))$(=>40) { Result = S_Operator_$(s.Name); }`; `return(Result);`;; `}`; }