⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ll1_judge.h

📁 vc++实现编译原理中的LL(1)文法的编译过程,非常好用.
💻 H
字号:
#pragma once

#include <vector>
#include <string>
#include <iostream>
using namespace std;

struct judge_nt
{
	char zuo;
	char you;
};

class LL1_judge
{

private:
	vector<char> m_terminal;
	vector<char> m_non_terminal;
	vector< vector<char> > m_creation;//记录所有的产生式
	vector< vector<char> > m_first;
    vector< vector<char> > m_follow;
	vector<char> m_temp_nt;
	int m_temp_nt_pointer;
	vector<char> m_compare;
	string m_str_compare;
public:
	LL1_judge(void);
	~LL1_judge(void);
	
	bool in_type(string str);
	void cancel_directly(void);
	int in_terminal_sign(string str);
	void in_non_terminal_sign(string str);
	bool judge_directly(vector<char> vec);
	bool judge_indirectly();
	void help_j_ind(vector<judge_nt> &vec, char zuo,char you,bool &is_end);
	void display_all(void);
	void cancel_indirectly(void);
	void find_first();
	void push_back(vector<char> &vec, char ch);
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -