Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/outprog/simple

一个ruby构造的玩具级别语言
https://github.com/outprog/simple

Last synced: 21 days ago
JSON representation

一个ruby构造的玩具级别语言

Awesome Lists containing this project

README

        

计算的本质(代码)
===
本项目的代码来自《计算的本质:深入剖析程序和计算机》

***

## class 文件夹

### simple.rb
一个 ruby 构造的玩具级别 simple 语言的实现

### automaton.rb
模拟自动机,实现确定性有限自动机和非确定性有限自动机的类

### pattern.rb
模拟实现正则表达式

### precedence.rb
判断算数优先级

### pda.rb
PushDown Automaton
实现确定性下推自动机和非确定性下推自动机的类

### lexical_analyzer.rb
词法分析器

### dtm.rb
图灵机的模拟

## 根目录

### simple_test.rb
- simple 语言测试
- simple treetop 语法解析器测试

### pattern_test.rb
- 正则表达式测试
- treetop 语法解析测试
- 等价性测试: NFA 转 DFA

### precedence.rb
判断算数优先级测试

### dpda_test.rb
确定性下推自动机测试

### npda_test.rb
非确定性下推自动机测试

### lexical_analyzer_test.rb
词法分析测试

### syntactic_analysis_test.rb
语法分析测试

### dtm_test.rb
- 模拟纸带的测试
- 图灵机的测试
- 使用图灵机识别'aaabbbccc'字符串

### impersonating_lambda_test.rb
模拟 lambda 演算(包含实现和测试)

### programs_can_refer_to_themselves.rb
能引用自身的程序