JGrafchart uses lexical name scoping based on workspaces. A variable or object reference can be either global or local. A global reference starts with the application name and then uses dot-notation to access lower lexical layers. For example, the reference W1.M1.V1 could refer to a variable named V1 contained in the macro step M1 that in turn is found in the top-level workspace of the application named W1. A local reference is local to the lexical context in which the reference is declared. For example, a reference to V1 from a step action of a step located at the same workspace as V1 is simply written as "V1". During symbol lookup the search begins at the lexical context of the expression. If a matching object is found, the lookup is completed, If not, the search continues at the next higher lexical level, in this example the top-level workspace of the application named W1. The effect of this is that names on a lower lexical level hide the same names on higher lexical levels, in the same way as in ordinary lexically scoped programming languages. It is also possible to use dot-notation to reference the internal parts of object groups.
All objects share the same namespace, i.e. looking up a reference simply returns the first object with the correct name.