An identifier is a sequence of ASCII alphabetic, digit, and
underscore (_
) characters. The first character must be an
ASCII alphabetic character.
(105) identifier ::= "[A-Za-z-][A-Za-z0-9-]*" | "s" | "ms" | "us" | "k" | "m" | "real-time" | "interface" | "component" | "ids" | "attribute" | "function" | "activity" | "version" | "lang" | "email" | "requires" | "codels-require" | "clock-rate" | "task" | "task" | "period" | "delay" | "priority" | "scheduling" | "stack" | "codel" | "validate" | "yields" | "throws" | "doc" | "interrupts" | "before" | "after" | "handle" | "port" | "in" | "out" | "inout" | "local" | "async" | "remote" | "extends" | "provides" | "uses" | "multiple" | "native" | EXCEPTION
(106) identifier-list ::= { identifier "," } identifier
Words that are reserved keywords in the dotgen language are valid identifiers where their use is not ambiguous.