ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

expr.h
Go to the documentation of this file.
00001 /*
00002  * Expression Abstract Syntax Tree Functions
00003  *
00004  * Copyright 2002 Ove Kaaven
00005  * Copyright 2006-2008 Robert Shearman
00006  *
00007  * This library is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU Lesser General Public
00009  * License as published by the Free Software Foundation; either
00010  * version 2.1 of the License, or (at your option) any later version.
00011  *
00012  * This library is distributed in the hope that it will be useful,
00013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015  * Lesser General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU Lesser General Public
00018  * License along with this library; if not, write to the Free Software
00019  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00020  */
00021 
00022 struct expr_loc
00023 {
00024     const var_t *v;
00025     const char *attr;
00026 };
00027 
00028 extern expr_t *make_expr(enum expr_type type);
00029 extern expr_t *make_exprl(enum expr_type type, int val);
00030 extern expr_t *make_exprd(enum expr_type type, double val);
00031 extern expr_t *make_exprs(enum expr_type type, char *val);
00032 extern expr_t *make_exprt(enum expr_type type, var_t *var, expr_t *expr);
00033 extern expr_t *make_expr1(enum expr_type type, expr_t *expr);
00034 extern expr_t *make_expr2(enum expr_type type, expr_t *exp1, expr_t *exp2);
00035 extern expr_t *make_expr3(enum expr_type type, expr_t *expr1, expr_t *expr2, expr_t *expr3);
00036 
00037 extern const type_t *expr_resolve_type(const struct expr_loc *expr_loc, const type_t *cont_type, const expr_t *expr);
00038 extern int compare_expr(const expr_t *a, const expr_t *b);
00039 
00040 extern void write_expr(FILE *h, const expr_t *e, int brackets, int toplevel, const char *toplevel_prefix,
00041                        const type_t *cont_type, const char *local_var_prefix);

Generated on Sat May 26 2012 04:36:41 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.