From 727a25963896416ddb49adff324e46316e3386bc Mon Sep 17 00:00:00 2001 From: Luna Date: Sat, 1 Jun 2019 00:04:04 -0300 Subject: [PATCH] rm make_exprs.py, moving to the c part --- .gitignore | 1 - scripts/make_exprs.py | 59 ------------------------------------------- 2 files changed, 60 deletions(-) delete mode 100755 scripts/make_exprs.py diff --git a/.gitignore b/.gitignore index 63487f0..3cef7be 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ zig-cache/ -*.mypy_cache* diff --git a/scripts/make_exprs.py b/scripts/make_exprs.py deleted file mode 100755 index df4020f..0000000 --- a/scripts/make_exprs.py +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/python3.6 - -from pathlib import Path - -EXPR_TYPES = { - 'Binary': ('left: Expr', 'operator: Token', 'right: Expr'), - 'Grouping': ('expression: Expr',), - 'Unary': ('operator: Token', 'right: Expr'), - - # NOTE: when adding new Literals, add new Literal types, instead of just - # doing Literal with an 'Object value'. it won't work. -} - -def _gen_expr_decls(): - res = [] - - for expr_type, expr_params in EXPR_TYPES.items(): - res.append(f'pub const {expr_type} = struct {{') - - for param in expr_params: - res.append(f' {param},') - - res.append('};\n') - - return '\n'.join(res) - - -def do_base_union(union_name: str): - res = [ - 'const Token = @import("token.zig").Token;\n' - ] - - res.append(_gen_expr_decls()) - - res.append(f'pub const {union_name}Type = enum {{') - for expr_type in EXPR_TYPES: - res.append(f' {expr_type},') - res.append('};\n') - - - res.append(f'pub const {union_name} = union({union_name}Type) {{') - - for expr_type in EXPR_TYPES: - res.append(f' {expr_type}: {expr_type},') - - res.append('};\n') - - return '\n'.join(res) - - -def main(): - expr_file = Path('./src') / 'expr.zig' - expr_file.touch() - expr_file.unlink() - expr_file.write_text(do_base_union('Expr')) - - -if __name__ == '__main__': - main()