From e0f1df0155c91c61167af87aee7dd653a33409f7 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Tue, 9 Mar 2010 12:10:33 -0500 Subject: Preliminary support for global_settings. --- dimension/grammar.rules | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) (limited to 'dimension/grammar.rules') diff --git a/dimension/grammar.rules b/dimension/grammar.rules index af8a5de..25f8a3c 100644 --- a/dimension/grammar.rules +++ b/dimension/grammar.rules @@ -30,11 +30,40 @@ SCENE: /* empty */ ; /* Top-level scene item */ -SCENE_ITEM: ATMOSPHERIC_EFFECT +SCENE_ITEM: GLOBAL_SETTINGS + | ATMOSPHERIC_EFFECT | CAMERA | OBJECT ; +/* Global settings */ + +GLOBAL_SETTINGS: "global_settings" "{" + GLOBAL_SETTINGS_ITEMS + "}" + { + $$ = $3; + } +; + +GLOBAL_SETTINGS_ITEMS: /* empty */ { + $$ = dmnsn_new_astnode(DMNSN_AST_GLOBAL_SETTINGS, @$); + } + | GLOBAL_SETTINGS_ITEMS GLOBAL_SETTINGS_ITEM { + $$ = $1; + dmnsn_array_push($$.children, &$2); + } +; + +GLOBAL_SETTINGS_ITEM: "assumed_gamma" FLOAT { + $$ = dmnsn_new_astnode1(DMNSN_AST_ASSUMED_GAMMA, @$, $2); + } + | "max_trace_level" FLOAT { + $$ = dmnsn_new_astnode1(DMNSN_AST_MAX_TRACE_LEVEL, + @$, $2); + } +; + /* Atmospheric effects */ ATMOSPHERIC_EFFECT: BACKGROUND -- cgit v1.2.3