Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

bytecodes.cpp File Reference

The function contains the bytecodes namespace. More...

#include "CentumSharedCode.h"

Include dependency graph for bytecodes.cpp:


Namespaces

namespace  bytecodes

Functions

CENTUMSHAREDCODE_API ExecutionReturn PushParams (CScope *scope)
 This function implements the params operation by pushing the parameters onto the local stack.
CENTUMSHAREDCODE_API ExecutionReturn PushUsings (CScope *scope)
 This function implements the usings operation by pushing the parameters onto the local stack.
CENTUMSHAREDCODE_API ExecutionReturn PushParamsU (CScope *scope)
 This function implements the params operation by pushing the parameters onto the usings stack.
CENTUMSHAREDCODE_API ExecutionReturn PushUsingsU (CScope *scope)
 This function implements the usings operation by pushing the parameters onto the usings stack.
CENTUMSHAREDCODE_API ExecutionReturn CreateMy (CScope *scope, unsigned long index)
 This function implements the my operation by making a new my varaible in the scope and aliasing it to undef.
CENTUMSHAREDCODE_API ExecutionReturn AddLabel (CScope *scope, unsigned long index)
 This function implements the label: operation on the current scope.
CENTUMSHAREDCODE_API ExecutionReturn CallFunction (CScope *scope)
 This function performs a function call in the given scope.
CENTUMSHAREDCODE_API ExecutionReturn CallUFunction (CScope *scope)
 This function performs a function call in the given scope.
CENTUMSHAREDCODE_API ExecutionReturn MultipleReturn (CScope *scope, unsigned __int16 n)
 This function creates a multiple return value.
CENTUMSHAREDCODE_API ExecutionReturn Equality (CScope *scope)
 This function performs equality ("=") operation in the given scope.
CENTUMSHAREDCODE_API ExecutionReturn CopyLocals (CScope *scope)
 This function copies the local data from one rebi to another.
CENTUMSHAREDCODE_API ExecutionReturn Are (CScope *scope)
 This function implements the multiple alias operation ("are").
CENTUMSHAREDCODE_API ExecutionReturn Alias (CScope *scope)
 This function implements the alias operation ("is").
CENTUMSHAREDCODE_API ExecutionReturn Untie (CScope *scope)
 This function unties the rebi on the local stack from any others it may be tied to.
CENTUMSHAREDCODE_API ExecutionReturn Tie (CScope *scope)
 This function ties one or more rebi to each other.
CENTUMSHAREDCODE_API ExecutionReturn IsA (CScope *scope)
 This function combines the instantiation instruction with an alias instruction If either the destination or the rebi to be instantiated are NULL an exception will be thrown.
CENTUMSHAREDCODE_API ExecutionReturn LastParam (CScope *scope)
 This function pops the last rebi in the parameter stack and adds it to the local stack.
CENTUMSHAREDCODE_API ExecutionReturn PopParameter (CScope *scope)
 This function removes the first parameter and adds it to the local stack.
CENTUMSHAREDCODE_API ExecutionReturn ClearStack (CScope *scope)
 This function empties the entire local stack.
CENTUMSHAREDCODE_API ExecutionReturn ClearBothStacks (CScope *scope)
 This function empties both the local and usings stacks.
CENTUMSHAREDCODE_API ExecutionReturn BlockBothStacks (CScope *scope)
 This function pushes a stack block on both the local and usings stack.
CENTUMSHAREDCODE_API ExecutionReturn StackBlock (CScope *scope)
 This function pushes a stack block on the local stack.
CENTUMSHAREDCODE_API ExecutionReturn UStackBlock (CScope *scope)
 This function pushes a stack block on the usings stack.
CENTUMSHAREDCODE_API ExecutionReturn ClearUStack (CScope *scope)
 This function empties the entire usings stack.
CENTUMSHAREDCODE_API ExecutionReturn Return (CScope *scope)
 This function creates a normal return value and fills it with a sub-stack of the local stack.
CENTUMSHAREDCODE_API ExecutionReturn ThrowException (CScope *scope)
 This function creates an exception return value and fills it with a sub-stack of the local stack.
CENTUMSHAREDCODE_API ExecutionReturn PushParameterN (CScope *scope, unsigned __int16 n)
 This function adds the Nth parameter to the local stack "p_n".
CENTUMSHAREDCODE_API ExecutionReturn PushUsingN (CScope *scope, unsigned __int16 n)
 This function adds the Nth using to the local stack "u_n".
CENTUMSHAREDCODE_API ExecutionReturn PushParameterNU (CScope *scope, unsigned __int16 n)
 This function adds the Nth parameter to the usings stack "p_n".
CENTUMSHAREDCODE_API ExecutionReturn PushUsingNU (CScope *scope, unsigned __int16 n)
 This function adds the Nth using to the usings stack "u_n".
CENTUMSHAREDCODE_API ExecutionReturn PushCThingS (CScope *scope, unsigned long index)
 This function pushes one or more rebi to the local stack.
CENTUMSHAREDCODE_API ExecutionReturn PushCThingU (CScope *scope, unsigned long index)
 This function pushes one or more rebi to the usings stack.
CENTUMSHAREDCODE_API ExecutionReturn Instantiate (CScope *scope)
 This function creates a new rebi and adds it to the local stack "A".
CENTUMSHAREDCODE_API ExecutionReturn InstantiateU (CScope *scope)
 This function creates a new rebi and adds it to the usings stack "A".

Detailed Description

The function contains the bytecodes namespace.


Function Documentation

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::AddLabel CScope scope,
unsigned long  index
 

This function implements the label: operation on the current scope.

A scope can only have one label at a time. This operation will replace an existing label if it exists.

Parameters:
scope the scope in which this operation is to be performed.
index the name of the label to be added.
Returns:
the result of this operation

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::Alias CScope scope  ) 
 

This function implements the alias operation ("is").

If the object to be aliased is not a string reference an excpetion will be thrown.

Parameters:
scope the scope in which this operation is to be performed.
Returns:
the result of the operation.
See also:
Are()

FindInScope()

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::Are CScope scope  ) 
 

This function implements the multiple alias operation ("are").

Each object on the local stack is aliased to the rebi in the same position on the usings stack, or to the undef object if there is no rebi at the same position. Excess rebi on the usigs stack do not affect the result of the operation.

Parameters:
scope the scope in which this operation is to be performed.
Returns:
the result of the operation.
See also:
Alias()

FindInScope()

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::BlockBothStacks CScope scope  ) 
 

This function pushes a stack block on both the local and usings stack.

Parameters:
scope the scope in which this operation is to be performed.
Returns:
the result of the operation.

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::CallFunction CScope scope  ) 
 

This function performs a function call in the given scope.

This function extracts the function rebi using GetFunc and determines what kind of call is appropriate. The results are added to the local stack.

See also:
CThingStack::GetFunc()

MakeARegisteredCall()

MakeADLLCall()

MakeANormalCall()

Parameters:
scope the scope in which this operation is to be performed.
Returns:
the return value of the function call

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::CallUFunction CScope scope  ) 
 

This function performs a function call in the given scope.

This function extracts the function rebi using GetFunc and determines what kind of call is appropriate. The results are added to the usings stack.

See also:
CThingStack::GetFunc()

MakeARegisteredCall()

MakeADLLCall()

MakeANormalCall()

Parameters:
scope the scope in which this operation is to be performed.
Returns:
the return value of the function call

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::ClearBothStacks CScope scope  ) 
 

This function empties both the local and usings stacks.

Parameters:
scope the scope in which this operation is to be performed.
Returns:
the result of the operation.

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::ClearStack CScope scope  ) 
 

This function empties the entire local stack.

Parameters:
scope the scope in which this operation is to be performed.
Returns:
the result of the operation.

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::ClearUStack CScope scope  ) 
 

This function empties the entire usings stack.

Parameters:
scope the scope in which this operation is to be performed.
Returns:
the result of the operation.

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::CopyLocals CScope scope  ) 
 

This function copies the local data from one rebi to another.

If either the source or the destination is NULL, the destination is read-only, or the destination is read-only an exception will be thrown.

Parameters:
scope the scope in which this operation is to be performed.
Returns:
the result of the operation.

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::CreateMy CScope scope,
unsigned long  index
 

This function implements the my operation by making a new my varaible in the scope and aliasing it to undef.

If a my variable with that name already exists in the scope this operation will have no effect.

Parameters:
scope the scope in which this operation is to be performed.
index the name of the my varaible to be created
Returns:
the result of this operation

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::Equality CScope scope  ) 
 

This function performs equality ("=") operation in the given scope.

This function releases all data and varaibles associated with the destination rebi and then turns it into a copy of the source rebi. An exception will be thrown if either the source or the destination is NULL or the destination is the undef object or marked as read-only an exception will be thrown,

See also:
MakeEqual()
Parameters:
scope the scope in which this operation is to be performed.
Returns:
the result of the operation

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::Instantiate CScope scope  ) 
 

This function creates a new rebi and adds it to the local stack "A".

The new rebi is an instance of the same type as the top rebi on the local stack. If the local stack has no rebi on it the new rebi will be an instance of the undef object.

Parameters:
scope the scope in which this operation is to be performed.
Returns:
the result of the operation.
See also:
BuildFromDef()

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::InstantiateU CScope scope  ) 
 

This function creates a new rebi and adds it to the usings stack "A".

The new rebi is an instance of the same type as the top rebi on the local stack. If the local stack has no rebi on it the new rebi will be an instance of the undef object.

Parameters:
scope the scope in which this operation is to be performed.
Returns:
the result of the operation.
See also:
BuildFromDef()

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::IsA CScope scope  ) 
 

This function combines the instantiation instruction with an alias instruction If either the destination or the rebi to be instantiated are NULL an exception will be thrown.

If the destination is not a string reference an exception will be thrown.

Parameters:
scope the scope in which this operation is to be performed.
Returns:
the result of the operation.
See also:
Instantiate()

Alias()

BuildFromDef()

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::LastParam CScope scope  ) 
 

This function pops the last rebi in the parameter stack and adds it to the local stack.

If there are no parameters the undef object will be added to the local stack.

Parameters:
scope the scope in which this operation is to be performed.
Returns:
the result of the operation.

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::MultipleReturn CScope scope,
unsigned __int16  n
 

This function creates a multiple return value.

Parameters:
scope the scope in which this operation is to be performed.
n the number of returns to be made.
Returns:
the multiple return value

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::PopParameter CScope scope  ) 
 

This function removes the first parameter and adds it to the local stack.

If there are no parameters the undef object will be added to the local stack.

Parameters:
scope the scope in which this operation is to be performed.
Returns:
the result of the operation.

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::PushCThingS CScope scope,
unsigned long  index
 

This function pushes one or more rebi to the local stack.

Rebi are searched for using FindInScopeArray, which means that multiple values can be added by passing "params" or "usings". If a rebi with that name cannot be found the undef rebi is pushed.

Parameters:
scope the scope in which this operation is to be performed.
index the name of the rebi to be found and pushed.
Returns:
the result of the operation.
See also:
FindInScopeArray()

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::PushCThingU CScope scope,
unsigned long  index
 

This function pushes one or more rebi to the usings stack.

Rebi are searched for using FindInScopeArray, which means that multiple values can be added by passing "params" or "usings". If a rebi with that name cannot be found the undef rebi is pushed.

Parameters:
scope the scope in which this operation is to be performed.
index the name of the rebi to be found and pushed.
Returns:
the result of the operation.
See also:
FindInScopeArray()

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::PushParameterN CScope scope,
unsigned __int16  n
 

This function adds the Nth parameter to the local stack "p_n".

Parameters:
scope the scope in which this operation is to be performed.
Returns:
the result of the operation.
Parameters:
n the number of the parameter to be pushed.

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::PushParameterNU CScope scope,
unsigned __int16  n
 

This function adds the Nth parameter to the usings stack "p_n".

Parameters:
scope the scope in which this operation is to be performed.
Returns:
the result of the operation.
Parameters:
n the number of the parameter to be pushed.

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::PushParams CScope scope  ) 
 

This function implements the params operation by pushing the parameters onto the local stack.

Parameters:
scope the scope in which this operation is to be performed.
Returns:
the result of this operation
See also:
PushUsings()

PushParamsU()

PushUsingsU()

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::PushParamsU CScope scope  ) 
 

This function implements the params operation by pushing the parameters onto the usings stack.

Parameters:
scope the scope in which this operation is to be performed.
Returns:
the result of this operation
See also:
PushUsings()

PushParamsU()

PushUsingsU()

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::PushUsingN CScope scope,
unsigned __int16  n
 

This function adds the Nth using to the local stack "u_n".

Parameters:
scope the scope in which this operation is to be performed.
Returns:
the result of the operation.
Parameters:
n the number of the parameter to be pushed.

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::PushUsingNU CScope scope,
unsigned __int16  n
 

This function adds the Nth using to the usings stack "u_n".

Parameters:
scope the scope in which this operation is to be performed.
Returns:
the result of the operation.
Parameters:
n the number of the parameter to be pushed.

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::PushUsings CScope scope  ) 
 

This function implements the usings operation by pushing the parameters onto the local stack.

Parameters:
scope the scope in which this operation is to be performed.
Returns:
the result of this operation
See also:
PushUsings()

PushParamsU()

PushUsingsU()

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::PushUsingsU CScope scope  ) 
 

This function implements the usings operation by pushing the parameters onto the usings stack.

Parameters:
scope the scope in which this operation is to be performed.
Returns:
the result of this operation
See also:
PushUsings()

PushParamsU()

PushUsingsU()

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::Return CScope scope  ) 
 

This function creates a normal return value and fills it with a sub-stack of the local stack.

Parameters:
scope the scope in which this operation is to be performed.
Returns:
the result of the operation.

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::StackBlock CScope scope  ) 
 

This function pushes a stack block on the local stack.

Parameters:
scope the scope in which this operation is to be performed.
Returns:
the result of the operation.

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::ThrowException CScope scope  ) 
 

This function creates an exception return value and fills it with a sub-stack of the local stack.

Parameters:
scope the scope in which this operation is to be performed.
Returns:
the result of the operation.

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::Tie CScope scope  ) 
 

This function ties one or more rebi to each other.

If the primary (first) object to be tied is not a string reference an excpetion will be thrown. All the other rebi are first aliased to the first rebi on the local stack and then tied to it. or the destination is read-only an exception will be thrown.

Parameters:
scope the scope in which this operation is to be performed.
Returns:
the result of the operation.
See also:
Untie()

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::Untie CScope scope  ) 
 

This function unties the rebi on the local stack from any others it may be tied to.

When a rebi is untied the reb iit is tied to will be tied to each other. The untie operation will not cause any other rebi to come untied from each other. An exception will be thrown if the rebi to be untied is not a string reference.

Parameters:
scope the scope in which this operation is to be performed.
Returns:
the result of the operation.
See also:
Tie()

CENTUMSHAREDCODE_API ExecutionReturn bytecodes::UStackBlock CScope scope  ) 
 

This function pushes a stack block on the usings stack.

Parameters:
scope the scope in which this operation is to be performed.
Returns:
the result of the operation.


Generated on Sat Apr 16 16:31:08 2005 for Centum API by  doxygen 1.4.2