unicorn/bindings
Charles Ferguson 1ba59ed70a Clear Python pending hook exception before we enter the emulation.
The pending exception hook is set when the hook raised an exception
and wants to report it outside the emulation loop. However, it is
never cleared back to None. This means that after an exception is
raised in a hook, all subsequent execution (even if successful) will
raise the exception.

This change clears the exception before we start another emulation,
which should ensure that if we have _hook_exception set, it really
is from hooks in this emulation run.
2022-01-15 17:45:45 +00:00
..
dotnet Update bindings 2022-01-05 22:00:59 +01:00
go Update bindings 2022-01-05 22:00:59 +01:00
haskell Haskell bindings: use ExceptT instead of deprecated EitherT (#1034) 2018-10-25 12:54:35 -03:00
java Update bindings 2022-01-05 22:00:59 +01:00
pascal Update bindings 2022-01-05 22:00:59 +01:00
python Clear Python pending hook exception before we enter the emulation. 2022-01-15 17:45:45 +00:00
ruby Update bindings 2022-01-05 22:00:59 +01:00
rust rust: Add RISCV CSR registers 2021-11-30 16:09:24 +01:00
vb6 import Unicorn2 2021-10-03 22:14:44 +08:00
const_generator.py uc_ctl proposal (#1473) 2021-10-30 10:45:32 +08:00
Makefile Fix gen_const 2021-10-26 13:10:59 +02:00
README Update binding list (#1349) 2021-10-11 11:17:49 +08:00

This directory contains bindings & test code for Python, Java, Go and .NET.
See <language>/README or <language>/README.TXT or <language>/README.md for how to install each binding.

The following bindings are contributed by community.

- Java binding: by Chris Eagle.
- Go binding: by Ryan Hileman.
- .NET binding: by Antonio Parata.
- Ruby binding: by Sascha Schirra
- Haskell binding: by Adrian Herrera.
- VB6 binding: David Zimmer.
- FreePascal/Delphi binding: Mohamed Osama.

More bindings created & maintained externally by community are available as follows.

- UnicornPascal: Delphi/Free Pascal binding (by Stievie).
    https://github.com/stievie/UnicornPascal

- Unicorn-Rs: Rust binding (by Sébastien Duquette)
    https://github.com/ekse/unicorn-rs

- UnicornEngine: Perl binding (by Vikas Naresh Kumar)
    https://metacpan.org/pod/UnicornEngine

- Unicorn.CR: Crystal binding (by Benoit Côté-Jodoin)
    https://github.com/Becojo/unicorn.cr

- Deimos/unicorn: D binding (by Vladimir Panteleev)
    https://github.com/D-Programming-Deimos/unicorn

- Unicorn-Lua: Lua binding (by Diego Argueta)
    https://github.com/dargueta/unicorn-lua

- pharo-unicorn: Pharo binding (by Guille Polito)
    https://github.com/guillep/pharo-unicorn

- Unicorn.js: JavaScript binding (by Alexandro Sanchez)
    https://github.com/AlexAltea/unicorn.js