Ecosyste.ms: Packages

An open API service providing package, version and dependency metadata of many open source software ecosystems and registries.

Top 1.8% dependent packages on proxy.golang.org
Top 1.0% dependent repos on proxy.golang.org

proxy.golang.org : modernc.org/ir

Package ir implements intermediate representation of compiled programs. (Work In Progress) See: https://en.wikipedia.org/wiki/Intermediate_representation From the POV of this package, an IR is a slice of Objects. Object is either a DataDefinition or a FunctionDefinition. All objects are defined by Linkage, NameID and TypeID fields. DataDefintions reserve global, static data storage and have an optional Value. If Value is nil the DataDefintion defines a zero value of its type. FunctionDefinitions have a Body which is a slice of Operation. Operations are, for example, Add, Return, etc. The operation execution model is a zero register stack machine. After generating a slice of Objects, its every item should be verified using Verify. One or more generated IRs can be turned into complete IRs using LinkMain or LinkLib. These functions will check and resolve external definitions by filling the respective Index fields of certain operations, for example Global. A properly linked IR should be suitable for back-end code generation of a program or a library. cznic/virtual is an IR code generator for a virtual CPU and can also run the resulting binary. The virtual CPU is not very fast, it's best use is probably just to verify a particular IR generator or to provide an interpreter for scripts loaded/entered at run time. A "standard" back-end should normally produce machine code,

Registry - Source - Documentation - JSON
purl: pkg:golang/modernc.org/ir
License: BSD-3-Clause
Latest release: over 5 years ago
First release: over 5 years ago
Namespace: modernc.org
Dependent packages: 9
Dependent repositories: 29
Stars: 0 on GitLab.com
Forks: 0 on GitLab.com
See more repository details: repos.ecosyste.ms
Last synced: 8 days ago

    Loading...
    Readme
    Loading...