资源简介

LR0分析表自动生成程序_界面输入产生式自动生成LR0分析表 用栈的方法实现LR0算法(给定文法)

资源截图

代码片段和文件信息

// AnalyzeDlg.cpp : implementation file
//

#include “stdafx.h“
#include “LR0ForWin.h“
#include “AnalyzeDlg.h“
#include 
#include 
#include “Pair.h“
using namespace std;

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CAnalyzeDlg dialog


CAnalyzeDlg::CAnalyzeDlg(CWnd* pParent /*=NULL*/)
: CResizingDialog(CAnalyzeDlg::IDD pParent)
{
//{{AFX_DATA_INIT(CAnalyzeDlg)
m_input = _T(““);
//}}AFX_DATA_INIT
m_strTempFilename = ““;
m_pTree = new CTreeDlg;
m_pTree->Create(IDD_DIALOG3 this);
m_pTree->SetControlInfo(IDC_TREE1 RESIZE_BOTH);
m_pTree->SetControlInfo(IDOK ANCHORE_BOTTOM | ANCHORE_RIGHT);
}

CAnalyzeDlg::~CAnalyzeDlg()
{
m_pTree->DestroyWindow();
delete m_pTree;
}

void CAnalyzeDlg::DoDataExchange(CDataExchange* pDX)
{
CResizingDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAnalyzeDlg)
DDX_Control(pDX IDC_EDIT1 m_edit1);
DDX_Control(pDX IDC_EXPLORER1 m_web);
DDX_Text(pDX IDC_EDIT1 m_input);
//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CAnalyzeDlg CResizingDialog)
//{{AFX_MSG_MAP(CAnalyzeDlg)
ON_BN_CLICKED(IDC_BUTTON1 OnButton1)
ON_BN_CLICKED(IDC_BUTTON2 OnButton2)
ON_WM_ACTIVATE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAnalyzeDlg message handlers

void CAnalyzeDlg::OnOK() 
{
// TODO: Add extra validation here

//CDialog::OnOK();
}

void CAnalyzeDlg::OnCancel() 
{
// TODO: Add extra cleanup here
if (m_strTempFilename != ““)
DeleteFile(m_strTempFilename.c_str());
CResizingDialog::OnCancel();
}

void CAnalyzeDlg::OnButton1() 
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
m_pTree->m_tree.DeleteAllItems();

for(int i = 0; i < m_input.GetLength(); i ++)
{
if (!m_g.IsInVt(m_input.GetAt(i)))
{
MessageBox(“输入的句子不全部由终结符组成“ “错误“ MB_OK | MB_IConstop);
return;
}
}
assert(TreeStack.empty());
m_input += “#“;
char szTempPath[MAX_PATH]; 
char szTempName[MAX_PATH]; 
if (m_strTempFilename != ““)
::DeleteFile(m_strTempFilename.c_str());
::GetTempPath(100szTempPath);
::GetTempFileName(szTempPath“LR0“0szTempName);
m_strTempFilename = szTempName;
CStdioFile out;
out.Open(szTempName CFile::modeCreate | CFile::modeWrite);
out.WriteString(“\n“);
out.WriteString(“\n“);
out.WriteString(“tle>Untitled Documenttle>\n“);
out.WriteString(“ta http-equiv=\“Content-Type\“ content=\“text/html; charset=gb2312\“>\n“);
out.WriteString(“\n“);
out.WriteString(“\n“);
out.WriteString(“yle=\“border-collapse: collapse\“ bordercolor=\“#111111\“>\n“);
out.WriteString(“\n 步骤 \n 状态栈<

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     733125  2009-04-23 19:24  LR(0)分析表\LR(0)分析表.rar

     文件        123  2008-06-20 14:51  LR(0)分析表\编译原理课程设计\代码\1.txt

     文件        115  2008-06-20 14:52  LR(0)分析表\编译原理课程设计\代码\2.txt

     文件         98  2008-06-20 14:54  LR(0)分析表\编译原理课程设计\代码\3.txt

     文件        131  2008-06-20 14:57  LR(0)分析表\编译原理课程设计\代码\4.txt

     文件        155  2008-06-20 14:57  LR(0)分析表\编译原理课程设计\代码\5.txt

     文件       8355  2008-06-20 15:07  LR(0)分析表\编译原理课程设计\代码\AnalyzeDlg.cpp

     文件       1917  2008-06-20 15:07  LR(0)分析表\编译原理课程设计\代码\AnalyzeDlg.h

     文件     166312  2009-04-24 02:42  LR(0)分析表\编译原理课程设计\代码\Debug\AnalyzeDlg.obj

     文件          0  2009-04-24 02:42  LR(0)分析表\编译原理课程设计\代码\Debug\AnalyzeDlg.sbr

     文件      63606  2009-04-24 02:42  LR(0)分析表\编译原理课程设计\代码\Debug\explorer.obj

     文件          0  2009-04-24 02:42  LR(0)分析表\编译原理课程设计\代码\Debug\explorer.sbr

     文件       3249  2009-04-24 02:42  LR(0)分析表\编译原理课程设计\代码\Debug\GoData.obj

     文件          0  2009-04-24 02:42  LR(0)分析表\编译原理课程设计\代码\Debug\GoData.sbr

     文件     186415  2009-04-24 02:42  LR(0)分析表\编译原理课程设计\代码\Debug\Grammar.obj

     文件          0  2009-04-24 02:42  LR(0)分析表\编译原理课程设计\代码\Debug\Grammar.sbr

     文件    3589120  2009-04-24 02:42  LR(0)分析表\编译原理课程设计\代码\Debug\LR0ForWin.bsc

     文件     233569  2009-05-03 06:01  LR(0)分析表\编译原理课程设计\代码\Debug\LR0ForWin.exe

     文件     590996  2009-05-03 06:01  LR(0)分析表\编译原理课程设计\代码\Debug\LR0ForWin.ilk

     文件      15544  2009-04-24 02:42  LR(0)分析表\编译原理课程设计\代码\Debug\LR0ForWin.obj

     文件    7140716  2009-04-24 02:42  LR(0)分析表\编译原理课程设计\代码\Debug\LR0ForWin.pch

     文件     918528  2009-05-03 06:01  LR(0)分析表\编译原理课程设计\代码\Debug\LR0ForWin.pdb

     文件       4612  2009-04-24 02:33  LR(0)分析表\编译原理课程设计\代码\Debug\LR0ForWin.res

     文件          0  2009-04-24 02:42  LR(0)分析表\编译原理课程设计\代码\Debug\LR0ForWin.sbr

     文件      69567  2009-05-03 06:01  LR(0)分析表\编译原理课程设计\代码\Debug\LR0ForWinDlg.obj

     文件          0  2009-04-24 02:42  LR(0)分析表\编译原理课程设计\代码\Debug\LR0ForWinDlg.sbr

     文件       3862  2009-04-24 02:42  LR(0)分析表\编译原理课程设计\代码\Debug\Pair.obj

     文件          0  2009-04-24 02:42  LR(0)分析表\编译原理课程设计\代码\Debug\Pair.sbr

     文件      17524  2009-04-24 02:42  LR(0)分析表\编译原理课程设计\代码\Debug\Precept.obj

     文件          0  2009-04-24 02:42  LR(0)分析表\编译原理课程设计\代码\Debug\Precept.sbr

............此处省略66个文件信息

评论

共有 条评论