资源简介
编译原理大作业 完整编译器
词法分析 语法分析 语义分析
简单绘图语言
代码片段和文件信息
//#ifdef _VC_COMPILER
#include “semantics.h“
#define MAX_CHARS 200
HWND hwnd;
char SrcFilePath[MAX_CHARS];
static char Name[]=“Compiler“;
static bool PrepareWindow(HINSTANCEHINSTANCEint);
static bool CheckSrcFile(LPSTR);
static LRESULT CALLBACK WndProc(HWNDUINTWPARAMLPARAM);
int APIENTRY WinMain(HINSTANCE hInstance
HINSTANCE hPrevInstance
LPSTR lpCmdLine
int nCmdShow)
{
strcpy(SrcFilePathlpCmdLine);
if(PrepareWindow(hInstancehPrevInstancenCmdShow) != true)
{
MessageBox(NULL“窗口初始化失败 !““错误“MB_OK);
return 1;
}
if(!CheckSrcFile(lpCmdLine))return 1;
Parser(SrcFilePath);
MSG Msg;
while(GetMessage(&MsgNULL00))
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
return Msg.wParam;
}
bool PrepareWindow(HINSTANCE hInstHINSTANCE hPrevInstanceint nCmdShow)
{
HWND hWnd;
WNDCLASS W;
memset(&W0sizeof(WNDCLASS));
W.style=CS_HREDRAW | CS_VREDRAW;
W.lpfnWndProc=WndProc;
W.hInstance=hInst;
W.hCursor=LoadCursor(NULLIDC_ARROW);
W.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);
W.lpszClassName=Name;
RegisterClass(&W);
hWnd=CreateWindow(NameNameWS_OVERLAPPEDWINDOW1010740490NULLNULLhInstNULL);
if(hWnd==NULL)return false;
ShowWindow(hWndnCmdShow);
UpdateWindow(hWnd);
SetCursor(LoadCursor(hInstIDC_ARROW));
hDC=GetDC(hWnd);
return true;
}
bool CheckSrcFile(LPSTR lpszCmdParam)
{
FILE * file=NULL;
if(strlen(lpszCmdParam)==0)
{
MessageBox(NULL“未指定源程序文件 !““错误“MB_OK);
return false;
}
if((file=fopen(lpszCmdParam“r“))==NULL)
{
MessageBox(NULL“打开源程序文件出错 !““错误“MB_OK);
MessageBox(NULLlpszCmdParam“文件名“MB_OK);
return false;
}
else fclose(file);
return true;
}
LRESULT CALLBACK WndProc(HWND hWndUINT MessageWPARAM wparamLPARAM lparam)
{
switch(Message)
{
case WM_DESTROY:
ReleaseDC(hWndhDC);
PostQuitMessage(0);
return 0;
break;
case WM_PAINT:
PAINTSTRUCT pt;
BeginPaint(hWnd&pt);
Parser(SrcFilePath);
EndPaint(hWnd&pt);
default :
return DefWindowProc(hWndMessagewparamlparam);
}
}
//#endif
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4335 2007-05-25 12:39 COMPLIER\COMPLIER.dsp
文件 524 2007-05-24 23:29 COMPLIER\COMPLIER.dsw
文件 123904 2007-06-24 23:37 COMPLIER\COMPLIER.ncb
文件 54784 2007-06-24 23:37 COMPLIER\COMPLIER.opt
文件 250 2007-06-01 09:26 COMPLIER\COMPLIER.plg
文件 2205 2007-06-02 12:23 COMPLIER\main.cpp
文件 11195 2007-05-25 12:38 COMPLIER\parser.cpp
文件 495 2007-05-25 12:38 COMPLIER\parser.h
文件 4273 2007-05-24 23:19 COMPLIER\scanner.cpp
文件 1923 2007-05-24 23:19 COMPLIER\scanner.h
文件 3143 2007-05-27 19:01 COMPLIER\semantic.cpp
文件 672 2007-05-24 23:19 COMPLIER\semantics.h
文件 951 2007-06-02 00:07 COMPLIER\text.txt
目录 0 2008-05-20 21:28 COMPLIER
----------- --------- ---------- ----- ----
208872 15
相关资源
- 利用FLEX设计一个small c的词法分析器文
- 基于LR(0)方法的语法分析程序
- 编译原理 词法和语法分析
- LL(1)的语法分析程序
- 计算机视觉中的注意力机制
- LR1语法分析器
- 编译原理实验-flex自动构造词法分析
- 编译原理词法分析,LL1,SLR1)实验报
- 词法语法语义分析器
- TINY 扩充语言的语法分析
- 词法分析语法分析实验报告及源码
- 基于深度学习的图像语义分割算法综
- 编译原理词法分析语法分析
- C Minus 语法分析器及课程设计报告
- FCN图像语义分割代码
- 编译原理_Tiny+语法分析
- 北邮编译原理实验二:语法分析程序
- 词法分析器+语法分析器+中间代码生成
- 编译原理 王生原老师答案和资料
- 词法分析程序和语法分析程序 编译原
- 自顶向下语法分析器的设计与实现
- 编译原理 词法语法分析器
- 词法分析程序可记录行号、识别注释
- 语义分割网络DeepLab-v3的架构设计思想
- LR0语法分析器WINDOW.rar
- 哈工大编译原理词法分析实验报告
- 编译原理自底向上语法分析--LR分析
- 编译器词法分析,语法分析
- 图像语义分割网络:SegNet
- VALSE2018王兴刚教授弱监督语义分割
评论
共有 条评论