• Stars
    star
    122
  • Rank 292,031 (Top 6 %)
  • Language
    Java
  • Created over 11 years ago
  • Updated over 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

利用java语言写的编译器,自己设计了语言、文法、设计了词法分析、语法分析、语义分析和汇编代码生成

编译器界面图:

NewSWTApp.java UI部分(SWT组件) github

运行方法 Usage

CFanalyze.java 词法分析部分

在文本域输入你的代码(按照我给的文法 文法在myG.txt里) github 先点击第一个button生成词法分析 github YFanalyze.java 词法分析部分

再点击第二个button把代码转义成适配文法标识符的输入串 github 点第三个Button进行语法分析 如果语法正确,显示accepted 如图: github 如果语法错误,显示错误以及错误的地方 YYanalyze.java 词法分析部分

点第四个button进行语义分析 生成四元式 github HBgenerate.java 词法分析部分

点第五个Button进行四元式翻译,翻译成汇编代码 github

More Repositories

1

Data-Structures-and-Algorithms-in-C

所有基础数据结构和算法的纯C语言实现,如各自排序、链表、栈、队列、各种树以及应用、图算法、字符串匹配算法、回溯、并查集等,献丑了
C
835
star
2

Easy-Reactor

Easy-Reactor是一个Linux C++高性能TCP服务框架,基于Reactor模式,支持单线程、多线程Reactor,也支持UDP服务
C++
501
star
3

Ring-Log

Ring-Log是一个高效简洁的C++异步日志, 其特点是效率高(每秒支持至少125万+日志写入)、易拓展,尤其适用于频繁写日志的场景
C++
411
star
4

Netflix-Recommender-with-Spark

基于Apache Spark的Netflix电影的离线与实时推荐系统
Scala
247
star
5

Library-Manage-System

基于JSP struts2和hibernate3的 图书馆管理系统 包括读者和图书的基本管理和检索、排序
Java
68
star
6

Easy-Load-Balancer

Easy-Load-Balancer(ELB)是一个易用、稳定、高性能的服务间远程调用的管理、调度、负载系统
C++
57
star
7

sona

简单的、高可用、高效的基于共享内存的分布式配置中心,集中式管理各类后台配置,配置修改实时推送,且业务API相当简单(两行搞定,一个init+一个get,见readme),已轻量级支持Golang/C++/Java/Python等语言API
Go
39
star
8

KNN-Website-Classifier-System

一种基于改进的KNN网站分类系统,特点是快速、高准确率
Python
21
star
9

ekko-idgenerator

golang实现的分布式唯一ID生成器distributed id generator,有全局趋势递增、严防时钟漂移、高可用、高性能等特点
Go
11
star
10

Redis-StringCAS

Redis为String类型存储增加CAS操作, API包括getcas, getcas, and delcas
C
2
star