随笔分类 - Java.Compiler
摘要:【代码下载】 https://files.cnblogs.com/files/heyang78/TableParser220825.rar?t=1661420885 【目标】 解析Oracle 建表语句文本,从中取出表名、表注释、字段名、字段注释、字段类型、是否主键等信息 【待解析文本示例】 cre
阅读全文
摘要:原文: select id,rank() over (order by id) as seq,sum(a) as sm,count(*) as cnt from emp 整理后: select id, rank() over order by id as seq, sum(a) as sm, cou
阅读全文
摘要:软件功能:解析查询语句,按编译原理分解出其中的字段、表、条件等,形成抽象语法树,并据此将sql整理成层次分明、排列清晰的形式。 界面截图: 1.06版下载地址(可执行包及源码):https://files.cnblogs.com/files/heyang78/sqlresolver106_barja
阅读全文
摘要:执行包和源码下载地址:https://files.cnblogs.com/files/heyang78/arithexp101_210814_src_final.rar 使用前提:安装JDK1.8,若不会请参考 https://www.cnblogs.com/heyang78/p/7429783.h
阅读全文
摘要:我在5.1-5.5做基于SpringBoot的web应用,后来感觉Web程序还是low,没多大意思,于是把去年八九月就想做的编译又捡起来了。 由于龙书虎书鲸书的存在,加上自己不是科班出生,编译原理在我心中有如一座高耸入云的高山,实话说以前被三本书虐过,再捡起来有些打怵。 好在现在互联网购书快捷方便,
阅读全文
摘要:源码:https://files.cnblogs.com/files/heyang78/BasicInterpreter2-20200601-3.rar 改进后使得变量和字符串可以一起输出了。 输入脚本: for x=1 to 9 for y=1 to x z=x*y print(y+"*"+x+"
阅读全文
摘要:源码下载:https://files.cnblogs.com/files/heyang78/BasicInterpreter2-20200601-2.rar 用编程语言打印九九乘法表不难,用自编解释器运行自编脚本打印九九乘法表难度就多了那么一丢丢。本例就是讲述我编的这个程序: 输入脚本: for x
阅读全文
摘要:源码下载:https://files.cnblogs.com/files/heyang78/basicInterpreter102-20200531-2.rar 输入: for x=1 to 10 print(x) next print("") for y=10 to 20 print(y) nex
阅读全文
摘要:源码:https://files.cnblogs.com/files/heyang78/basicInterpreter-20200531-1.rar 输入: count=10 print(count) if count==10 then print("count等于10") if count<20
阅读全文
摘要:源码下载:https://files.cnblogs.com/files/heyang78/basicInterpreter-20200529-1.rar 脚本: count=10 print(count) count=20 print(count) print(cnt) print("Hello!
阅读全文
摘要:感慨:当年看着 https://www.cnblogs.com/heyang78/p/11451814.html 一文望洋兴叹,如今我也自己做出来了! 21. 原文=select name, cnt from (select name from tb order by name,id,age,lev
阅读全文
摘要:源码下载:https://files.cnblogs.com/files/heyang78/SqlAnalyzer-20200529-2.rar 现有功能:不带函数允许嵌套的select ...from... where...group by...having...order by...的解析。 核
阅读全文
摘要:SqlAnalyzer功能:解析SQL语句,具体到字段,表和条件,并将其整理后输出格式化文本。 1. 原文=select a from b 整理后文本= select a from b 2. 原文=select a,b,c from tb,tc,td,tf f,tg g 整理后文本= select
阅读全文
摘要:此工程用途:将xml同级属性/子节点按字母序排列重新输出. 源码下载: https://files.cnblogs.com/files/heyang78/XmlAnalyzer-20200526-1.zip 核心类: Token,此类用于将XML文件中的文本分类: package com.heyan
阅读全文
摘要:XmlAnalyzer 工程目的:将XML的属性和子节点按字母序排列,然后整形输出: 08. 原文=<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-insta
阅读全文
摘要:本版的改进主要在字符串的处理,前版不允许出现[]{},:等,现在都可以了,做出的修改主要在Lexer类,另外Token类增加1了下标,TreeBuilder类的不合语法处也做出一定修改. 测试用例:https://www.cnblogs.com/heyang78/p/12956735.html 代码
阅读全文
摘要:14. 原文={"animal":"ca,t","color":"ora:nge","isMale":true,"sn":987621,"pak":null,rate:22.345,} 内部排序后文本: { "animal":"ca,t", "color":"ora:nge", "isMale":t
阅读全文
摘要:本例源码:https://files.cnblogs.com/files/heyang78/JsonAnalyzer2-20200525-01.rar 自从按BNF重新书写了算术表达式解析(https://www.cnblogs.com/heyang78/p/12951492.html)后,深感这种
阅读全文
摘要:测试用例如下: 01. Compact json text={"status":"0000","message":"success","data":{"title":{"id":"001","name":"白菜"},"content":[{"id":"001","value":"你好白菜"},{&q
阅读全文
摘要:带界面的代码下载:https://files.cnblogs.com/files/heyang78/ArithmeticExpressionParser101_210811PM.rar 代码下载:https://files.cnblogs.com/files/heyang78/MathAnalyze
阅读全文