Gothon

用 Go 编写的 Python 解释器。「A Python interpreter written in Go」

  • Owner: lorenzleutgeb/gothon
  • Platform:
  • License:: Apache License 2.0
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

Build Status Go Report Card GoDoc

Gothon

A Python interpreter written in Go written as part of the course Abstract Machines (german) at Vienna University of Technology.

:rotating_light: ATTENTION: This codebase is not maintained. It only covers a small subset of all Python features. It should not be used in production. It exists for educational purposes.

Scope

Gothon is only an interpreter, not a compiler. It relies on CPython (the de facto standard Python runtime) to compile human readable source code into machine readable bytecode.

Gothon is intended to interpret bytecode (which is generated using CPython ahead of time) and actually run the program. It is limited in this aspect on purpose. The goal of the project (at least for now) is not to build a compiler, but a virtual machine that leverages the compiler built into CPython.

Current Status

Gothon is able to interpret the most basic instructions generated by CPython. This means arithmetic and function calls.

Future

It would be cool if Gothon would at some point be able to

  • resolve import statements.
  • understand classes.
  • deal with exception handling.
  • ...

like a production-grade runtime. Contributions to the project are welcome.

The Go Gopher was created by Renée French. The Python Logo is a registered trademark of the Python Software Foundation

Main metrics

Overview
Name With Ownerlorenzleutgeb/gothon
Primary LanguageGo
Program languageGo (Language Count: 4)
Platform
License:Apache License 2.0
所有者活动
Created At2013-03-22 22:21:41
Pushed At2019-08-20 12:37:48
Last Commit At2019-08-20 14:37:47
Release Count0
用户参与
Stargazers Count87
Watchers Count6
Fork Count7
Commits Count37
Has Issues Enabled
Issues Count2
Issue Open Count1
Pull Requests Count0
Pull Requests Open Count0
Pull Requests Close Count3
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private