update
This commit is contained in:
parent
7a36174789
commit
e272e758b4
|
@ -56,9 +56,19 @@ public:
|
|||
~nasal_scalar();
|
||||
void clear();
|
||||
bool set_type(int);
|
||||
// +-*/~
|
||||
// =
|
||||
// unary - !
|
||||
int nasal_scalar_add(int,int);
|
||||
int nasal_scalar_sub(int,int);
|
||||
int nasal_scalar_mult(int,int);
|
||||
int nasal_scalar_div(int,int);
|
||||
int nasal_scalar_link(int,int);
|
||||
int nasal_scalar_unary_sub(int);
|
||||
int nasal_scalar_unary_not(int);
|
||||
int nasal_scalar_cmp_equal(int,int);
|
||||
int nasal_scalar_cmp_not_equal(int,int);
|
||||
int nasal_scalar_cmp_less(int,int);
|
||||
int nasal_scalar_cmp_greater(int,int);
|
||||
int nasal_scalar_cmp_less_or_equal(int,int);
|
||||
int nasal_scalar_cmp_greater_or_equal(int,int);
|
||||
};
|
||||
|
||||
class nasal_virtual_machine
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
#ifndef __NASAL_RUNTIME_H__
|
||||
#define __NASAL_RUNTIME_H__
|
||||
|
||||
class nasal_runtime
|
||||
{
|
||||
private:
|
||||
nasal_ast root;
|
||||
std::stack<int> function_position;
|
||||
std::stack<int> running_stack;
|
||||
std::stack<int> closure_stack;
|
||||
public:
|
||||
nasal_runtime();
|
||||
~nasal_runtime();
|
||||
};
|
||||
|
||||
nasal_runtime::nasal_runtime()
|
||||
{
|
||||
root.clear();
|
||||
while(!function_position.empty())
|
||||
function_position.pop();
|
||||
while(!running_stack.empty())
|
||||
running_stack.pop();
|
||||
while(!closure_stack.empty())
|
||||
closure_stack.pop();
|
||||
return;
|
||||
}
|
||||
nasal_runtime::~nasal_runtime()
|
||||
{
|
||||
root.clear();
|
||||
while(!function_position.empty())
|
||||
function_position.pop();
|
||||
while(!running_stack.empty())
|
||||
running_stack.pop();
|
||||
while(!closure_stack.empty())
|
||||
closure_stack.pop();
|
||||
return;
|
||||
}
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue