V-Gears 0
Free Final Fantasy VII engine.
Value.h File Reference
#include <deque>
#include <exception>
#include <ostream>
#include <string>
#include <boost/intrusive_ptr.hpp>
#include "installer/common/scummsys.h"
#include "RefCounted.h"
#include "Stack.h"
#include "DecompilerException.h"
Include dependency graph for Value.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Value
 Class representing a value (stack entry, parameter, etc.) More...
 
class  IntValue
 Value containing an integer. More...
 
class  AddressValue
 Value containing an absolute address. More...
 
class  RelAddressValue
 Value containing a signed, relative address. More...
 
class  DupValue
 Duplicated value. More...
 
class  StringValue
 String value. More...
 
class  UnquotedStringValue
 A string value, unquoted. More...
 
class  VarValue
 Value representing a variable. More...
 
class  ArrayValue
 Value representing array access. More...
 
class  BinaryOpValue
 Value representing the result of a binary operation. More...
 
class  UnaryOpValue
 Value representing the result of a unary operation. More...
 
class  NegatedValue
 Negated value. More...
 
class  CallValue
 Value representing a function call. More...
 

Typedefs

typedef boost::intrusive_ptr< ValueValuePtr
 Pointer to a Value. More...
 
typedef std::deque< ValuePtrValueList
 Type representing a list of values, e.g. More...
 
typedef Stack< ValuePtrValueStack
 Type representing a stack. More...
 

Variables

const int PRECEDENCE_NO = 0
 Precedence value for individual values with no operations. More...
 
const int PRECEDENCE_UNARY = 1
 Precedence value for a unary operation. More...
 
const int PRECEDENCE_MULT = 2
 Precedence value for multiplication, division, modulus (*, /, %). More...
 
const int PRECEDENCE_ADD = 3
 Precedence value for addition and subtraction (+, -). More...
 
const int PRECEDENCE_SHIFT = 4
 Precedence value for bit shifting (<<, >>). More...
 
const int PRECEDENCE_RELATION = 5
 Precedence value for relative comparison (<, <=, >=, >). More...
 
const int PRECEDENCE_EQUALITY = 6
 Precedence value for equality comparisons (==, !=). More...
 
const int PRECEDENCE_BIT_AND = 7
 Precedence value for bitwise AND (&). More...
 
const int PRECEDENCE_BIT_XOR = 8
 Precedence value for bitwise XOR (^). More...
 
const int PRECEDENCE_BIT_OR = 9
 Precedence value for bitwise OR (|). More...
 
const int PRECEDENCE_LOGIC_AND = 10
 Precedence value for logical AND (&&). More...
 
const int PRECEDENCE_LOGIC_OR = 11
 Precedence value for logical OR (||). More...
 

Typedef Documentation

◆ ValueList

typedef std::deque<ValuePtr> ValueList

Type representing a list of values, e.g.

for indexes used to access an array.

◆ ValuePtr

typedef boost::intrusive_ptr<Value> ValuePtr

Pointer to a Value.

◆ ValueStack

Type representing a stack.

Variable Documentation

◆ PRECEDENCE_ADD

const int PRECEDENCE_ADD = 3

Precedence value for addition and subtraction (+, -).

◆ PRECEDENCE_BIT_AND

const int PRECEDENCE_BIT_AND = 7

Precedence value for bitwise AND (&).

◆ PRECEDENCE_BIT_OR

const int PRECEDENCE_BIT_OR = 9

Precedence value for bitwise OR (|).

◆ PRECEDENCE_BIT_XOR

const int PRECEDENCE_BIT_XOR = 8

Precedence value for bitwise XOR (^).

◆ PRECEDENCE_EQUALITY

const int PRECEDENCE_EQUALITY = 6

Precedence value for equality comparisons (==, !=).

◆ PRECEDENCE_LOGIC_AND

const int PRECEDENCE_LOGIC_AND = 10

Precedence value for logical AND (&&).

◆ PRECEDENCE_LOGIC_OR

const int PRECEDENCE_LOGIC_OR = 11

Precedence value for logical OR (||).

◆ PRECEDENCE_MULT

const int PRECEDENCE_MULT = 2

Precedence value for multiplication, division, modulus (*, /, %).

◆ PRECEDENCE_NO

const int PRECEDENCE_NO = 0

Precedence value for individual values with no operations.

◆ PRECEDENCE_RELATION

const int PRECEDENCE_RELATION = 5

Precedence value for relative comparison (<, <=, >=, >).

◆ PRECEDENCE_SHIFT

const int PRECEDENCE_SHIFT = 4

Precedence value for bit shifting (<<, >>).

◆ PRECEDENCE_UNARY

const int PRECEDENCE_UNARY = 1

Precedence value for a unary operation.

(!, -, ~, etc.).