2 // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
3 // Copyright (C) 1999-2003 Forgotten
4 // Copyright (C) 2004 Forgotten and the VBA development team
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)
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.
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.
30 void (*print
)(Node
*);
31 bool (*resolve
)(Node
*, Function
*f
, CompileUnit
*u
);
34 extern void exprNodeCleanUp();
36 extern Node
*exprNodeIdentifier();
37 extern void exprNodeIdentifierPrint(Node
*);
38 extern bool exprNodeIdentifierResolve(Node
*, Function
*, CompileUnit
*);
40 extern Node
*exprNodeNumber();
41 extern void exprNodeNumberPrint(Node
*);
42 extern bool exprNodeNumberResolve(Node
*, Function
*, CompileUnit
*);
44 extern Node
*exprNodeStar(Node
*);
45 extern void exprNodeStarPrint(Node
*);
46 extern bool exprNodeStarResolve(Node
*, Function
*, CompileUnit
*);
48 extern Node
*exprNodeDot(Node
*, Node
*);
49 extern void exprNodeDotPrint(Node
*);
50 extern bool exprNodeDotResolve(Node
*, Function
*, CompileUnit
*);
52 extern Node
*exprNodeArrow(Node
*, Node
*);
53 extern void exprNodeArrowPrint(Node
*);
54 extern bool exprNodeArrowResolve(Node
*, Function
*, CompileUnit
*);
56 extern Node
*exprNodeAddr(Node
*);
57 extern void exprNodeAddrPrint(Node
*);
58 extern bool exprNodeAddrResolve(Node
*, Function
*, CompileUnit
*);
60 extern Node
*exprNodeSizeof(Node
*);
61 extern void exprNodeSizeofPrint(Node
*);
62 extern bool exprNodeSizeofResolve(Node
*, Function
*, CompileUnit
*);
64 extern Node
*exprNodeArray(Node
*, Node
*);
65 extern void exprNodeArrayPrint(Node
*);
66 extern bool exprNodeArrayResolve(Node
*, Function
*, CompileUnit
*);
68 #define YYSTYPE struct Node *