agora: Index | Files | Directories

package agora

import ""

Agora is a dynamically typed, garbage collected, embeddable programming language.

It is built in the Go programming language, and is meant to provide a syntactically similar, loose, dynamic companion to the statically typed, machine compiled Go language - somewhat like Lua is to C.


go get


This source code documentation is meant for explaining the internals of the agora programming language: its runtime and compiler, its command-line tools and its native Go API provided for embedding agora within a Go program.

Other documentation exist for the agora language itself, the stdlib, installation, and such.

See for more details.


Package Files



bytecodePackage bytecode provides types and functions to encode to and decode from the binary bytecode representation of compiled agora code.
bytecode/testingPackage testing is for internal use only, it groups useful utility functions and variables to help in testing bytecode results.
compilerPackage compiler provides the agora source code compiler.
compiler/emitterPackage emitter generates the bytecode instructions by traversing the abstract syntax tree generated by the parser.
compiler/parserPackage parser provides the agora source code parser.
compiler/scannerPackage scanner implements a scanner for agora source text.
compiler/tokenPackage token defines constants representing the lexical tokens of the agora programming language and basic operations on tokens (printing, predicates).
runtimePackage runtime defines the core of the agora language - the supported values, their behaviour, the execution context, modules, and VM.
runtime/stdlibPackage stdlib provides the standard library for agora.

Updated 2018-03-19. Refresh now. Tools for package owners.