Inthisbookwewillcreateaprogramminglanguagetogether.We'llstartwith0linesofcodeandendupwithafullyworkinginterpreterfortheMonkey*programminglanguage.Stepbystep.Fromtokenstooutput.Allcodeshownandincluded.Fullytested.Buythisbooktolearn-HowtobuildaninterpreterforaC-likeprogramminglanguagefromscratch-Whatalexer,aparserandanAbstractSyntaxTree(AST)areandhowtobuildyourown-Whatclosuresareandhowandwhytheywork-WhatthePrattparsingtechniqueandarecursivedescentparseris-Whatotherstalkaboutwhentheytalkaboutbuilt-indatastructures-WhatREPLstandsforandhowtobuildoneWhythisbookThisisthebookIwantedtohaveayearago.ThisisthebookIcouldn'tfind.Iwrotethisbookforyouandme.Sowhyshouldyoubuyit?What'sdifferentaboutit,comparedtootherinterpreterorcompilerliterature?-Workingcodeisthefocus.Codeisnotjustfoundintheappendix.Codeisthemainfocusofthisbook.-It'ssmall!Ithasaround200pagesofwhichagreatdealarereadable,syntax-highlighted,workingcode.-Thecodepresentedinthebookiseasytounderstand,easytoextend,easytomaintain.-No3rdpartylibraries!You'renotleftwondering:"ButhowdoestoolXdothat?"Wewon'tuseatoolX.WeonlyusetheGostandardlibraryandwriteeverythingourselves.-Tests!Theinterpreterwebuildinthebookisfullytested!SometimesinTDDstyle,sometimeswiththetestswrittenafter.Youcaneasilyruntheteststoexperimentwiththeinterpreterandmakechanges.Thisbookisforyouifyou...-learnbybuilding,lovetolookunderthehood-loveprogrammingandtoprogramforthesakeoflearningandjoy!-areinterestedinhowyourfavorite,interpretedprogramminglanguageworks-nevertookacompilercourseincollege-wanttogetstartedwithinterpretersorcompilers…-...butdon'twanttoworkthroughatheory-heavy,800pages,4poundscompilerbookasabeginner-keptscreaming"showmethecode!"whenreadingaboutinterpretersandcompilers-alwayswantedtosay:"Holyshit,Ibuiltaprogramminglanguage!"TableofContentsAcknowledgmentsIntroductionLexingParsingEvaluationExtendingtheInterpreterResourcesFeedbackChangelog
2024/8/9 4:05:27 381KB Writing Go Interpreter
1
eclispe开发python的最新工具安装好PyDev之后,需要配置Python/Jython解释器,配置过程很简单。
在Eclipse菜单栏中,选择Window>Preferences>Pydev>Interpreter-(Python/Jython),在这里配置Python/Jython解释器
2024/2/26 23:10:51 25.05MB eclispe插件 python开发
1
搜罗5个文件适用于64位windows体系中python装置numba减速1pyphon3.7已经装置,且pycharm也已经装置2装置vs2015/2017/2019均可,而后运行VC3将上述whl文件使用品评分别装置,秩序按次为numpy、llvm、numba、import4至此在pycharm中file-setting-project-interpreter中能够看到齐全已经都装置5装置实现,网上找使用方式
2023/4/3 14:13:22 239.27MB numba python 加速 并行
1
共150讲,时长共33小时18分钟1)优秀的程序应该是这样的:阅读时,感觉很优雅;
新增功能时,感觉很轻松;
运行时,感觉很快速,这就需要设计模式支撑。
2)设计模式包含了大量的编程思想,讲授和真正掌握并不容易,网上的设计模式课程不少,大多讲解的比较晦涩,没有真实的应用场景和框架源码支撑,学习后,只知其形,不知其神。
就会形成这样结果:知道各种设计模式,但是不知道怎么使用到真实项目。
本课程针对上述问题,有针对性的进行了升级(1)授课方式采用图解+框架源码分析的方式,让课程生动有趣好理解(2)系统全面的讲解了设计模式,包括设计模式七大原则、UML类图-类的六大关系、23种设计模式及其分类,比如单例模式的8种实现方式、工厂模式的3种实现方式、适配器模式的3种实现、代理模式的3种方式、深拷贝等3)如果你想写出规范、漂亮的程序,就花时间来学习下设计模式吧课程内容和目标本课程是使用Java来讲解设计模式,考虑到设计模式比较抽象,授课采用图解+框架源码分析的方式1)内容包括:设计模式七大原则(单一职责、接口隔离、依赖倒转、里氏替换、开闭原则、迪米特法则、合成复用)、UML类图(类的依赖、泛化和实现、类的关联、聚合和组合)23种设计模式包括:创建型模式:单例模式(8种实现)、抽象工厂模式、原型模式、建造者模式、工厂模式。
结构型模式:适配器模式(3种实现)、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式(3种实现)。
行为型模式:模版方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式(责任链模式)2)学习目标:通过学习,学员能掌握主流设计模式,规范编程风格,提高优化程序结构和效率的能力
2020/11/27 23:04:30 119.76MB 设计模式 尚硅谷 韩顺平
1
共150讲,时长共33小时18分钟1)优秀的程序应该是这样的:阅读时,感觉很优雅;
新增功能时,感觉很轻松;
运行时,感觉很快速,这就需要设计模式支撑。
2)设计模式包含了大量的编程思想,讲授和真正掌握并不容易,网上的设计模式课程不少,大多讲解的比较晦涩,没有真实的应用场景和框架源码支撑,学习后,只知其形,不知其神。
就会形成这样结果:知道各种设计模式,但是不知道怎么使用到真实项目。
本课程针对上述问题,有针对性的进行了升级(1)授课方式采用图解+框架源码分析的方式,让课程生动有趣好理解(2)系统全面的讲解了设计模式,包括设计模式七大原则、UML类图-类的六大关系、23种设计模式及其分类,比如单例模式的8种实现方式、工厂模式的3种实现方式、适配器模式的3种实现、代理模式的3种方式、深拷贝等3)如果你想写出规范、漂亮的程序,就花时间来学习下设计模式吧课程内容和目标本课程是使用Java来讲解设计模式,考虑到设计模式比较抽象,授课采用图解+框架源码分析的方式1)内容包括:设计模式七大原则(单一职责、接口隔离、依赖倒转、里氏替换、开闭原则、迪米特法则、合成复用)、UML类图(类的依赖、泛化和实现、类的关联、聚合和组合)23种设计模式包括:创建型模式:单例模式(8种实现)、抽象工厂模式、原型模式、建造者模式、工厂模式。
结构型模式:适配器模式(3种实现)、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式(3种实现)。
行为型模式:模版方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式(责任链模式)2)学习目标:通过学习,学员能掌握主流设计模式,规范编程风格,提高优化程序结构和效率的能力
2020/11/27 23:04:30 119.76MB 设计模式 尚硅谷 韩顺平
1
《HeadFirst设计模式》(中文版)共有14章,每章都引见了几个设计模式,完整地涵盖了四人组版本全部23个设计模式。
前言先引见这本书的用法;
第1章到第11章陆续引见的设计模式为Strategy、Observer、Decorator、AbstractFactory、FactoryMethod、Singleton,Command、Adapter、Facade、TemplateMethod、Iterator、Composite、State、Proxy。
最后三章比较特别。
第12章引见如何将两个以上的设计模式结合起来成为新的设计模式(例如著名的MVC模式),作者称其为复合设计模式(这是作者自创的名称,并非四人组的标准名词),第13章引见如何进一步学习设计模式,如何发觉新的设计模式等主题,至于第14章则很快地浏览尚未引见的设计模式,包括Bridge、Builder、ChainofResponsibility、Flyweight、Interpreter、Mediator、Memento、Prototype,Visitor。
第1章还引见了四个OO基本概念(抽象、封装、继承、多态),而第1章到第9章也陆续引见了九个OO原则(Principle)。
千万不要轻视这些OO原则,因为每个设计模式背后都包含了几个OO原则的概念。
很多时候,在设计时有两难的情况,这时候我们必须回归到OO原则,以方便判断取舍。
可以这么说:OO原则是我们的目标,而设计模式是我们的做法。
---------------------作者:owen2335来源:CSDN原文:https://blog.csdn.net/owen2335/article/details/80444856版权声明:本文为博主原创文章,转载请附上博文链接!
2022/9/8 21:21:15 45.17MB 设计模式 Java
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡