Crates.io | libnewton |
lib.rs | libnewton |
version | 2.0.0-beta |
source | src |
created_at | 2024-05-24 06:25:17.012261 |
updated_at | 2024-05-24 06:25:17.012261 |
description | libnewton, a library for interacting with Prism |
homepage | |
repository | https://github.com/taleroangel/libnewton |
max_upload_size | |
id | 1250734 |
size | 39,911 |
A library for interacting with Prism ๐
Visit https://github.com/taleroangel/prism for more information about the Prism Project
This repository contains most of the implementation of the Prism protocol with all the numeric constants defined inside protobuf files in order to make porting to many programming languages easier
Current implemented languages and stages:
Language | Status |
---|---|
Protobuf | ๐ข |
Rust | ๐ข |
The base implementtion of libnewton (constants names and values like the InstructionSet, Registers and AddressingMode) are defined in a set of protobuf files found in the protobuf directory, this is the base from which new libraries should be built upon and can be a direct dependency
The rust library depends on the protoc-gen-prost crate for generating the protobuf base files rust implementation. These files are commited to source control but can be recompiled using the following command invoked from parent directory:
protoc -I ./protobuf --prost_out=rust/src/proto ./protobuf/*.proto
Newton is the name given to the Prism Instruction Interpreter therefore a Newton Interpreter is required in every slave device. Instructions are interpreted in Prism Binary Format which can be assembled from a Prism Assembly Language using this library