The 'name' type

The XJEase Name type is used throughout the system to mean one of the following syntaxes:

name  ::= [a-zA-Z_][0-9a-zA-Z_]*
or
name  ::= "[^"]"

This means that, in the place of a name, it is syntactically correct to use name OR "name". The quoted name is required either when the user needs a specific name to be valid even though it contains characters other than standard name characters, or where the name inserted is actually a predefined name. So the following is an error:

POWER LIST
    POWER := VCC, VDD;
    GROUND := GROUND;
END

Because 'GROUND' is a reserved keyword, the following is required instead:

POWER LIST
    POWER := VCC, VDD;
    GROUND := "GROUND";
END

N.B. Not all strings in XJEase are 'name' types. If a string is not a 'name' type, it must be in quotes.