transitiontable.cc

来自「一个模拟flex的应用程序 主要实现词法分析 语义分析」· CC 代码 · 共 43 行

CC
43
字号
#include "TransitionTable.h"
TransitionTable::TransitionTable(int rowNum, int colNum)
{
	rowNumber = rowNum;
	colNumber = colNum;
	matrix = (int**)(new int*[rowNumber]);
	for (int i=0; i<rowNumber; i++)
		matrix[i] = new int[colNumber];
}
TransitionTable::~TransitionTable()
{
	Clear();
}
/*Set the value of the element*/
void TransitionTable::SetValue(int i, int j, int value)
{
	matrix[i][j] = value;
}
/*Get the value of the element*/
int TransitionTable::GetValue(int i, int j)
{
	return matrix[i][j];
}
// Transition of the states
int TransitionTable::Transit(int current, char input, char *edge)
{
	for (int i=0; edge[i]!= '\0'; i++)
	{
		if (input == edge[i])
			return matrix[current][i];
	}
	return -1;
}
/*Clear the table*/
void TransitionTable::Clear(void)
{
	for (int i=0; i<rowNumber; i++)
		delete [] matrix[i];
	delete matrix;
}

⌨️ 快捷键说明

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