diff --git a/build.hancho b/build.hancho index 59e86af..30b6100 100644 --- a/build.hancho +++ b/build.hancho @@ -1,10 +1,11 @@ # matcheroni/build.hancho -hancho.build_tag = "debug" -hancho.rules = hancho.load("symlinks/hancho/rules.hancho") +if 'base_rules' not in hancho: + hancho.base_rules = hancho.load("symlinks/hancho/base_rules.hancho") + hancho.cpp_config = hancho.Config( - includes = "{repo_dir}", - test_dir = "{repo_dir}", + includes = "{repo_dir}", + test_dir = "{repo_dir}", ) hancho.c_lexer = hancho.load("examples/c_lexer/c_lexer.hancho") @@ -17,8 +18,8 @@ tests = hancho.load("tests/tests.hancho") tutorial = hancho.load("examples/tutorial/tutorial.hancho") ini = hancho( - hancho.rules.cpp_lib, - hancho.cpp_config, - in_srcs = "examples/ini/ini_parser.cpp", - out_lib = "ini_parser.a", + hancho.base_rules.cpp_lib, + hancho.cpp_config, + in_srcs = "examples/ini/ini_parser.cpp", + out_lib = "ini_parser.a", ) diff --git a/examples/c_lexer/c_lexer.hancho b/examples/c_lexer/c_lexer.hancho index 0fcb2f3..bba93d5 100644 --- a/examples/c_lexer/c_lexer.hancho +++ b/examples/c_lexer/c_lexer.hancho @@ -1,27 +1,24 @@ #------------------------------------------------------------------------------- # Matcheroni C lexer demo -rules = hancho.rules -config = hancho.cpp_config - lib = hancho( - rules.cpp_lib, - config, + hancho.base_rules.cpp_lib, + hancho.cpp_config, in_srcs = ["CLexer.cpp", "CToken.cpp"], out_lib = "c_lexer.a", ) hancho( - rules.cpp_test, - config, + hancho.base_rules.cpp_test, + hancho.cpp_config, in_srcs = "c_lexer_test.cpp", in_libs = lib, out_bin = "c_lexer_test", ) hancho( - rules.cpp_bin, - config, + hancho.base_rules.cpp_bin, + hancho.cpp_config, in_srcs = "c_lexer_benchmark.cpp", in_libs = lib, out_bin = "c_lexer_benchmark", diff --git a/examples/c_parser/c_parser.hancho b/examples/c_parser/c_parser.hancho index 013164a..4b20a41 100644 --- a/examples/c_parser/c_parser.hancho +++ b/examples/c_parser/c_parser.hancho @@ -1,22 +1,18 @@ #------------------------------------------------------------------------------- # C parser example (not finished) -rules = hancho.rules -config = hancho.cpp_config -c_lexer = hancho.c_lexer - lib = hancho( - rules.cpp_lib, - config, + hancho.base_rules.cpp_lib, + hancho.cpp_config, in_srcs = ["CContext.cpp", "CNode.cpp", "CScope.cpp"], out_lib = "c_parser.a", ) hancho( - rules.cpp_bin, - config, + hancho.base_rules.cpp_bin, + hancho.cpp_config, in_srcs = "c_parser_benchmark.cpp", - in_libs = [c_lexer.lib, lib], + in_libs = [hancho.c_lexer.lib, lib], out_bin = "c_parser_benchmark", ) diff --git a/examples/json/json.hancho b/examples/json/json.hancho index af59363..c954e13 100644 --- a/examples/json/json.hancho +++ b/examples/json/json.hancho @@ -1,17 +1,15 @@ #------------------------------------------------------------------------------- # Matcheroni JSON parser example -rules = hancho.rules - lib = hancho( - rules.cpp_lib, + hancho.base_rules.cpp_lib, hancho.cpp_config, in_srcs = ["json_matcher.cpp", "json_parser.cpp"], out_lib = "json_parser.a", ) hancho( - rules.cpp_bin, + hancho.base_rules.cpp_bin, hancho.cpp_config, in_srcs = "json_conformance.cpp", in_libs = lib, @@ -19,7 +17,7 @@ hancho( ) hancho( - rules.cpp_bin, + hancho.base_rules.cpp_bin, hancho.cpp_config, in_srcs = "json_benchmark.cpp", in_libs = lib, @@ -27,7 +25,7 @@ hancho( ) hancho( - rules.cpp_bin, + hancho.base_rules.cpp_bin, hancho.cpp_config, in_srcs = "json_demo.cpp", in_libs = lib, @@ -35,7 +33,7 @@ hancho( ) hancho( - rules.cpp_test, + hancho.base_rules.cpp_test, hancho.cpp_config, in_srcs = "json_test.cpp", in_libs = lib, diff --git a/examples/regex/regex.hancho b/examples/regex/regex.hancho index 7525d73..7dc96fe 100644 --- a/examples/regex/regex.hancho +++ b/examples/regex/regex.hancho @@ -11,17 +11,16 @@ #benchmark_defs = ${benchmark_defs} -DSRELL_NO_NAMEDCAPTURE #benchmark_defs = ${benchmark_defs} -DSRELL_NO_VMODE -rules = hancho.rules lib = hancho( - rules.cpp_lib, + hancho.base_rules.cpp_lib, hancho.cpp_config, in_srcs = "regex_parser.cpp", out_lib = "regex_parser.a", ) hancho( - rules.cpp_bin, + hancho.base_rules.cpp_bin, hancho.cpp_config, in_srcs = "regex_demo.cpp", in_libs = lib, @@ -29,7 +28,7 @@ hancho( ) hancho( - rules.cpp_bin, + hancho.base_rules.cpp_bin, hancho.cpp_config, in_srcs = "regex_benchmark.cpp", in_libs = lib, @@ -38,7 +37,7 @@ hancho( ) hancho( - rules.cpp_test, + hancho.base_rules.cpp_test, hancho.cpp_config, in_srcs = "regex_test.cpp", in_libs = lib, diff --git a/examples/toml/toml.hancho b/examples/toml/toml.hancho index f53af8f..282b70b 100644 --- a/examples/toml/toml.hancho +++ b/examples/toml/toml.hancho @@ -1,17 +1,15 @@ #------------------------------------------------------------------------------- # TOML parser example -rules = hancho.rules - lib = hancho( - rules.cpp_lib, + hancho.base_rules.cpp_lib, hancho.cpp_config, in_srcs = "toml_parser.cpp", out_lib = "toml_parser.a", ) hancho( - rules.cpp_test, + hancho.base_rules.cpp_test, hancho.cpp_config, in_srcs = "toml_test.cpp", in_libs = lib, diff --git a/examples/tutorial/tutorial.hancho b/examples/tutorial/tutorial.hancho index ff5f083..e290e9c 100644 --- a/examples/tutorial/tutorial.hancho +++ b/examples/tutorial/tutorial.hancho @@ -1,19 +1,17 @@ #------------------------------------------------------------------------------- # Tutorial examples -rules = hancho.rules -config = hancho.cpp_config -hancho(rules.cpp_test, config, in_srcs = "json_tut0a.cpp", out_bin = "json_tut0a") -hancho(rules.cpp_test, config, in_srcs = "json_tut1a.cpp", out_bin = "json_tut1a") -hancho(rules.cpp_test, config, in_srcs = "json_tut1b.cpp", out_bin = "json_tut1b") -hancho(rules.cpp_test, config, in_srcs = "json_tut1c.cpp", out_bin = "json_tut1c") -hancho(rules.cpp_test, config, in_srcs = "json_tut2a.cpp", out_bin = "json_tut2a") -hancho(rules.cpp_test, config, in_srcs = "json_tut2b.cpp", out_bin = "json_tut2b") +hancho(hancho.base_rules.cpp_test, hancho.cpp_config, in_srcs = "json_tut0a.cpp", out_bin = "json_tut0a") +hancho(hancho.base_rules.cpp_test, hancho.cpp_config, in_srcs = "json_tut1a.cpp", out_bin = "json_tut1a") +hancho(hancho.base_rules.cpp_test, hancho.cpp_config, in_srcs = "json_tut1b.cpp", out_bin = "json_tut1b") +hancho(hancho.base_rules.cpp_test, hancho.cpp_config, in_srcs = "json_tut1c.cpp", out_bin = "json_tut1c") +hancho(hancho.base_rules.cpp_test, hancho.cpp_config, in_srcs = "json_tut2a.cpp", out_bin = "json_tut2a") +hancho(hancho.base_rules.cpp_test, hancho.cpp_config, in_srcs = "json_tut2b.cpp", out_bin = "json_tut2b") hancho( - rules.cpp_bin, - config, + hancho.base_rules.cpp_bin, + hancho.cpp_config, in_srcs = "tiny_c_parser.cpp", in_libs = [hancho.c_lexer.lib, hancho.c_parser.lib], out_bin = "tiny_c_parser", diff --git a/tests/tests.hancho b/tests/tests.hancho index 5315151..583aa48 100644 --- a/tests/tests.hancho +++ b/tests/tests.hancho @@ -5,8 +5,6 @@ #build obj/matcheroni/Parseroni.hpp.iwyu : iwyu matcheroni/Parseroni.hpp #build obj/matcheroni/Utilities.hpp.iwyu : iwyu matcheroni/Utilities.hpp -rules = hancho.rules - # Apparently I broke this... #hancho( # rules.cpp_test, @@ -15,7 +13,7 @@ rules = hancho.rules #) hancho( - rules.cpp_test, + hancho.base_rules.cpp_test, hancho.cpp_config, in_srcs = "parseroni_test.cpp", out_bin = "parseroni_test",