All Projects → Manistein → Dummylua Tutorial

Manistein / Dummylua Tutorial

Licence: mit
这是一个仿制lua解释器的项目,我希望通过逐步实现lua解释器的各个部分,更加深刻地掌握lua的基本结构和运作原理。

Programming Languages

c
50402 projects - #5 most used programming language
lua
6591 projects

Projects that are alternatives of or similar to Dummylua Tutorial

Hdbf
Hyper-Dimensional Brainfuck
Stars: ✭ 87 (-19.44%)
Mutual labels:  interpreter
Sniprun
A neovim plugin to run lines/blocs of code (independently of the rest of the file), supporting multiples languages
Stars: ✭ 93 (-13.89%)
Mutual labels:  interpreter
Endbasic
BASIC environment with a REPL, a web interface, and RPi support written in Rust
Stars: ✭ 106 (-1.85%)
Mutual labels:  interpreter
Feral
Feral programming language reference implementation
Stars: ✭ 89 (-17.59%)
Mutual labels:  interpreter
Wasm Forth
A Forth implementation compiling to WebAssembly.
Stars: ✭ 92 (-14.81%)
Mutual labels:  interpreter
Gen
Compositor JSX static site generator
Stars: ✭ 95 (-12.04%)
Mutual labels:  lab
Aceto
A programming language based on a 2D Hilbert curve grid
Stars: ✭ 83 (-23.15%)
Mutual labels:  interpreter
Libforth
libforth: A small Forth interpreter that can be used as a library written in c99
Stars: ✭ 107 (-0.93%)
Mutual labels:  interpreter
Mages
🎩 MAGES is a very simple, yet powerful, expression parser and interpreter.
Stars: ✭ 92 (-14.81%)
Mutual labels:  interpreter
Lispe
An implementation of a full fledged Lisp interpreter with Data Structure, Pattern Programming and High level Functions with Lazy Evaluation à la Haskell.
Stars: ✭ 105 (-2.78%)
Mutual labels:  interpreter
Libqpsd
PSD (Photoshop Document) & PSB (Photoshop Big) Plugin for Qt/C++ (Qt4/Qt5)
Stars: ✭ 90 (-16.67%)
Mutual labels:  lab
Testing Hapi
Hapi style guide compliant boilerplate (updated to v17!)
Stars: ✭ 90 (-16.67%)
Mutual labels:  lab
Root
The official repository for ROOT: analyzing, storing and visualizing big data, scientifically
Stars: ✭ 1,377 (+1175%)
Mutual labels:  interpreter
Magpie
🐦 Successor of my monkey Interpreter(support for class, linq, sql, net, http, fmt, json and A realtime syntax highlighting REPL).
Stars: ✭ 88 (-18.52%)
Mutual labels:  interpreter
Angu
A small DSL/interpreter that can be used to evaluate simple expressions
Stars: ✭ 105 (-2.78%)
Mutual labels:  interpreter
Abrvalg
Python-like programming language interpreter written in Python
Stars: ✭ 83 (-23.15%)
Mutual labels:  interpreter
Awesome Bupt Scs
北京邮电大学计算机学院本科编程作业索引
Stars: ✭ 94 (-12.96%)
Mutual labels:  lab
Labs
This is a collection of tutorials for learning how to use Docker with various tools. Contributions welcome.
Stars: ✭ 10,443 (+9569.44%)
Mutual labels:  lab
Swiftylisp
A minimal LISP implemented in Swift
Stars: ✭ 106 (-1.85%)
Mutual labels:  interpreter
Kube Ansible
Spin up a Kubernetes development environment
Stars: ✭ 103 (-4.63%)
Mutual labels:  lab

项目简介

        lua是一门精妙简洁,而功能强大的语言,学习和掌握它的核心机制有着重要的意义。这是一个仿制lua解释器的项目(参照的版本是Lua5.3),我希望通过逐步实现lua解释器的各个部分,更加深刻地掌握lua的基本结构和运作原理。本项目将分为多个部分完成,并为每一个部分附上一篇博文为该部分的设计和实现进行解析。开发这个项目的目的,并不是做一个能用于生产环境的lua解释器,而是尝试追寻前辈的步伐,尽最大可能理解其设计lua语言的思路,理解其中的关键细节。这是一个探索原理的旅程,因此效率并不是本项目要考虑的关键因素。这里我遵循的是"FIRST make it run, THEN make it run fast"的原则,先让它跑起来。
        本项目采取和官方版本的近似的命名规范,并尽最大努力遵循lua官方的设计主线。由于开发过程是我自己重新手写的,因此不会在所有细节和官方版本保持一致。同时这是一份参考资料,主旨是提供一条主线,不建议只跟随本旅程来研究lua。最终希望回到研究lua官方源码的道路上。
        本系列将会为一些观点,理论附注上引证来源,并在Reference上展示,最后本人水平有限,如果有错误的地方,希望大家联系我加以指正。同时欢迎大家加入我创建的qq群185017593一起讨论技术。
        系列内容,将在我的博客上展示,欢迎大家关注我的blog

系列内容(地址)

编译与运行

获取仓库

git clone [email protected]:Manistein/dummylua-tutorial.git

在Linux和Mac上编译与运行

cd dummylua-tutorial/
cd linux/
cd part01/
make

cd bin/
./dummylua

在Windows上编译与运行

  • 进入dummylua-tutorial/windows/project/
  • 使用VS2013或以上版本打开工程
  • 自行编译和运行

测试平台

  • Linux(Ubuntu)
  • Windows
  • Mac
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].