diff options
author | Tavian Barnes <tavianator@gmail.com> | 2010-03-09 12:10:33 -0500 |
---|---|---|
committer | Tavian Barnes <tavianator@gmail.com> | 2010-03-09 12:10:33 -0500 |
commit | e0f1df0155c91c61167af87aee7dd653a33409f7 (patch) | |
tree | 122f8dfecedba8502573a13afd8d1c4811a29773 /dimension/grammar.rules | |
parent | 2afc9be712c69a66833de75683cdbaa3886379f1 (diff) | |
download | dimension-e0f1df0155c91c61167af87aee7dd653a33409f7.tar.xz |
Preliminary support for global_settings.
Diffstat (limited to 'dimension/grammar.rules')
-rw-r--r-- | dimension/grammar.rules | 31 |
1 files changed, 30 insertions, 1 deletions
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 |