编译的语法分析程序,有词法的程序包含里面,容易读懂。
2023/9/15 15:28:50 936KB 赋值语句 语法分析 编译 程序设计
1
高清英文PDF版。
DSL领域的丰碑之作,软件开发“教父”MartinFowler历时多年的心血结晶,ThoughtWorks中国翻译。
  全面详尽地讲解各种DSL及其构造方式,揭示与编程语言无关的通用原则和模式,阐释如何通过DSL有效提高开发人员的生产力以及增进与领域专家的有效沟通。
《领域特定语言》是dsl领域的丰碑之作,由世界级软件开发大师和软件开发“教父”martinfowler历时多年写作而成,thoughtworks中国翻译。
全面详尽地讲解了各种dsl及其构造方式,揭示了与编程语言无关的通用原则和模式,阐释了如何通过dsl有效提高开发人员的生产力以及增进与领域专家的有效沟通,能为开发人员选择和使用dsl提供有效的决策依据和指导方法。
  全书共57章,分为六个部分:第一部分介绍了什么是dsl,dsl的用途,如何实现外部ds和内部dsl,如何生成代码,语言工作台的使用方法;
第二部分介绍了各种dsl,分别讲述了语义模型、符号表、语境变量、构造型生成器、宏和通知的工作原理和使用场景;
第三部分分别揭示分隔符指导翻译、语法指导翻译、bnf、易于正则表达式表的词法分析器、递归下降法词法分析器、解析器组合子、解析器生成器、树的构建、嵌入式语法翻译、内嵌解释器、外加代码等;
第四部分介绍了表达式生成器、函数序列、嵌套函数、方法级联、对象范围、闭包、嵌套闭包、标注、解析数操作、类符号表、文本润色、字面量扩展的工作原理和使用场景;
第五部分介绍了适应性模型、决策表、依赖网络、产生式规则系统、状态机等计算模型的工作原理和使用场景;
第六部分介绍了基于转换器的代码生成、模板化的生成器、嵌入助手、基于模型的代码生成、无视模型的代码生成和代沟等内容。
2023/9/14 16:33:38 5.53MB 领域特定语言
1
百度小程序刚出两个月不久,上个周末闲来无事,看了一下百度小程序的文档,百度下程序的文档跟微信的差不了多少,就是一些api和语法会有一点差别,基本上能写微信小程序的都能很快学会百度小程序!不过百度小程序的开发者工具真的没有微信的好
2023/9/14 2:32:31 2.34MB 小程序 百度小程序
1
前段时间自己业余抽空花了三个月编了一个c语言编译器,将c语言编译成masm32。
总共4个文件,2000多行的代码,其中sca.c是词法,p.c生成语法树,table.c是符号表,g.c是转化成具体masm32代码,只支持char,short,int,double四种类型数据,其他的有兴趣的可以自己修改增加,由于masm32限制,目前该编译器只支持局部变量在函数开头定义,全局变量不能和局部变量同名。
不支持变量强制转变,也不支持switch语句,个人感觉swich没用,#include不支持,只支持“”,现在打包给大家分享,包括源代码(感兴趣的可以自己修改或者转发学习,不允许商业用途),里面还有一些例子,想学习编译原理或者masm32的同志可以看看(特别是学习masm32的,可以把写好的c语言直接编译成masm32代码)!遇到问题可以跟我联系,尽量跟你们回复!
2023/9/9 7:57:32 55KB c yuyan masm32 assamble
1
是pl0的语法分析器,编译原理实验;
用C写的。
/语法分析过程中/利用词法分析的结果进行分析/严格按照PL0程序定义来编写//::=./::=PROGRAM;/::=[][][]/::=CONST{,};/::==/::=VAR{,};/::=;;【原课件中没有最后的分号,经分析应该有分号】/::=PROCEDURE/::=|/::=BEGIN{;}END【符合语句应该注意的是,END前距离END最近的那条语句一定没有分号,其他语句必须有分号】/::=||||||/::=:=/::=READ({,})/::=WRITE({,})/::=CALL【原课件中有分号,实际不应该有】/::=IFTHEN/::=WHILEDO/::=||()/::={}/::=*|//::=[+|-]{}/::=+|-/::=|ODD/::=#|=|>|>=|<|<=
2023/9/9 7:24:35 597KB PL0 编译原理 语法分析
1
基于算符优先分析方法的表达式语法分析器基于预测分析方法的表达式语法分析器说明语句的词法分析器
2023/9/8 15:20:32 177KB 编译原理 语法分析器 词法分析器
1
对TINY编译器进行修改,实现TINY+编译器的词法分析和词义分析,以及建立语法树和语义分析。
包括源代码、可执行文件、详细设计报告。
2023/9/7 17:27:44 1.02MB TINY+ 编译器
1
由于latexdiff代码的版本不匹配perl的最新版本(latexdiff基于旧的版本,而新版本perl有了新的语法规范),所以在windows平台无法成功运行latexdiff。
在上传的资源中,产生不匹配的地方被修改,在自己的平台上(win1064bit,ActivePerlver==5.26)能够成功运行。
2023/9/6 23:22:57 99KB latex latexdiff windows
1
帮助java初学者轻松了解Markedown语法,打开资源需下载Typora。
2023/9/6 15:50:41 2KB Markedown 初学者
1
故事情节基于文法的文本扩展器,位于的静脉中。
通过定义语法并运行生成器来使用Storygen。
语法是字符串到字符串的数组映射(或JavaScript中具有字符串数组的对象)。
有关更多资源,请参见让我们看一个例子。
{origin:["#test#"],test:["hi","hello","hola"]}运行时,它将随机输出“hi”,“hello”或“hola”之一。
还有其他定义语法部分的方法。
函数(#funcName(arg1,arg2,...))random(min:Int,max:Int)=>返回介于min和max之间的随机数。
switch(symbol,['val=>symbol'])=>根据输入val返回一个符号。
grammar={numberOfPeople:['#rand
2023/9/6 6:58:23 100KB gamedev grammar tracery text-expander
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡