aboutsummaryrefslogtreecommitdiff
path: root/engines/tony/mpal/expr.h
blob: d54f17b088113feb884f435652e03b08b0218e4a (plain)
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
/* ScummVM - Graphic Adventure Engine
 *
 * ScummVM is the legal property of its developers, whose names
 * are too numerous to list here. Please refer to the COPYRIGHT
 * file distributed with this source distribution.
 *
 * 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 2
 * 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, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 *
 *
 */
/**************************************************************************
 *                                     ���������������������������������� *
 *                        ...                  Spyral Software snc        *
 *        .             x#""*$Nu       -= We create much MORE than ALL =- *
 *      d*#R$.          R     ^#$o     ���������������������������������� *
 *    .F    ^$k         $        "$b                                      *
 *   ."       $b      u "$         #$L                                    *
 *   P         $c    :*$L"$L        '$k  Project: MPAL................... *
 *  d    @$N.   $.   d ^$b^$k         $c                                  *
 *  F   4  "$c  '$   $   #$u#$u       '$ Module:  Expression gestor heade *
 * 4    4k   *N  #b .>    '$N'*$u      *                                  *
 * M     $L   #$  $ 8       "$c'#$b.. .@ Author:  Giovanni Bajo.......... *
 * M     '$u   "$u :"         *$. "#*#"                                   *
 * M      '$N.  "  F           ^$k       Desc:    Gestisce le espressioni *
 * 4>       ^R$oue#             d                 matematiche............ *
 * '$          ""              @                  ....................... *
 *  #b                       u#                                           *
 *   $b                    .@"           OS: [ ] DOS  [X] WIN95  [ ] OS/2 *
 *    #$u                .d"                                              *
 *     '*$e.          .zR".@           ���������������������������������� *
 *        "*$$beooee$*"  @"M                  This source code is         *
 *             """      '$.?              Copyright (C) Spyral Software   *
 *                       '$d>                 ALL RIGHTS RESERVED         *
 *                        '$>          ���������������������������������� *
 *                                                                        *
 **************************************************************************/

#ifndef MPAL_EXPR_H
#define MPAL_EXPR_H

namespace Tony {

namespace MPAL {

/****************************************************************************\
*       Prototipi di funzione
\****************************************************************************/

/****************************************************************************\
*
* Function:     byte *ParseExpression(byte *buf, HGLOBAL *h);
*
* Description:  Esegue il parsing da file .MPC di un'espressione matematica.
*
* Input:        byte *buf              Buffer contenente l'espressione
*                                       compilata.
*               HGLOBAL *h              Pointer a un handle che, alla fine
*                                       dell'esecuzione, puntera' alla
*                                       zona di memoria contenete l'espres-
*                                       sione parsata
*
* Return:       Puntatore al buffer subito dopo l'espressione, o NULL in caso
*               di errore.
*
\****************************************************************************/

byte *ParseExpression(byte *lpBuf, HGLOBAL *h);


/****************************************************************************\
*
* Function:     int EvaluateExpression(HGLOBAL h);
*
* Description:  Calcola il valore di un'espressione matematica
*
* Input:        HGLOBAL h               Handle all'espressione
*
* Return:       Valore numerico
*
\****************************************************************************/

int EvaluateExpression(HGLOBAL h);


/****************************************************************************\
*
* Function:     bool CompareExpressions(HGLOBAL h1, HGLOBAL h2);
*
* Description:  Confronta due espressioni matematiche tra loro
*
* Input:        HGLOBAL h1,h2            Espressioni da confrontare
*
* Return:       TRUE se sono uguali, FALSE se sono diverse
*
\****************************************************************************/

bool CompareExpressions(HGLOBAL h1, HGLOBAL h2);


} // end of namespace MPAL

} // end of namespace Tony

#endif