Multiple Linear Regression Analysis DEFINITION OF THE SYNTAX OF A USER PROGRAM The syntax of a user program is defined in an extended version of a notation known as the Backus Naur Form (BNF). The extensions comprise an explicit repetition and optionality construct together with the possibility of factorization. The BNF may be regarded as a metalanguage for the description of a user program. In addition to the symbols that are admissible in a user program, the metalanguage requires a number of extra symbols, called metasymbols. The ten metasymbols used in extended BNF are: ::=, |, <, >, {, }, [, ], ( and ). The , and . are part of the metalanguage English in which we are describing BNF. We write: ::= ['+' | '-'] { ('+' | '-') } The metasymbols < and > are used as delimiters to enclose the name of a class. The metasymbol ::= may be read as 'is defined as' or as 'consists of'. The metasymbol | is read as 'or'. Repetition is denoted by curly brackets, i.e. { a } stands for e | a | aa | ... Optionality is expressed by square brackets, i.e. [ a ] stands for e | a. Parentheses merely serve for grouping (factorization) i.e. (a | b) c stands for ab | ac. Terminal symbols appear enclosed in single apostrophes. The above phrase defines an expression as a term, optionally preceeded by a '+' or a '-' and followed by an arbitrary repetition of terms, each preceeded by a '+' or a '-'. The syntax of a user program can thus be defined as follows: ::= 'A'|'B'|'C'|'D'|'E'|'F'|'G'|'H'|'I'|'J'|'K'|'L'|'M'| 'N'|'O'|'P'|'Q'|'R'|'S'|'T'|'U'|'V'|'W'|'X'|'Y'|'Z'| 'a'|'b'|'c'|'d'|'e'|'f'|'g'|'h'|'i'|'j'|'k'|'l'|'m'| 'n'|'o'|'p'|'q'|'r'|'s'|'t'|'u'|'v'|'w'|'x'|'y'|'z' ::= '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' ::= '"Model"' | '"MO"' ::= '"Input"' | '"IN"'