From e51389d68ef2e152054d987d7a99930bce180954 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Tue, 23 Mar 2010 17:35:53 -0400 Subject: Implement macro support. --- dimension/grammar.epilogue | 90 +++++++++++++++++++++++----------------------- 1 file changed, 46 insertions(+), 44 deletions(-) (limited to 'dimension/grammar.epilogue') diff --git a/dimension/grammar.epilogue b/dimension/grammar.epilogue index 6393044..a61aff5 100644 --- a/dimension/grammar.epilogue +++ b/dimension/grammar.epilogue @@ -180,52 +180,52 @@ dmnsn_astnode_string(dmnsn_astnode_type astnode_type) dmnsn_astnode_map(DMNSN_AST_NOT, "!" ); dmnsn_astnode_map(DMNSN_AST_TERNARY, "?:"); - dmnsn_astnode_map(DMNSN_AST_ABS, "abs" ); - dmnsn_astnode_map(DMNSN_AST_ACOS, "acos" ); - dmnsn_astnode_map(DMNSN_AST_ACOSH, "acosh" ); - dmnsn_astnode_map(DMNSN_AST_ASC, "asc" ); - dmnsn_astnode_map(DMNSN_AST_ASIN, "asin" ); - dmnsn_astnode_map(DMNSN_AST_ASINH, "asinh" ); - dmnsn_astnode_map(DMNSN_AST_ATAN, "atan" ); - dmnsn_astnode_map(DMNSN_AST_ATAN2, "atan2" ); - dmnsn_astnode_map(DMNSN_AST_ATANH, "atanh" ); - dmnsn_astnode_map(DMNSN_AST_CEIL, "ceil" ); - dmnsn_astnode_map(DMNSN_AST_COS, "cos" ); - dmnsn_astnode_map(DMNSN_AST_COSH, "cosh" ); - dmnsn_astnode_map(DMNSN_AST_DEGREES, "degrees" ); - dmnsn_astnode_map(DMNSN_AST_INT_DIV, "div" ); - dmnsn_astnode_map(DMNSN_AST_EXP, "exp" ); - dmnsn_astnode_map(DMNSN_AST_FLOOR, "floor" ); - dmnsn_astnode_map(DMNSN_AST_INT, "int" ); - dmnsn_astnode_map(DMNSN_AST_LN, "ln" ); - dmnsn_astnode_map(DMNSN_AST_LOG, "log" ); - dmnsn_astnode_map(DMNSN_AST_MAX, "max" ); - dmnsn_astnode_map(DMNSN_AST_MIN, "min" ); - dmnsn_astnode_map(DMNSN_AST_MOD, "mod" ); - dmnsn_astnode_map(DMNSN_AST_POW, "pow" ); - dmnsn_astnode_map(DMNSN_AST_RADIANS, "radians" ); - dmnsn_astnode_map(DMNSN_AST_SIN, "sin" ); - dmnsn_astnode_map(DMNSN_AST_SINH, "sinh" ); - dmnsn_astnode_map(DMNSN_AST_SQRT, "sqrt" ); - dmnsn_astnode_map(DMNSN_AST_STRCMP, "strcmp" ); - dmnsn_astnode_map(DMNSN_AST_STRLEN, "strlen" ); - dmnsn_astnode_map(DMNSN_AST_TAN, "tan" ); - dmnsn_astnode_map(DMNSN_AST_TANH, "tanh" ); - dmnsn_astnode_map(DMNSN_AST_VAL, "val" ); + dmnsn_astnode_map(DMNSN_AST_ABS, "abs"); + dmnsn_astnode_map(DMNSN_AST_ACOS, "acos"); + dmnsn_astnode_map(DMNSN_AST_ACOSH, "acosh"); + dmnsn_astnode_map(DMNSN_AST_ASC, "asc"); + dmnsn_astnode_map(DMNSN_AST_ASIN, "asin"); + dmnsn_astnode_map(DMNSN_AST_ASINH, "asinh"); + dmnsn_astnode_map(DMNSN_AST_ATAN, "atan"); + dmnsn_astnode_map(DMNSN_AST_ATAN2, "atan2"); + dmnsn_astnode_map(DMNSN_AST_ATANH, "atanh"); + dmnsn_astnode_map(DMNSN_AST_CEIL, "ceil"); + dmnsn_astnode_map(DMNSN_AST_COS, "cos"); + dmnsn_astnode_map(DMNSN_AST_COSH, "cosh"); + dmnsn_astnode_map(DMNSN_AST_DEGREES, "degrees"); + dmnsn_astnode_map(DMNSN_AST_INT_DIV, "div"); + dmnsn_astnode_map(DMNSN_AST_EXP, "exp"); + dmnsn_astnode_map(DMNSN_AST_FLOOR, "floor"); + dmnsn_astnode_map(DMNSN_AST_INT, "int"); + dmnsn_astnode_map(DMNSN_AST_LN, "ln"); + dmnsn_astnode_map(DMNSN_AST_LOG, "log"); + dmnsn_astnode_map(DMNSN_AST_MAX, "max"); + dmnsn_astnode_map(DMNSN_AST_MIN, "min"); + dmnsn_astnode_map(DMNSN_AST_MOD, "mod"); + dmnsn_astnode_map(DMNSN_AST_POW, "pow"); + dmnsn_astnode_map(DMNSN_AST_RADIANS, "radians"); + dmnsn_astnode_map(DMNSN_AST_SIN, "sin"); + dmnsn_astnode_map(DMNSN_AST_SINH, "sinh"); + dmnsn_astnode_map(DMNSN_AST_SQRT, "sqrt"); + dmnsn_astnode_map(DMNSN_AST_STRCMP, "strcmp"); + dmnsn_astnode_map(DMNSN_AST_STRLEN, "strlen"); + dmnsn_astnode_map(DMNSN_AST_TAN, "tan"); + dmnsn_astnode_map(DMNSN_AST_TANH, "tanh"); + dmnsn_astnode_map(DMNSN_AST_VAL, "val"); dmnsn_astnode_map(DMNSN_AST_VAXIS_ROTATE, "vaxis_rotate"); - dmnsn_astnode_map(DMNSN_AST_VCROSS, "vcross" ); - dmnsn_astnode_map(DMNSN_AST_VDOT, "vdot" ); - dmnsn_astnode_map(DMNSN_AST_VLENGTH, "vlength" ); - dmnsn_astnode_map(DMNSN_AST_VNORMALIZE, "vnormalize" ); - dmnsn_astnode_map(DMNSN_AST_VROTATE, "vrotate" ); - - dmnsn_astnode_map(DMNSN_AST_PI, "pi" ); - dmnsn_astnode_map(DMNSN_AST_TRUE, "true" ); + dmnsn_astnode_map(DMNSN_AST_VCROSS, "vcross"); + dmnsn_astnode_map(DMNSN_AST_VDOT, "vdot"); + dmnsn_astnode_map(DMNSN_AST_VLENGTH, "vlength"); + dmnsn_astnode_map(DMNSN_AST_VNORMALIZE, "vnormalize"); + dmnsn_astnode_map(DMNSN_AST_VROTATE, "vrotate"); + + dmnsn_astnode_map(DMNSN_AST_PI, "pi"); + dmnsn_astnode_map(DMNSN_AST_TRUE, "true"); dmnsn_astnode_map(DMNSN_AST_FALSE, "false"); - dmnsn_astnode_map(DMNSN_AST_X, "x" ); - dmnsn_astnode_map(DMNSN_AST_Y, "y" ); - dmnsn_astnode_map(DMNSN_AST_Z, "z" ); - dmnsn_astnode_map(DMNSN_AST_T, "t" ); + dmnsn_astnode_map(DMNSN_AST_X, "x"); + dmnsn_astnode_map(DMNSN_AST_Y, "y"); + dmnsn_astnode_map(DMNSN_AST_Z, "z"); + dmnsn_astnode_map(DMNSN_AST_T, "t"); dmnsn_astnode_map(DMNSN_AST_NEGATE, "-"); dmnsn_astnode_map(DMNSN_AST_DOT_X, ".x"); @@ -240,6 +240,8 @@ dmnsn_astnode_string(dmnsn_astnode_type astnode_type) dmnsn_astnode_map(DMNSN_AST_ARRAY, "array"); + dmnsn_astnode_map(DMNSN_AST_MACRO, "macro"); + default: fprintf(stderr, "Warning: unrecognised astnode type %d.\n", (int)astnode_type); -- cgit v1.2.3