Get access

Generalized Use of Non-Terminal Symbols for Procedural Modeling



We present the new procedural modeling languageinline image(Generalized Grammar), which adapts various concepts from general purpose programming languages to provide high descriptive power with well-defined semantics and a simple syntax which is easily readable even by non-programmers. The term ‘Generalized’ reflects two kinds of generalization. On the one hand, we extend the scope of previous architectural modeling languages by allowing for multiple types of non-terminal objects with domain-specific operators and attributes. On the other hand, the language accepts non-terminal symbols as parameters in modeling rules and thus enables the definition of abstract structure templates for flexible re-use within the grammar. By derivinginline imagefrom the well-established programming language Python, we can make sure that our modeling language has a well-defined semantics. For illustration, we applyinline imageto architectural as well as plant modeling to demonstrate its descriptive power with some complex examples.