diff options
author | Egbert Eich <eich@suse.de> | 2004-03-14 08:27:26 +0000 |
---|---|---|
committer | Egbert Eich <eich@suse.de> | 2004-03-14 08:27:26 +0000 |
commit | 97527faa1b2b9f66be7171454161f273b986ee46 (patch) | |
tree | 95026cce9aa4a1973ba0fd7fe3c8acf277c11ed9 /ifparser.h | |
parent | cc985b59a40838d617ec2c5b03771620e56fe461 (diff) |
Importing vendor version xf86-4_4_99_1 on Sun Mar 14 00:26:39 PST 2004xf86-4_4_99_1
Diffstat (limited to 'ifparser.h')
-rw-r--r-- | ifparser.h | 49 |
1 files changed, 13 insertions, 36 deletions
@@ -2,7 +2,7 @@ * $Xorg: ifparser.h,v 1.3 2000/08/17 19:41:51 cpqbld Exp $ * * Copyright 1992 Network Computing Devices, Inc. - * + * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, provided * that the above copyright notice appear in all copies and that both that @@ -12,7 +12,7 @@ * without specific, written prior permission. Network Computing Devices makes * no representations about the suitability of this software for any purpose. * It is provided ``as is'' without express or implied warranty. - * + * * NETWORK COMPUTING DEVICES DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, * IN NO EVENT SHALL NETWORK COMPUTING DEVICES BE LIABLE FOR ANY SPECIAL, @@ -20,44 +20,19 @@ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. - * + * * Author: Jim Fulton * Network Computing Devices, Inc. - * - * Simple if statement processor * - * This module can be used to evaluate string representations of C language - * if constructs. It accepts the following grammar: - * - * EXPRESSION := VALUE - * | VALUE BINOP EXPRESSION - * | VALUE '?' EXPRESSION ':' EXPRESSION - * - * VALUE := '(' EXPRESSION ')' - * | '!' VALUE - * | '-' VALUE - * | '~' VALUE - * | 'defined' '(' variable ')' - * | variable - * | number - * - * BINOP := '*' | '/' | '%' - * | '+' | '-' - * | '<<' | '>>' - * | '<' | '>' | '<=' | '>=' - * | '==' | '!=' - * | '&' | '^' | '|' - * | '&&' | '||' - * - * The normal C order of precedence is supported. - * - * + * Simple if statement processor. Please see ifparser.c for the parsing tree. + * + * * External Entry Points: - * + * * ParseIfExpression parse a string for #if */ -/* $XFree86: xc/config/makedepend/ifparser.h,v 3.4 2001/01/17 16:38:58 dawes Exp $ */ +/* $XFree86: xc/config/makedepend/ifparser.h,v 3.6 2004/03/05 16:02:58 tsi Exp $ */ #include <stdio.h> @@ -69,15 +44,17 @@ typedef struct _if_parser { struct { /* functions */ const char *(*handle_error) (struct _if_parser *, const char *, const char *); - long (*eval_variable) (struct _if_parser *, const char *, int); + long (*eval_variable) (struct _if_parser *, const char *, int, + const char *); int (*eval_defined) (struct _if_parser *, const char *, int); } funcs; char *data; } IfParser; const char *ParseIfExpression ( - IfParser *, - const char *, + IfParser *, + const char *, long * ); +extern int variable_has_args(IfParser *ip, const char *var, int len); |