annotate trunk/src/SyntaxTree.d @ 242:7ec7ad8df9da

- Changed type of member tok in class BinaryExpression to Token*. - Added method set() to Parser. - Classes Parameter and Parameters inherit from Node now. - Added member stcTok to Parameter. Changed constructor accordingly. - Added member Other to enum NodeType. - Added local variable 'begin' to many parse functions. Also calling the set() method to set the begin and end token for the parsed object. - Fix: in some cases parsing AAs would cause getting caught in an infinite loop.
author aziz
date Wed, 01 Aug 2007 10:12:01 +0000
parents b1060d432e5e
children 32d354584b28
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
142
50251b408965 - Added module SyntaxTree.
aziz
parents:
diff changeset
1 /++
50251b408965 - Added module SyntaxTree.
aziz
parents:
diff changeset
2 Author: Aziz Köksal
50251b408965 - Added module SyntaxTree.
aziz
parents:
diff changeset
3 License: GPL2
50251b408965 - Added module SyntaxTree.
aziz
parents:
diff changeset
4 +/
50251b408965 - Added module SyntaxTree.
aziz
parents:
diff changeset
5 module SyntaxTree;
189
b1060d432e5e - Added some members to class Node.
aziz
parents: 142
diff changeset
6 import Token;
142
50251b408965 - Added module SyntaxTree.
aziz
parents:
diff changeset
7
50251b408965 - Added module SyntaxTree.
aziz
parents:
diff changeset
8 enum NodeType
50251b408965 - Added module SyntaxTree.
aziz
parents:
diff changeset
9 {
50251b408965 - Added module SyntaxTree.
aziz
parents:
diff changeset
10 Declaration,
50251b408965 - Added module SyntaxTree.
aziz
parents:
diff changeset
11 Statement,
50251b408965 - Added module SyntaxTree.
aziz
parents:
diff changeset
12 Expression,
242
7ec7ad8df9da - Changed type of member tok in class BinaryExpression to Token*.
aziz
parents: 189
diff changeset
13 Type,
7ec7ad8df9da - Changed type of member tok in class BinaryExpression to Token*.
aziz
parents: 189
diff changeset
14 Other
142
50251b408965 - Added module SyntaxTree.
aziz
parents:
diff changeset
15 }
50251b408965 - Added module SyntaxTree.
aziz
parents:
diff changeset
16
50251b408965 - Added module SyntaxTree.
aziz
parents:
diff changeset
17 class Node
50251b408965 - Added module SyntaxTree.
aziz
parents:
diff changeset
18 {
50251b408965 - Added module SyntaxTree.
aziz
parents:
diff changeset
19 NodeType nodeType;
189
b1060d432e5e - Added some members to class Node.
aziz
parents: 142
diff changeset
20 Token* begin, end;
b1060d432e5e - Added some members to class Node.
aziz
parents: 142
diff changeset
21
142
50251b408965 - Added module SyntaxTree.
aziz
parents:
diff changeset
22 this(NodeType nodeType)
50251b408965 - Added module SyntaxTree.
aziz
parents:
diff changeset
23 {
50251b408965 - Added module SyntaxTree.
aziz
parents:
diff changeset
24 this.nodeType = nodeType;
50251b408965 - Added module SyntaxTree.
aziz
parents:
diff changeset
25 }
189
b1060d432e5e - Added some members to class Node.
aziz
parents: 142
diff changeset
26
b1060d432e5e - Added some members to class Node.
aziz
parents: 142
diff changeset
27 void setTokens(Token* begin, Token* end)
b1060d432e5e - Added some members to class Node.
aziz
parents: 142
diff changeset
28 {
b1060d432e5e - Added some members to class Node.
aziz
parents: 142
diff changeset
29 this.begin = begin;
b1060d432e5e - Added some members to class Node.
aziz
parents: 142
diff changeset
30 this.end = end;
b1060d432e5e - Added some members to class Node.
aziz
parents: 142
diff changeset
31 }
142
50251b408965 - Added module SyntaxTree.
aziz
parents:
diff changeset
32 }