Patent ID: 6889374

Claim:
A method of executing a scripting language, the method comprising the steps of: receiving a plurality of instructions that conform to said scripting language; wherein said scripting language defines instructions that correspond to operations that a user specifies through a graphical user interface; wherein said graphical user interface supports a plurality of user input modes; wherein interpretation of user input received through said graphical user interface is affected by the state of each user input mode of said plurality of user input modes; detecting within said plurality of instructions said at least one context, including a first context that references one or more instructions from said plurality of instructions that specify a manipulation of a graphical object that represents a geometry in a three dimensional model, identifies at least one user input mode of said plurality of user input modes, and specifies at least one state for said at least one user input mode; wherein said one or more instructions is a multi-expression context block expression including a nested context block expression referenced by a second context; wherein said first context sees a first state for a user input mode and said second context specifies a second state for said user input mode that is different than said first state; and in response to detecting within said plurality of instructions said at least one context, executing said one or more instructions based on said at least one state for said user input mode; wherein executing includes applying, in response to said detecting that said second context references said nested context block expression, said second state of said user input mode to said nested context block expression until completing executing of said nested context block expression.