Concrete and global syntax properties

You can set concrete syntax properties on different types and elements. Some properties apply to more than one type or element of the abstract syntax. You can also set two global language properties in the concrete syntax. These properties are not attached to a particular abstract syntax type.

Concrete syntax properties for types and element

The following table shows all the properties that are available in the concrete syntax, and the types and elements to which they apply.
Table 1. Concrete syntax properties and the types and elements on which they can be set
Property Sequence type Choice type Terminal type Element of a choice type Element of a sequence type: Only once Element of a sequence type: Optional Element of a sequence type: Multiple Element of a sequence type: Optional multiple
newline Check Check Check Check Check Check Check
indent Check Check Check Check Check Check Check
style Check Check Check Check Check Check Check
menuText Check Check Check Check
text Check Check Check Check
separator Check Check
separatorNewline Check Check
separatorIndent Check Check
default Check Check
present Check Check
emptyText Check Check
choiceType Check
blocking Check
merge   Check   Check        
meta   Check            
fixedText   Check            
deprecated       Check        
toolTip           Check Check Check
label             Check Check
tokenClass     Check          
generatorText             Check Check
generatorNewline             Check Check
generatorIndent             Check Check
optionalText               Check
optionalPrefix               Check

Global properties

Neither of these properties are attached to a particular type of the abstract syntax, so they are not prefixed with a type name:
  • semanticContextExtension

  • translatorClass

If you want to use alternate names in the choice lists, set the useAlternateNames property to the following in the concrete syntax:

useAlternateNames = true.