GithubHelp home page GithubHelp logo

zero13129583991 / dummylua-tutorial Goto Github PK

View Code? Open in Web Editor NEW

This project forked from manistein/dummylua-tutorial

0.0 1.0 0.0 20.82 MB

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

License: MIT License

C 96.00% Makefile 0.68% C++ 1.73% Lua 1.58% Shell 0.01%

dummylua-tutorial's Introduction

项目简介

        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

dummylua-tutorial's People

Contributors

manistein avatar chencara avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.