Subversion Repositories filter_foundry

Rev

Rev 206 | Rev 439 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
259 daniel-mar 1
/*
2
    This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
3
    Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
4
    Copyright (C) 2018-2021 Daniel Marschall, ViaThinkSoft
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 of the License, or
9
    (at your option) 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
18
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19
*/
20
 
21
#ifndef NODE_H
22
#define NODE_H
23
 
24
#include "symtab.h"
25
 
26
enum{ MAXCHILDREN = 10 };
27
 
28
struct node{
29
        int kind;
30
        struct node *child[MAXCHILDREN],*next;
31
                /* next is a link, used to track allocated nodes - see global node_list */
32
        union{
33
                value_type value;
34
                struct sym_rec *sym;
35
                int specialvar;
36
        } v;
37
};
38
 
39
#undef YYSTYPE
40
#define YYSTYPE struct node *
41
 
42
extern struct node *node_list;
43
 
44
struct node *newnode(int kind);
45
//void freenodes(struct node *p);
46
void freeallnodes();
47
 
48
void dumptree(struct node *root,int level);
49
value_type eval(struct node *root);
50
void freetree(struct node*);
51
void checkvars(struct node*p,int varflags[],int *cnv,int *srcrad/*,int *mapused*/,int *state_changing_funcs_used);
52
 
53
#endif