| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
A python script for generating enums with opcode constants based on YAML file definition. It may be useful for virtual machine developers. Defining opcodes in external file instead of direct C++/Rust enum has some advantages:
Written on Python 3.
Execute the following command to install dependencies:
pip install -r requirements.txt
Copy the opcodes.example.yaml file to your application's folder, define all the opcodes you need in this file. Then run the script with the following arguments:
python main.py <opcode-list> <language> [--output path/to/file]
where opcode-list is a path to file with opcodes (.yaml file); language is one of the following options: c, cpp, rust; --output specified the output file path. If the output option is not provided then result will be printed to the standard output.
The result may look like this:
enum _GeneratedOpCodes {
OPCODE_NOP = 0x00,
OPCODE_B = 0xA0,
OPCODE_BZ = 0xA1,
OPCODE_B_FALSE = 0xA1 /* alias for BZ */,
OPCODE_B_ZERO = 0xA1 /* alias for BZ */,
OPCODE_B_NULL = 0xA1 /* alias for BZ */,
OPCODE_BNZ = 0xA2,
OPCODE_B_TRUE = 0xA2 /* alias for BNZ */,
OPCODE_B_NOT_ZERO = 0xA2 /* alias for BNZ */,
OPCODE_B_NOT_NULL = 0xA2 /* alias for BNZ */
};| Back | FazBrowse Home | New Git URL |