Krecklau, L.Pavic, D.Kobbelt, L.2015-02-232015-02-2320101467-8659https://doi.org/10.1111/j.1467-8659.2010.01714.xWe present the new procedural modeling language, (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 deriving, from the well-established programming language Python, we can make sure that our modeling language has a well-defined semantics. For illustration, we apply, to architectural as well as plant modeling to demonstrate its descriptive power with some complex examples.Generalized Use of Non-Terminal Symbols for Procedural Modeling10.1111/j.1467-8659.2010.01714.x2291-2303