文脈情報クラス
これまでC# で作成してきた「SourceToHTML」を、VC++.NET に焼きなおしてみます。
Context.h
#pragma once#include ".\token.h"
namespace SourceToHtml
{
using namespace System;
//*******************************************************************************************************
// 文脈情報クラス
//*******************************************************************************************************
public __gc class Context
{
public:
String* State; // トークンリーダーの状態Char prevChar; // 前の文字
Char currChar; // 現在の文字
Char nextChar; // 次の文字Token* prevToken; // 前のトークン
Token* currToken; // 現在のトークン
Token* nextToken; // 次のトークン// 初期化
Context();
// 終了
~Context();
};
}
Context.cpp
#include "StdAfx.h"
#include ".\context.h"namespace SourceToHtml
{
//*******************************************************************************************************
// 文脈情報クラス
//*******************************************************************************************************
//-------------------------------------------------------------------------------------------------------
// 初期化
//-------------------------------------------------------------------------------------------------------
Context::Context()
{
State = S"その他"; // トークンリーダーの状態prevChar = '\0'; // 前の文字
currChar = '\0'; // 現在の文字
nextChar = '\0'; // 次の文字//未確定トークン を 初期化
currToken = new Token(S"", S"その他");
nextToken = new Token(S"", S"その他");//確定済みトークン を 初期化
prevToken = new Token(S"", S"その他");
}
//-------------------------------------------------------------------------------------------------------
// 終了
//-------------------------------------------------------------------------------------------------------
Context::~Context()
{
currToken = NULL;
nextToken = NULL;
prevToken = NULL;
}
}