~ubuntu-branches/ubuntu/utopic/dicelab/utopic

« back to all changes in this revision

Viewing changes to symtab.tc

  • Committer: Bazaar Package Importer
  • Author(s): Robert Lemmen
  • Date: 2007-12-10 17:06:15 UTC
  • Revision ID: james.westby@ubuntu.com-20071210170615-q1av8grz0vjiv397
Tags: upstream-0.5
ImportĀ upstreamĀ versionĀ 0.5

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
%decls %{
 
2
struct symtab {
 
3
        char *name;
 
4
        union {
 
5
                struct roll_value *rvalue;
 
6
                struct val_list *lvalue; 
 
7
        };
 
8
        struct symtab *next;
 
9
};
 
10
%}
 
11
 
 
12
%operation %virtual void set_symtab(expression *this, struct symtab *st)
 
13
 
 
14
set_symtab(elist) 
 
15
{
 
16
}
 
17
 
 
18
set_symtab(number) 
 
19
{
 
20
}
 
21
 
 
22
set_symtab(variable) 
 
23
{
 
24
        this->symtab = st;
 
25
}
 
26
 
 
27
set_symtab(unary) 
 
28
{
 
29
        this->symtab = st;
 
30
        set_symtab(this->expr, st);
 
31
}
 
32
 
 
33
set_symtab(binary) 
 
34
{
 
35
        this->symtab = st;
 
36
        set_symtab(this->expr1, st);
 
37
        set_symtab(this->expr2, st);
 
38
}
 
39
 
 
40
set_symtab(ifthenelse) 
 
41
{
 
42
        this->symtab = st;
 
43
        set_symtab(this->if_expr, st);
 
44
        set_symtab(this->then_expr, st);
 
45
        set_symtab(this->else_expr, st);
 
46
}