~ubuntu-branches/ubuntu/lucid/graphviz/lucid-security

« back to all changes in this revision

Viewing changes to lefty/code.h

  • Committer: Bazaar Package Importer
  • Author(s): Stephen M Moraco
  • Date: 2002-02-05 18:52:12 UTC
  • Revision ID: james.westby@ubuntu.com-20020205185212-8i04c70te00rc40y
Tags: upstream-1.7.16
ImportĀ upstreamĀ versionĀ 1.7.16

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
    This software may only be used by you under license from AT&T Corp.
 
3
    ("AT&T").  A copy of AT&T's Source Code Agreement is available at
 
4
    AT&T's Internet website having the URL:
 
5
    <http://www.research.att.com/sw/tools/graphviz/license/source.html>
 
6
    If you received this software without first entering into a license
 
7
    with AT&T, you have an infringing copy of this software and cannot use
 
8
    it without violating AT&T's intellectual property rights.
 
9
*/
 
10
 
 
11
#pragma prototyped
 
12
/* Lefteris Koutsofios - AT&T Bell Laboratories */
 
13
 
 
14
#ifndef _CODE_H
 
15
#define _CODE_H
 
16
#define C_NULL -1
 
17
 
 
18
#define C_ISSTMT(ct) (ct >= C_STMT && ct <= C_RETURN)
 
19
 
 
20
typedef enum {
 
21
    C_CODE, C_ASSIGN, C_INTEGER, C_REAL, C_STRING, C_OR, C_AND,
 
22
    C_EQ, C_NE, C_LT, C_LE, C_GT, C_GE, C_PLUS, C_MINUS, C_MUL,
 
23
    C_DIV, C_MOD, C_UMINUS, C_NOT, C_PEXPR, C_FCALL, C_GVAR, C_LVAR,
 
24
    C_PVAR, C_FUNCTION, C_TCONS, C_DECL, C_STMT, C_IF, C_WHILE,
 
25
    C_FOR, C_FORIN, C_BREAK, C_CONTINUE, C_RETURN, C_INTERNAL,
 
26
    C_ARGS, C_NOP, C_SIZE
 
27
} Ctype_t;
 
28
 
 
29
typedef struct Code_t {
 
30
    Ctype_t ctype;
 
31
    int next;
 
32
    union {
 
33
        char s[1];
 
34
        double d;
 
35
        long i;
 
36
        int fp;
 
37
        void *o;
 
38
    } u;
 
39
} Code_t;
 
40
#define C_CODESIZE sizeof (Code_t)
 
41
 
 
42
#define Cgetstring(i) (char *) &cbufp[i].u.s[0]
 
43
#define Cgetindex() cbufi
 
44
 
 
45
#define Csettype(a, b) cbufp[a].ctype = b
 
46
#define Csetfp(a, b) cbufp[a].u.fp = b
 
47
#define Csetnext(a, b) cbufp[a].next = b
 
48
#define Csetinteger(a, b) cbufp[a].u.i = b
 
49
#define Csetobject(a, b) cbufp[a].u.o = b
 
50
#define Csetreal(a, b) cbufp[a].u.d = b
 
51
 
 
52
extern Code_t *cbufp;
 
53
extern int cbufn, cbufi;
 
54
 
 
55
void Cinit (void);
 
56
void Cterm (void);
 
57
void Creset (void);
 
58
int Cnew (Ctype_t);
 
59
int Cinteger (long);
 
60
int Creal (double);
 
61
int Cstring (char *);
 
62
#endif /* _CODE_H */