From 6437ab96674accfb5d5d85066e58d20887c926d7 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Sun, 18 Apr 2010 17:42:48 -0400 Subject: Support objects in object{} blocks. --- dimension/common.rules | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'dimension/common.rules') diff --git a/dimension/common.rules b/dimension/common.rules index a50d800..cba3669 100644 --- a/dimension/common.rules +++ b/dimension/common.rules @@ -176,6 +176,28 @@ OBJECT: FINITE_SOLID_OBJECT } } } + | "object" "{" + OBJECT + OBJECT_MODIFIERS + "}" + { + $$ = $3; + + dmnsn_astnode modifiers; + dmnsn_array_get($$.children, + dmnsn_array_size($$.children) - 1, + &modifiers); + + unsigned int i; + for (i = 0; i < dmnsn_array_size($4.children); ++i) { + dmnsn_astnode astnode; + dmnsn_array_get($4.children, i, &astnode); + ++*astnode.refcount; + dmnsn_array_push(modifiers.children, &astnode); + } + + dmnsn_delete_astnode($4); + } ; FINITE_SOLID_OBJECT: BOX -- cgit v1.2.3