-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathevaluation.h
More file actions
66 lines (60 loc) · 1.76 KB
/
evaluation.h
File metadata and controls
66 lines (60 loc) · 1.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/**
** "i8086" An assembler for the 16-bit Intel x86 CPUs
**
** Copyright (C) 2024 Jeff Penfold (jeff.penfold@googlemail.com)
**
** This program is free software: you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation, either version 3 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program. If not, see <https://www.gnu.org/licenses/>.
**/
/*
* evaluation
* ==========
*
* Evaluation of expression captured in a set of tokens.
*/
#ifndef _EVALUATION_H_
#define _EVALUATION_H_
/*
* Expression evaluation routine.
*
* In Paramters:
*
* token_record *expr Linked list of of tokens forming
* the expression to be evaluated.
*
* int len Number of tokens (maximum) forming
* the expression.
*
* boolean negate True if the expression is preceded
* by a negative sign it will not see.
*
* Out Parameters:
*
* int *consumed Returns the actual number of tokens
* used to form the expression result.
*
* constant_value *v The evaluated result of the expression.
*
* Returns
*
* TRUE Expression successfully calculated.
*
* FALSE Errors detected in expression. Consumed
* indicates how many tokens were used
* before an error was detected.
*/
extern boolean evaluate( token_record *expr, int len, int *consumed, constant_value *v, boolean negate );
#endif
/*
* EOF
*/