diff options
-rw-r--r-- | README | 18 |
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. + To run: ```sh |