creation.cpp

来自「(1) 给定一段符合Pascal子集语法的语言」· C++ 代码 · 共 72 行

CPP
72
字号
#include "StdAfx.h"
#include ".\creation.h"

item::item()
{
	next = NULL;
}

creation::creation(void)
{
	right.clear();
	length = 0;
	left = 0;
}


void creation::setName(int temp)
{
	name = temp;
}

int creation::getName()
{
	return name;
}

int creation::getLeft()
{
	return left;
}

int creation::getLength()
{
	return length;
}

void creation::analyze(FileReader *fr)
{
	char name[SYMBOL_MAX_LENGTH];
	fr->getFirstString(name);
	left = _sm.getInt((string)name);

	while( true )
	{
		if( fr->IsLineEnd() == 1 )
			break;
		fr->getFirstString(name);
		int temp = _sm.getInt((string)name);
		right.push_back(temp);
		length ++;
	}
}

void creation::setLeft(int name)
{
	left = name;
}

int creation::getPosition(int pos)
{
	return right[pos];
}
void creation::output()
{
	record<<"这是第"<<this->name<<"个产生式: ";
	record<<this->left<<" → ";
	for( int i = 0 ; i < length ; i++)
		cout<<right[i]<<" ";
	record<<" ....length is : "<<length<<endl;
}

⌨️ 快捷键说明

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