Delete nasal_functional.h
This commit is contained in:
parent
62fe6cc020
commit
8eb7b5c464
|
@ -1,101 +0,0 @@
|
||||||
#ifndef __NASAL_FUNCTIONAL_H__
|
|
||||||
#define __NASAL_FUNCTIONAL_H__
|
|
||||||
|
|
||||||
#include "nasal_var.h"
|
|
||||||
|
|
||||||
//for function
|
|
||||||
#define FUNC_BEGIN 0
|
|
||||||
#define FUNC_OPERATOR 1
|
|
||||||
#define FUNC_IDENTIFIER 2
|
|
||||||
#define FUNC_NUMBER 3
|
|
||||||
#define FUNC_RESERVEWORD 4
|
|
||||||
#define FUNC_STRING 5
|
|
||||||
|
|
||||||
//for token and lexer
|
|
||||||
#define OPERATOR 1 //界符 or 运算符
|
|
||||||
#define IDENTIFIER 2 //自定义标识符
|
|
||||||
#define NUMBER 3 //数字
|
|
||||||
#define RESERVEWORD 4 //关键字
|
|
||||||
#define STRING 5 //字符串类型
|
|
||||||
|
|
||||||
struct token_unit
|
|
||||||
{
|
|
||||||
int type;
|
|
||||||
std::string content;
|
|
||||||
int line;
|
|
||||||
token_unit *next;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct parameter
|
|
||||||
{
|
|
||||||
std::string var_name;
|
|
||||||
var param_var;
|
|
||||||
parameter *next;
|
|
||||||
};
|
|
||||||
|
|
||||||
class func
|
|
||||||
{
|
|
||||||
private:
|
|
||||||
token_unit *statement_head;
|
|
||||||
parameter *parameter_head;
|
|
||||||
public:
|
|
||||||
func();
|
|
||||||
func(const func&);
|
|
||||||
~func();
|
|
||||||
func& operator=(const func&);
|
|
||||||
void append_var(std::string&,var&);
|
|
||||||
void append_token(const int,const int,std::string &);
|
|
||||||
void print_info();
|
|
||||||
};
|
|
||||||
|
|
||||||
class token_list
|
|
||||||
{
|
|
||||||
private:
|
|
||||||
token_unit *head;
|
|
||||||
int list_range;
|
|
||||||
public:
|
|
||||||
token_list();
|
|
||||||
~token_list();
|
|
||||||
token_unit* get_head();
|
|
||||||
int get_list_range();
|
|
||||||
void print_line_token(const int);
|
|
||||||
void delete_all();
|
|
||||||
void append(const int,const int,std::string&);
|
|
||||||
void print();
|
|
||||||
};
|
|
||||||
|
|
||||||
token_list nasal_lexer;
|
|
||||||
|
|
||||||
struct parse_unit
|
|
||||||
{
|
|
||||||
int type;
|
|
||||||
std::string content;
|
|
||||||
int line;
|
|
||||||
};
|
|
||||||
|
|
||||||
class parse
|
|
||||||
{
|
|
||||||
private:
|
|
||||||
parse_unit *content_array;
|
|
||||||
parse_unit *statement;
|
|
||||||
int len;
|
|
||||||
public:
|
|
||||||
parse();
|
|
||||||
~parse();
|
|
||||||
void content_array_set_empty();
|
|
||||||
void statement_set_empty();
|
|
||||||
void brace_check();
|
|
||||||
bool def_function();
|
|
||||||
bool def_array();
|
|
||||||
bool def_hash();
|
|
||||||
bool def_scalar();
|
|
||||||
bool asi_function();
|
|
||||||
bool asi_array();
|
|
||||||
bool asi_hash();
|
|
||||||
bool asi_scalar();
|
|
||||||
void definition();
|
|
||||||
void assignment();
|
|
||||||
void total_run(token_list&);
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
Loading…
Reference in New Issue