原文:跟vczh看实例学编译原理——一:Tinymoe的设计哲学

自从 序 胡扯了快一个月之后,终于迎来了正片。之所以系列文章叫 看实例学编译原理 ,是因为整个系列会通过带大家一步一步实现Tinymoe的过程,来介绍编译原理的一些知识点。 但是第一个系列还没到开始处理Tinymoe源代码的时候,首先的跟大家讲一讲我设计Tinymoe的故事。为什么这种东西要等到现在才讲呢,因为之前没有文档,将了也是白讲啊。Tinymoe在github的wiki分为两部分,一部分是 ...

2014-02-11 12:54 3 5581 推荐指数:

查看详情

vczh实例编译原理——二:实现Tinymoe的词法分析

文章中引用的代码均来自https://github.com/vczh/tinymoe。 实现Tinymoe的第一步自然是一个词法分析器。词法分析其所作的事情很简单,就是把一份代码分割成若干个token,记录下他们所在文件的位置,以及丢掉不必要的信息。但是Tinymoe是一个按行分割的语言 ...

Mon Mar 03 07:45:00 CST 2014 5 6093
vczh实例编译原理——三:Tinymoe与无歧义语法分析

文章中引用的代码均来自https://github.com/vczh/tinymoe。 看了前面的三篇文章,大家应该基本对Tinymoe的代码有一个初步的感觉了。在正确分析"print sum from 1 to 100"之前,我们首先得分析"phrase sum from (lower ...

Mon Mar 24 00:55:00 CST 2014 11 6077
vczh实例编译原理——零:序言

在《如何设计一门语言》里面,我讲了一些语言方面的东西,还有痛快的喷了一些XX粉什么的。不过单纯讲这个也是很无聊的,所以我开了这个《跟vczh实例编译原理》系列,意在科普一些编译原理的知识,尽量让大家可以在创造语言之后,自己写一个原型。在这里我拿我创造的一门很有趣的语言 https ...

Sun Jan 19 09:22:00 CST 2014 22 12293
[译]Godot设计哲学

每款游戏引擎都有不同定位、满足不同的需求。这不仅因为它们所提供的功能不同,更在于每款引擎独特的设计。这些引擎背后各自的设计哲学,会给游戏带来不同的开发流程和开发方式。 面向对象设计 Godot信奉面向对象设计,并以之为核心,构建出了灵活的场景系统和节点层级机制。它尝试为你的游戏项目提供一种直观 ...

Mon Apr 06 01:07:00 CST 2020 0 882
Python的设计哲学

Beautiful is better than ugly. 优美胜于丑陋 Explicit is better than implicit. 明了胜于晦涩 Simple is better th ...

Mon Jun 12 04:25:00 CST 2017 0 4204
软件设计哲学:前言

01 前言 80多年来,人们一直在为计算机编写程序,但令人惊讶的是,关于如何设计这些程序或什么是好程序的讨论却少之又少。关于软件开发过程(如敏捷开发)和开发工具(如调试器、版本控制系统和测试覆盖工具),已经有了相当多的讨论。还广泛分析了编程技术,如面向对象编程和函数式编程,以及设计模式和算法 ...

Mon Dec 16 22:37:00 CST 2019 1 1396
软件设计哲学【翻译】--目录

2020年必读书籍推荐:软件设计哲学(A Philosophy of Software Design),本书190多页,豆瓣的点评分在9分以上,目前只有英文版本,中文版还未上市,英文好的同学建议去直接阅读原版。 作者简介 John Ousterhout是斯坦福大学计算机科学教授。他目前 ...

Thu Dec 19 02:47:00 CST 2019 0 2411
操作系统之哲学原理(第2版)

第一篇 基础原理篇 中断是操作系统获得计算机控制权的根本保证。若没有中断,很难想象操作系统能够完成人们所赋予的任务。中断的基本原理是:设备在完成自己的任务后向CPU发出中断,CPU判断优先级,然后确定是否 响应。如果响应,则执行中断 ...

Sat Jan 11 04:14:00 CST 2020 0 680
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM