|
Language
Specification
|
||
|
INTRODUCTION: This is specification for the language used to represent requirements in the database. Compliance to the standards below will ensure proper handling of the requirements by the Processor Class. |
||
|
OPERATORS: [ | ] - has the meanings:
additive_OR is used only for expressing relationship between terms in Expressions with a credit requirement [ *] - has the meaning:
[ () ] - has the meaning:
only single nesting of brackets is allowed [ L ] - has the meaning:
[ ^ ] - has the meaning:
|
||
|
TERMINOLOGY:
Example:
There are two types of Expressions - with a credit requirement and without a credit requirement. The first one can be seen in the MAJOR_REQ table in the database. Example:
The second type is seen in PreReqList field in the COURSES table in the database. Example:
A Term is a sequence of courses and operators, which define the relationship between the courses. It can be a single course, or a list of courses in brackets. Example:
The Expresion must be in normal form in order to be evaluated correctly. Normal form is defined as follows: An Expression is a sequence of terms in the same relation (the same operator delimits all terms in the expression). Example:
This rule is imposed to prevent multiple nesting of terms within terms and to prevent ambiguity for the precedence of the operators. All courses within a term are in the same relation. Example:
For relationships between terms in an Expression with credits | means additive_OR. Within terms and Expressions without credits | means boolean_OR. Example:
|