|author||Lars Wirzenius <firstname.lastname@example.org>||2019-05-17 09:43:09 +0300|
|committer||Lars Wirzenius <email@example.com>||2019-05-17 09:43:09 +0300|
Change: more explanation to README
1 files changed, 18 insertions, 0 deletions
@@ -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.