blob: 8fcb43c18826d1c4d5ab8abb75cd976fafd3143e [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2007 Wind River Systems, Inc. and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Wind River Systems - initial API and implementation
*******************************************************************************/
/*
* Expression evaluation library.
*/
#ifndef D_expression
#define D_expression
#define VALUE_INT 1
#define VALUE_UNS 2
#define VALUE_STR 3
struct Value {
int type;
int value;
char * str;
};
typedef struct Value Value;
struct ExpressionContext {
int (*identifier)(char *, Value *);
int (*type_cast)(char *, Value *);
};
typedef struct ExpressionContext ExpressionContext;
extern int evaluate_expression(ExpressionContext * ctx, char * s, Value * v);
extern char * get_expression_error_msg(void);
extern void string_value(Value * v, char * str);
extern void ini_expression_library(void);
#endif