7fd59977 |
1 | -- File: GenExp.cdl |
2 | -- Created: Thu Jul 18 18:13:12 1991 |
3 | -- Author: Arnaud BOUZY |
4 | -- <adn@topsn2> |
5 | ---Copyright: Matra Datavision 1991 |
6 | |
7 | |
8 | class GenExp from ExprIntrp inherits Generator from ExprIntrp |
9 | |
10 | ---Purpose: This class permits, from a string, to create any |
11 | -- kind of expression of package Expr by using |
12 | -- built-in functions such as Sin,Cos, etc, and by |
13 | -- creating variables. |
14 | |
15 | uses GeneralExpression from Expr, |
16 | AsciiString from TCollection |
17 | |
18 | raises NoSuchObject |
19 | |
20 | is |
21 | |
22 | Create |
23 | ---Purpose: Creates an empty generator |
24 | ---Level: Advanced |
25 | returns mutable GenExp is private; |
26 | |
27 | Create( myclass ) returns GenExp; |
28 | |
29 | Process(me : mutable; str : AsciiString) |
30 | ---Purpose: Processes given string. |
31 | ---Level: Advanced |
32 | is static; |
33 | |
34 | IsDone(me) |
35 | ---Purpose: Returns false if any syntax error has occurred during |
36 | -- process. |
37 | ---Level: Advanced |
38 | returns Boolean |
39 | is static; |
40 | |
41 | Expression(me) |
42 | ---Purpose: Returns expression generated. Raises an exception if |
43 | -- IsDone answers false. |
44 | ---Level: Advanced |
45 | returns any GeneralExpression |
46 | raises NoSuchObject |
47 | is static; |
48 | |
49 | fields |
50 | |
51 | done : Boolean; |
52 | myExpression : GeneralExpression; |
53 | |
54 | end GenExp; |