Sign inSign up

esolang/riscv

By esolang

•Updated over 6 years ago

Easily execute RISC-V (32bit, ELF) programming language

Image
Languages & frameworks
Integration & delivery
Operating systems
0

10K+

esolang/riscv repository overview

⁠RISC-V (32bit, ELF) programming language

This image is a part of esolang-box 2.3.0⁠.

⁠About

esolang-box project⁠ aims to provide easy and normalized interface for many (currently 210 (!)) programming languages by Docker, especially to uncommon esoteric programming languages⁠.

The implementation and interpreter of language RISC-V (32bit, ELF) is included in this image and can be invoked by the simple one command riscv. (it's also an alias of script command, so you can use either.)

This script accepts standard input as the input of program and the first argument as program code file. The output of the script will be printed into standard output. This convension is shared between all esolang-box images⁠, so you can use another language easily.

⁠Usage example

⁠Run a single RISC-V (32bit, ELF) script

Supposing you have hello world script `` in the current directory like this:

$ ls

You can execute it with the following command:

$ docker run --rm -v "$PWD":/code:ro esolang/riscv riscv /code/

⁠Processing input
$ docker run -i --rm -v "$PWD":/code:ro esolang/riscv riscv /code/ < input.txt
⁠Debug code with shell
$ docker run -it --rm -v "$PWD":/code:ro esolang/riscv sh
# riscv /code/

⁠Observing usage of exec syscalls

esolang-box 2.3.0 supports tracing of execve and execveat syscalls by strace command. Setting STRACE_OUTPUT_PATH environment variables and enabling ptrace will produce strace log to the specified path.

$ docker run --cap-add=SYS_PTRACE --rm -v "$PWD":/code --env STRACE_OUTPUT_PATH=/code/strace.txt esolang/riscv riscv /code/

Some considerations:

Tag summary

Content type

Image

Digest

Size

16.4 MB

Last updated

over 6 years ago

docker pull esolang/riscv