-
Notifications
You must be signed in to change notification settings - Fork 0
Domain and Subsystem Grammar
Leon Starr edited this page Jul 23, 2026
·
3 revisions
We create a separate xcm file for each subsystem within a domain. Since the example Elevator Management domain consists of only one subsystem, the domain specifies only one xcm file.
Before we get to the class section, we specify the domain and subsystem of this xcm file.
domain Elevator Management, EVMAN
subsystem Elevator, ELEV 1-99
The grammar for the two combined lines is the subsystem term (which includes the domain line):
subsystem = EOL* metadata? domain_header subsystem_header class_set rel_section? EOF
domain_header = "domain" SP domain_name domain_alias EOL* // Declares the name of the domain
domain_name = icaps_name
domain_alias = ',' SP acword
subsystem_header = "subsystem" SP subsystem_name subsystem_alias SP num_range EOL* // Declares the name of the subsystem
subsystem_name = icaps_name
subsystem_alias = ',' SP acword
num_range = ordinal '-' ordinal
See the side bar for a detailed breakdown of each of the two lines.
Copyright 2023-2026 © Leon Starr under MIT Open Source License