|
|
||
|---|---|---|
| .forgejo/workflows | ||
| parse_powerisa_pdf | ||
| scripts | ||
| src | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| LICENSE.md | ||
| Notices.txt | ||
| pyproject.toml | ||
| README.md | ||
parser for the OPF PowerISA 3.1C pdf to attempt to extract all instructions' pseudo-code including subscripts/superscripts and other formatting
Using the new Rust code:
Usage:
-
Download the OPF PowerISA 3.1C pdf (yes you need that exact version) from https://openpower.foundation/specifications/isa/
-
Install Rust -- you need version 1.89.0 or later.
Getting it from https://rustup.rs/ is recommended.
-
Install required build dependencies:
On Debian 12:
sudo apt update sudo apt install build-essential clang unzip -
Compile and run:
cargo run -- path/to/downloaded/OPF_PowerISA_v3.1C.pdf > out.log -
This will spit out lots of errors and then successfully create the output file --
powerisa-instructions.xmlin the current directory.
Using the old Python code:
Usage:
-
Download the OPF PowerISA 3.1C pdf (yes you need that exact version) from https://openpower.foundation/specifications/isa/
-
Obtain CPython 3.11 (the default
python3in Debian Bookworm)On Debian Bookworm you can do:
sudo apt update sudo apt install python3-venv -
Create a venv:
python3.11 -m venv --upgrade-deps path/to/your/new/.venv -
Activate the venv:
. path/to/your/new/.venv/bin/activate -
Install this project in the venv:
pip install -e . -
Run it:
parse_powerisa_pdf path/to/downloaded/OPF_PowerISA_v3.1C.pdf > out.log -
This will spit out lots of errors and then successfully create the output file --
powerisa-instructions.xmlin the current directory.