summaryrefslogtreecommitdiff
path: root/transpile-tests/README.md
diff options
context:
space:
mode:
authorDibyendu Majumdar <mobile@majumdar.org.uk>2023-08-19 08:52:57 -0700
committerDibyendu Majumdar <mobile@majumdar.org.uk>2026-10-19 14:56:14 -0700
commitdf40b24d8dbd8667a03416d043622ad6dec0768c (patch)
treed4ccfff92412d09c37d6c6d924059b85d45782d2 /transpile-tests/README.md
downloadSimple-df40b24d8dbd8667a03416d043622ad6dec0768c.tar.gz
Simple-df40b24d8dbd8667a03416d043622ad6dec0768c.zip
Chapter 1: Introduction
Co-authored-by: Cliff Click <cliffc@acm.org> Co-authored-by: Thalia Archibald <thalia@archibald.dev> Co-authored-by: hadha <helsgithub15@gmail.com> Co-authored-by: XmiliaH <45106915+XmiliaH@users.noreply.github.com> Co-authored-by: Tamás Hadházy <85063808+Hels15@users.noreply.github.com> Co-authored-by: Jun Kawasaki <jun784@gmail.com>
Diffstat (limited to 'transpile-tests/README.md')
-rw-r--r--transpile-tests/README.md19
1 files changed, 19 insertions, 0 deletions
diff --git a/transpile-tests/README.md b/transpile-tests/README.md
new file mode 100644
index 00000000..82e17f71
--- /dev/null
+++ b/transpile-tests/README.md
@@ -0,0 +1,19 @@
+# Transpile Tests
+
+This module may be helpful if you want to create an implementation of Simple in another language.
+It can parse the JUnit tests to automatically translate most of the boilerplate.
+Some manual tweaks will still be required though, because only common patterns are detected
+(e.g. 01: testSimpleProgram, testZero; 04: testVarArg; 08: testRegress5; 09: testMeet, ...)
+
+Chapter discovery includes suffixes such as `17a` and `17b`. Tests that use
+computed Java inputs or unsupported assertions are skipped individually, so
+the remaining tests in the same class can still be exported.
+
+## Usage
+
+Just call `JUnitParser.parseRepository` to get a list of parsed test classes for each chapter,
+and implement a pretty printer for your favourite language.
+
+For an example you can refer to `printers.RustPrinter`,
+which produces tests similar to the ones used by
+[Simple-Rust](https://github.com/SeaOfNodes/Simple-Rust).