expressions

reporter grammar version 47

'parameter initializers' [ arguments: ] collection
(
	'type' [ : ] stategroup
	(
		'number' [ number ]
			'expression' [ = ] component 'number expression'
		'text' [ text ]
			'expression' [ = ] component 'text expression'
	)
)
'number expression'
	'type' stategroup
	(
		'static value'
			'value' number
		'dynamic value'
			'source' stategroup
			(
				'clock' [ now ]
			)
		'sub expression' [ (, ) ]
			'left' component 'number expression'
			'operator' stategroup
			(
				'addition'       [ + ]
				'subtraction'    [ - ]
				'multiplication' [ * ]
				'division'       [ / ]
			)
			'right' component 'number expression'
	)
'text expression'
	'type' stategroup
	(
		'static value'
			'value' text
	)