1. A method of processing a mathematical function input by a user, comprising: receiving input from a user defining a mathematical function including a set of terminal tokens and non-terminal tokens, wherein a non-terminal token is reducible to at least one terminal token; reducing the non-terminal tokens into terminal tokens; parsing the terminal tokens to identify any syntax errors in the input from the user, wherein the identification of a syntax error will cause a notification to be provided to the user; parsing the terminal tokens into predefined tokens and user definable tokens, wherein user definable tokens are definable only by the user; parsing the user definable tokens into defined user definable tokens and undefined user definable tokens, the defined user definable tokens having been previously fully defined by the user and undefined user definable tokens having not been previously defined by the user; displaying each undefined user definable token to the user; and receiving a token definition from the user for each undefined user definable token and associating the received token definition with the respective undefined user definable token, wherein the association causes the undefined user definable token to become a new defined user definable token and the received token definition is persistently associated with all instances of the new defined user definable token, wherein each token in the function is parsed such that the mathematical function can be processed to obtain a desired result.
1. A method of processing a mathematical function input by a user, comprising: receiving input from a user defining a mathematical function including a set of terminal tokens and non-terminal tokens, wherein a non-terminal token is reducible to at least one terminal token; reducing the non-terminal tokens into terminal tokens; parsing the terminal tokens to identify any syntax errors in the input from the user, wherein the identification of a syntax error will cause a notification to be provided to the user; parsing the terminal tokens into predefined tokens and user definable tokens, wherein user definable tokens are definable only by the user; parsing the user definable tokens into defined user definable tokens and undefined user definable tokens, the defined user definable tokens having been previously fully defined by the user and undefined user definable tokens having not been previously defined by the user; displaying each undefined user definable token to the user; and receiving a token definition from the user for each undefined user definable token and associating the received token definition with the respective undefined user definable token, wherein the association causes the undefined user definable token to become a new defined user definable token and the received token definition is persistently associated with all instances of the new defined user definable token, wherein each token in the function is parsed such that the mathematical function can be processed to obtain a desired result. 4. The method of claim 1 , wherein displaying comprises providing a means for defining the undefined user definable token.