Mercurial > vba-clojure
comparison src/sdl/exprNode.h @ 1:f9f4f1b99eed
importing src directory
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Sat, 03 Mar 2012 10:31:27 -0600 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
0:8ced16adf2e1 | 1:f9f4f1b99eed |
---|---|
1 // -*- C++ -*- | |
2 // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator. | |
3 // Copyright (C) 1999-2003 Forgotten | |
4 // Copyright (C) 2004 Forgotten and the VBA development team | |
5 | |
6 // This program is free software; you can redistribute it and/or modify | |
7 // it under the terms of the GNU General Public License as published by | |
8 // the Free Software Foundation; either version 2, or(at your option) | |
9 // any later version. | |
10 // | |
11 // This program is distributed in the hope that it will be useful, | |
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 // GNU General Public License for more details. | |
15 // | |
16 // You should have received a copy of the GNU General Public License | |
17 // along with this program; if not, write to the Free Software Foundation, | |
18 // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
19 | |
20 struct Node { | |
21 Type *type; | |
22 u32 location; | |
23 u32 objLocation; | |
24 LocationType locType; | |
25 int value; | |
26 int index; | |
27 char *name; | |
28 Node *expression; | |
29 Member *member; | |
30 void (*print)(Node *); | |
31 bool (*resolve)(Node *, Function *f, CompileUnit *u); | |
32 }; | |
33 | |
34 extern void exprNodeCleanUp(); | |
35 | |
36 extern Node *exprNodeIdentifier(); | |
37 extern void exprNodeIdentifierPrint(Node *); | |
38 extern bool exprNodeIdentifierResolve(Node *, Function *, CompileUnit *); | |
39 | |
40 extern Node *exprNodeNumber(); | |
41 extern void exprNodeNumberPrint(Node *); | |
42 extern bool exprNodeNumberResolve(Node *, Function *, CompileUnit *); | |
43 | |
44 extern Node *exprNodeStar(Node *); | |
45 extern void exprNodeStarPrint(Node *); | |
46 extern bool exprNodeStarResolve(Node *, Function *, CompileUnit *); | |
47 | |
48 extern Node *exprNodeDot(Node *, Node *); | |
49 extern void exprNodeDotPrint(Node *); | |
50 extern bool exprNodeDotResolve(Node *, Function *, CompileUnit *); | |
51 | |
52 extern Node *exprNodeArrow(Node *, Node *); | |
53 extern void exprNodeArrowPrint(Node *); | |
54 extern bool exprNodeArrowResolve(Node *, Function *, CompileUnit *); | |
55 | |
56 extern Node *exprNodeAddr(Node *); | |
57 extern void exprNodeAddrPrint(Node *); | |
58 extern bool exprNodeAddrResolve(Node *, Function *, CompileUnit *); | |
59 | |
60 extern Node *exprNodeSizeof(Node *); | |
61 extern void exprNodeSizeofPrint(Node *); | |
62 extern bool exprNodeSizeofResolve(Node *, Function *, CompileUnit *); | |
63 | |
64 extern Node *exprNodeArray(Node *, Node *); | |
65 extern void exprNodeArrayPrint(Node *); | |
66 extern bool exprNodeArrayResolve(Node *, Function *, CompileUnit *); | |
67 | |
68 #define YYSTYPE struct Node * |