Git Product home page Git Product logo

slr1analyse's Introduction

SLR1Analyse

基本信息

华南师范大学 2021级(2023年) 编译原理 实验四 SLR(1)分析生成器

运行环境

QT Creator 5.0.2

QT 5.12.12 MinGW 64-bit

同时打代码使用VS2019+QT插件

文档说明

docs 文档文件夹

test 测试文件夹

code 源码文件夹

!!本项目缺陷:

本项目非SLR1文法设置了不会输出SLR1分析表,但hyl的意思貌似是想输出这个表,具体查看当年的要求为准(可以比对下下面的题目)

题目

实验4 SLR(1)分析生成器

一、实验内容:

设计一个应用软件,以实现SLR(1)分析生成器。

二、实验要求:

1.必做功能:

(1)要提供一个文法输入编辑界面,让用户输入文法规则(可保存、打开存有文法规则的文件)

(2)求出文法各非终结符号的first集合与follow集合,并提供窗口以便用户可以查看这些集合结果。【可以采用表格的形式呈现】

(3)需要提供窗口以便用户可以查看文法对应的LR(0)DFA图。(可以用画图的方式呈现,也可用表格方式呈现该图点与边数据)

(4)要提供窗口以便用户可以查看该文法是否为SLR(1)文法。(如果非SLR(1)文法,可查看其原因)

(5)需要提供窗口以便用户可以查看文法对应的SLR(1)分析表。(如果该文法为SLR(1)文法时)【SLR(1)分析表采用表格的形式呈现】

(6)应该书写完善的软件文档

(7)应用程序应为Windows界面。

2.选做功能。

(1)需要提供窗口以便用户输入需要分析的句子。

(2)需要提供窗口以便用户查看使用SLR(1)分析该句子的过程。【可以使用表格的形式逐行显示分析过程】

三、完成时间:3周时间(第13周-第16周)

四、上交方法:通过砺儒云课堂提交

五、完成方式:每个学生自行独立完成。

六、实验实现的编程语言:C++程序设计语言

七、实验需要提交的内容及注意事项:本次实验作业提交,只能使用RAR文件或ZIP压缩文件。

压缩文件内含文件夹及文件如下:

(1)源程序文件夹:内含整个实验的所有源程序文件和编译方法的说明介绍文件

(2)文档文件夹:内含本次实验的设计文档(PDF或DOC格式)(注:文档书写格式可参考百度云盘中课程实验文件夹下的格式)

(3)测试数据文件夹:内含所有的测试数据文件和测试结果的汇报文件

(4)可执行程序文件夹:内含本次实验的可执行程序以及使用说明书。

注意事项:文法规则为了处理上的简单,输入时可以只输入单一个大写字母作为非终结符号,非大写英文字母(除@外)作为终结符号,用@表示空串,默认左边出现的第一个大写字母为文法的开始符号,如,可以这样输入:

 E->E+T 
 E->T 
 T->a 

或:

A->(A)
A->a

slr1analyse's People

Contributors

tatttleung avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.