parse_powerisa_pdf/README.md
Jacob Lifshay 38a1fb328b
All checks were successful
/ test (push) Successful in 3m54s
add build dependencies to readme
2026-01-06 16:13:36 -08:00

72 lines
1.7 KiB
Markdown

<!--
SPDX-License-Identifier: LGPL-3.0-or-later
See Notices.txt for copyright information
-->
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:
```bash
sudo apt update
sudo apt install build-essential clang unzip
```
* Compile and run:
```bash
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.xml` in 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 `python3` in [Debian Bookworm](https://www.debian.org/releases/bookworm/))
On Debian Bookworm you can do:
```bash
sudo apt update
sudo apt install python3-venv
```
* Create a venv:
```bash
python3.11 -m venv --upgrade-deps path/to/your/new/.venv
```
* Activate the venv:
```bash
. path/to/your/new/.venv/bin/activate
```
* Install this project in the venv:
```bash
pip install -e .
```
* Run it:
```bash
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.xml` in the current directory.