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
|
#ifndef INCLUDE_BLASSIC_VAR_H
#define INCLUDE_BLASSIC_VAR_H
// var.h
// Revision 8-jan-2005
#include "blassic.h"
#include "dim.h"
// Now defined in blassic.h to reduce dependencies.
//enum VarType { VarUndef, VarNumber, VarString, VarInteger };
//inline bool is_numeric_type (VarType v)
//{ return v == VarNumber || v == VarInteger; }
struct VarPointer {
VarType type;
union {
BlNumber * pnumber;
BlInteger * pinteger;
std::string * pstring;
};
std::string::size_type from, to;
};
VarType typeofvar (const std::string & name);
void definevar (VarType type, char c);
void definevar (VarType type, char cfrom, char cto);
void clearvars ();
void assignvarnumber (const std::string & name, BlNumber value);
void assignvarinteger (const std::string & name, BlInteger value);
void assignvarstring (const std::string & name, const std::string & value);
BlNumber evaluatevarnumber (const std::string & name);
BlInteger evaluatevarinteger (const std::string & name);
std::string evaluatevarstring (const std::string & name);
BlNumber * addrvarnumber (const std::string & name);
BlInteger * addrvarinteger (const std::string & name);
std::string * addrvarstring (const std::string & name);
void dimvarnumber (const std::string & name, const Dimension & d);
void dimvarinteger (const std::string & name, const Dimension & d);
void dimvarstring (const std::string & name, const Dimension & d);
void erasevarnumber (const std::string & name);
void erasevarinteger (const std::string & name);
void erasevarstring (const std::string & name);
BlNumber valuedimnumber (const std::string & name, const Dimension & d);
BlInteger valuediminteger (const std::string & name, const Dimension & d);
std::string valuedimstring (const std::string & name, const Dimension & d);
void assigndimnumber (const std::string & name, const Dimension & d,
BlNumber value);
void assigndiminteger (const std::string & name, const Dimension & d,
BlInteger value);
void assigndimstring (const std::string & name, const Dimension & d,
const std::string & value);
BlNumber * addrdimnumber (const std::string & name, const Dimension & d);
BlInteger * addrdiminteger (const std::string & name, const Dimension & d);
std::string * addrdimstring (const std::string & name, const Dimension & d);
#endif
// Fin de var.h
|