-
Notifications
You must be signed in to change notification settings - Fork 0
Class name
A class population starts with the name of the class being populated, unindented and alone on its line:
Accessible Shaft Level
Shaft | Floor | Bank | Stop requested
--
{ [S6] [PH] [Freight] [false] } > NOT REQUESTED
--
The grammar is a single term:
class_name = icaps_name EOL
So the name is an icaps_name: one or more words separated
by single spaces or underscores with the first letter of the first word uppercase. By convention every word in
a class name starts with an uppercase letter, with the exception of interstitial minor words like and or
of, which matches the convention used for
class names in the xcm file.
Only single spaces are accepted between the words of a name. Accessible Shaft Level with two spaces will not
parse, so you cannot pad class names to line them up.
The name should be the full class name as spelled in the xcm class model file for the domain. The parser does not read the xcm file, so it cannot verify this. It passes the name through verbatim as the key identifying the population in its result, which means the execution engine consuming the result is what ultimately has to recognize the name.
Nothing in the grammar prevents you from using the class alias declared in the xcm file — ASLEV parses just
as happily as Accessible Shaft Level, since an all caps word is a valid icaps_name. Whether the consumer
accepts an alias is up to the consumer, so prefer the full name unless you know otherwise.
Copyright 2025-2026 © Leon Starr under MIT Open Source License