summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README18
1 files changed, 18 insertions, 0 deletions
diff --git a/README b/README
index 9b990f0..7487d4e 100644
--- a/README
+++ b/README
@@ -1,3 +1,21 @@
+`codegen.py`, `scenario.txt`, and `bindings.yaml` form a
+proof-of-concept of what Lars's code genearation approach is supposed
+to look like. `scenario.txt` is the scenario text, extracted into a
+separate file to avoid having to parse Markdown. `bindings.yaml`
+describes what sceanrio steps are defined and what functions should be
+called for them. `codegen.py` generates Python code that executes all
+the steps in the scenario.
+
+This doesn't even try to handle errors when running scenarios, or
+missing bindings, or anything. It's the simplest possible thing that
+shows the code generation idea.
+
+Only generates Python, and takes advantage of Python's keyword
+argument handling. Generating Rust, for example, would have to handle
+things much more carefully, e.g., Rust doesn't have keyword arguments,
+and needs explicit types to be defined. But that's too much for
+showing the core idea.
+
To run:
```sh