A regular expression for a nesC identifier A regular expression for a nesC identifier path separated by `.' (used, e.g., for component instance names) A regular expression for a C base type (e.g., unsigned long) The regular expression for an integer The regular expression for a real number A boolean value (we mostly use presence of an attribute to indicate boolean properites, but there are a few exceptions which use this stringtype instead - mostly to denote binary properties (used vs provided, e.g.) rather than options The regular expression for the "ref" attribute used to refer to uniquely identify definitions of various items The regular expression for an empty string The regular expression for a nesC constant. This has the following basic format X:val, where X represents the kind of constant and val it's value. X is I for integers, F for floats, S for strings, U for unknown, and V for variable (not constant) Regular expression for a file location (and an optional instantiation path for locations in generic components) Occasionally, some locations are unknown (e.g., for predefined nesC attributes) Line number, never actually negative An optional generic component instantiation path Filename