diff options
author | Tavian Barnes <tavianator@gmail.com> | 2010-03-20 15:55:52 -0400 |
---|---|---|
committer | Tavian Barnes <tavianator@gmail.com> | 2010-03-20 15:55:52 -0400 |
commit | ac3e97014885af00b5a2eb01df232221482db023 (patch) | |
tree | 39163e9eed2427580260d0097b1c7887bcc536a5 /dimension/common.rules | |
parent | 5da32d0dce6b8ade0b636b83f67b6244e6a56494 (diff) | |
download | dimension-ac3e97014885af00b5a2eb01df232221482db023.tar.xz |
Support max() and min().
Diffstat (limited to 'dimension/common.rules')
-rw-r--r-- | dimension/common.rules | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/dimension/common.rules b/dimension/common.rules index e5b9e67..c8e0767 100644 --- a/dimension/common.rules +++ b/dimension/common.rules @@ -453,6 +453,12 @@ ARITH_EXPR: FLOAT_LITERAL | "log" "(" ARITH_EXPR ")" { $$ = dmnsn_new_astnode1(DMNSN_AST_LOG, @$, $3); } + | "max" "(" MAX_LIST ")" { + $$ = $3; + } + | "min" "(" MIN_LIST ")" { + $$ = $3; + } | "mod" "(" ARITH_EXPR "," ARITH_EXPR ")" { $$ = dmnsn_new_astnode2(DMNSN_AST_MOD, @$, $3, $5); } @@ -501,6 +507,22 @@ ARITH_EXPR: FLOAT_LITERAL | "t" { $$ = dmnsn_new_ast_ivector(0, 0, 0, 1, 0); } ; +MAX_LIST: ARITH_EXPR "," ARITH_EXPR { + $$ = dmnsn_new_astnode2(DMNSN_AST_MAX, @$, $1, $3); + } + | MAX_LIST "," ARITH_EXPR { + $$ = dmnsn_new_astnode2(DMNSN_AST_MAX, @$, $1, $3); + } +; + +MIN_LIST: ARITH_EXPR "," ARITH_EXPR { + $$ = dmnsn_new_astnode2(DMNSN_AST_MIN, @$, $1, $3); + } + | MIN_LIST "," ARITH_EXPR { + $$ = dmnsn_new_astnode2(DMNSN_AST_MIN, @$, $1, $3); + } +; + /* Colors */ COLOR: COLOR_BODY { |