自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

痛苦的时候装出幸福相,这不是那么难做到的事

我们会在无言之中水到渠成地接受对方的一切,而根本不存在什么不安什么迷惘,什么都不存在。

  • 博客(2)
  • 资源 (44)
  • 问答 (4)
  • 收藏
  • 关注

原创 二叉树遍历的GIF图--------我画错了吗-------2019年某个无聊的日子

前言复习数据结构,为建立语法树做准备,同时也是复习下JAVA

2019-11-16 01:24:12 451

原创 lang:使用BNF范式设计一个文法

前言BNF范式是一种描述编程语言的数学方法,可读性接近自然语言。...

2019-11-09 19:28:14 1077

Suatinlang_version_2020_3_19_v3.zip

Suatin编程语言第N个项目,增加了调试的功能!assert关键字,可以卡住解释器的解释过程,当卡住后输入exit,解释器会关闭,输入其他的会继续往下解释!

2020-03-19

Suatinlang_version_2020_3_19_v2.zip

Suatin编程语言项目,实现了分支,if-elif-elif...-else 实现了循环while,do-until,for

2020-03-19

Suatinlang_version_2020_3_19.zip(有bug,修正版3_19_v2)

suatin编程语言的项目,快结束了,做完function就结束了,这个项目里完成while,do-until,for三种循环 有一个BUG!!!uncompleted_tree在分支和循环中最后处理的不好

2020-03-19

Suatinlang_version_2020_3_18.zip

这次的自制编程语言项目实行了if-elif-else,可以是嵌套的,总之功能强大! 还做了个简易的Qt的信号槽,可以实现全局信号->非成员函数,全局信号->成员函数!

2020-03-18

Suatinlang_version_2020_3_13.zip

suatin自制编程语言的项目!!!在制作if-elif-else等架构之前,对项目进行了多次改进,打了很多补丁。。。。运行只有单个变量时,打印出数、字符串、布尔、nil 将bool类型的变量很好的融入了表达式中,对布尔进行计算和>,<,>=,<=四种判断运算都会报错!!! 解释时遇到nil类型的变量会报错!!!

2020-03-13

Suatinlang_version_2020_3_10.zip

suatin自制编程项目! 简单表达式现在可以看做有三个模式了:开头是BOOL类型的式子、五则计算式、字符串拼接式! 赋值节点的解释,现在也特别的清楚! (有个BUG,字符串拼接模式下,expTmp完成后不置空) 解决方法,增加expTmp = NULL; 到Parser.cpp,DealToken_Str函数中,return;之前,就行!

2020-03-10

Suatinlang_version_2020_3_9_v2.zip

suatin编程语言的项目!!!3月9号晚上的第二个大更改!!! 去掉了之前的 exprType \ expr_compare_flag \ expr_logic_flag 改为了 m_statType \ m_exprType \ m_simpleExprType 虽然变量数目没变,但是含义可大大更改了,之前的三个变量都是指的一个关系,在那个关系中,计算表达式、字符串拼接表达式、逻辑表达式和判断表达式混为了一谈,但是他们的关系并不是并列的,所以项目中表达式式的区分乱七八糟,没法人脑检查出BUG来!!! 写了三个枚举,改变了语句、表达式、简单表达式之间的关系后,代码变得清爽多了——并不是代码少了,相反,比上一个项目还多2kB,而是关系变得简单了!!!!

2020-03-09

Suatinlang_version_2020_3_9.zip

suatin编程语言的项目! 改进了异常,之前的异常机制只能告诉我有问题,到底问题在哪不知道,改进之后可以得到问题所在的语句了! 还重写了错误种类!

2020-03-09

Suatinlang_version_2020_3_8.zip

suatin自制编程语言的第N的项目!并没有多实现什么,之前单条语句已经解释完了,现在只是打个包,解释了多条语句而已!!!! 感觉很绝望!项目中有很多难以处理的结构,也可能出现未知的bug,所以没办法把解释器的架构给改变了!!!!毕竟是自己乱七八糟写的! suatin语言的项目做到实现函数为止吧!!!画了很多时间,没使用编译原理的知识,也要做到那个地步!!!

2020-03-08

Suatinlang_version_2020_3_4.zip

Suatin编程语言项目 此次改进有,正确区分不同表达式!使字符串拼接模式不再严格,给字符串和数字一样的级别!修改了NotExpr\AndExpr\OrExpr\NeqExpr\EqEqExpr的解释方法,允许非数字的逻辑运算和判断运算!增加了5种节点解释时调用的孩子的解释方法信息,在构造语法树时将【该调用那种解释方法】这个信息留在了5种节点内!

2020-03-04

高速缓存命中率探究系统

《企业级编程与控制理论》中的一个项目。缓存命中率是指,在查找前台缓存时,因为前台缓存是高速缓存,内存小,所以存在着找不到的情况!找不到某个项目的话,就要到后台查找,查找到并返回给用户,并在前台缓存中留一份!!! 这个系统探究的就是,高速缓存器大小与其命中率的关系,如果我要保持80%的命中率,我该设计多大的高速缓存!!!

2020-03-03

Suatinlang_version_2020_3_3.zip(有bug,修改版是2020_3_4)

Suatin编程语言项目 此次改进有,正确区分不同表达式!使字符串拼接模式不再严格,给字符串和数字一样的级别!修改了NotExpr\AndExpr\OrExpr\NeqExpr\EqEqExpr的解释方法,允许非数字的逻辑运算和判断运算!增加了5种节点解释时调用的孩子的解释方法信息,在构造语法树时将【该调用那种解释方法】这个信息留在了5种节点内!

2020-03-03

Suatinlang_version_2020_3_1.zip

Suatin自制编程语言的第6个项目!完成了单个语句的逻辑运算,就是not,and,or.........但是项目本身遇到很大的问题,因为学习的不好,我采用的是最愚蠢的,每遇到一个Token就改变一下语法树,这实在是太麻烦了!啥时候去学习《编译原理》了!迷迷糊糊写了3000代码,完成的功能实在是太简陋了!

2020-03-01

Suatinlang_version_2020_2_28.zip

Suatin自制编程语言5,一次较大的改动!为了引入bool返回值,增加了一个interpret_bool接口!解决了正则识别不了>=,&lt;=的BUG!改善了语言环境的显示!引入了特殊赋值!为了判断运算又增加了6个类!

2020-02-28

Suatinlang_version_2020_2_25.zip

Suatin编程语言的第四个项目,添加了赋值,即允许 a = Expr 和 a= b = Expr 的存在!暂时把Int和number(double)合在了一起,现在就两个主要的类型,Number和String!

2020-02-25

Suatinlang_version_2020_2_23.zip

自制编程语言Suatin的第三个项目,之前的简单语法树只有Num,这次增加了对Id\Str的处理!给解释器模式增加了一个接口string interpret_str()!!!!

2020-02-24

Suatinlang_version_2020_2_21.zip

Suatin-lang项目的第二个版本,抛弃的第一个版本才用的中缀转后缀,而是直接由Token建立语法树!架构也重置了,之前的功能少,文件有三十多个,这次文件只有5个!

2020-02-21

Suatinlang_version_2020_2_3.zip

自制编程语言的第一个项目,完成了识别分类Token,还有分割了简单语句!虽然后面的项目可能要大改,但是这第一个还是要好好纪念一下的!

2020-02-09

Calculator_version_2020_2_4.zip

计算机改进版,添加了默认函数,虽然只能有一个参数!添加了小数、指数,基本的计算都能完成了。仍然是中缀表达式转后缀表达式,后缀表达式求解

2020-02-09

Calculator_version_2020_2_3.zip

计算机的第一个版本,输入一个式子,1+2-3/5^6%3都能算出来。通过中缀表达式转后缀表达式,然后通过后缀表达式求解。缺点是数字只能是一个一个的,而且不支持数学函数

2020-02-09

Keyshot使用笔记

Keyshot使用笔记,旋转选定移动缩放等操作又与其他软件不同!!!!

2023-11-15

好看的鼠标图标,暴走漫画类型、雪花类型等

好看的鼠标图标,暴走漫画类型、雪花类型等

2022-10-24

用easyX-CPP制作小游戏的书-适合新手

用easyX-CPP制作小游戏的书-适合新手 都是些基本操作,学完自己就喜欢去做游戏了。还是要去学游戏引擎,别想着自己实现引擎了,浪费时间。

2022-07-02

2021-6-1 lexer.zip

i think of you 的词法分析器

2021-06-01

suatin-lang last.zip

之前的文件内容格式出了问题,至于这个解释器项目,我是不会大改内容的

2021-05-26

1 precompiler.zip

pythin-like类语言i think of you预编译器

2021-05-24

2021-2-19 iter_function.zip

函数解析

2021-02-19

2021-2-12 loop_range.zip

解析了循环,设计实现了range,解决了lexer的一些Bug

2021-02-12

2021-2-10 if.zip

改进了let,static,const语法树,解析了BEGIN和END块,解析了if,elif,else 修改了Node类设计。 但是出于BinOp_Node类上面的类都会被VS2019当做是BinOp_Node类,这是编译器的问题,不是我的

2021-02-10

2021-2-4 Statement.zip

把一条语句完整的构造成AST

2021-02-04

2021-1-27 let_var_const.zip

实现了变量定义,let a = 1 let a = b = c = 1 + 2 之类的

2021-01-27

2021-1-26 Pool_Lexer_Parser.zip

分离了lexer和语法树的构造,把AST构造放到了Parser内,这样第一遍扫描就把所有的token扫描出来

2021-01-26

2021-1-12 SimpleAST.zip

zhangqi-lang抽象语法树,这个里面只实现了表达式的抽象语法树,复杂的没写,或者说删除了

2021-01-12

2021-1-11 SaveInVector.zip

zhangqi-lang还是词法分析阶段,把token全部放入容器中,便于后面多次扫描

2021-01-11

2021-1-10 FSM_Lexer.zip

zhangqi-lang词法分析器,zhangqi-lang语言开放的第一个项目。用状态机实现,有5改状态机:注释、标识符、数字、操作符、字符串

2021-01-10

Suatin编程语言项目最后一个LAST

SUATIN不学编译原理制作编程语言的项目完整版!

2020-10-02

DemllieText.zip

QT5 c++ 制作的文本编辑器。新建、保存、打开、保存为、全选、剪切、复制、粘贴、清空、粗体、斜体、下划线、字体、字体大小、关闭询问、最大化与恢复、最小化、更换背景、关于作者

2020-06-26

Suatinlang_version_2020_4_5.zip

Suatin编程语言项目。这次设计了变量栈,scope=0放特殊变量,scope=1放常量,scope=2放全局变量,scope>2放局部变量——这么设计了,但是现在还没有识别local x;const x;del x;那部分下次做

2020-04-05

Suatinlang_version_2020_3_28.zip

suatin自制编程语言项目!精简了变量的内存结构!将单个分号不算做语句,提高了解释速度!10000个数的空循环一秒多就运行完了!一百万个数的空循环大概100秒左右运行完!

2020-03-28

Suatinlang_version_2020_3_26.zip

suatin编程语言的倒数第几个项目。做了一些变化,比如竟可能的把实现和声明分开了。把异常机制的模板给去掉了,这个异常以后再搞其他项目的时候要好好考虑清楚。现在6千行代码,每次都要大改异常机制,一改就是几百个函数 这次的项目最重要的就是完善了循环的功能,增加了break;和continue;还增加了打印语义树的方法

2020-03-26

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除