From bd84571915ccc7be885b78edb6caccd4502b823d Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Tue, 4 Aug 2026 18:20:18 +0000 Subject: [PATCH] Add driver for test-fields.aps --- examples/scala/Makefile | 9 +++++++++ examples/scala/README | 1 + examples/scala/compare-evaluators.sh | 1 + examples/scala/test-fields-driver.scala | 24 ++++++++++++++++++++++++ 4 files changed, 35 insertions(+) create mode 100644 examples/scala/test-fields-driver.scala diff --git a/examples/scala/Makefile b/examples/scala/Makefile index c7a600fb..eacfbd28 100644 --- a/examples/scala/Makefile +++ b/examples/scala/Makefile @@ -28,6 +28,7 @@ $(shell mkdir -p ${OUT}) SCALAGEN = simple.scala classic-binding.scala tiny.scala broad-fiber-cycle.scala \ below-fiber-cycle.scala below-single-fiber-cycle.scala local-fiber-cycle.scala \ test-coll.scala test-use-coll.scala test-cycle.scala use-global.scala \ + test-fields.scala \ grammar.scala first.scala follow.scala nullable.scala \ farrow-lv-tree.scala farrow-ubd-tree.scala @@ -63,6 +64,7 @@ all : ${OUT}/broad_fiber_cycle_implicit.class ${OUT}/BroadFiberCycleDriver.class all : ${OUT}/below_fiber_cycle_implicit.class ${OUT}/BelowFiberCycleDriver.class all : ${OUT}/below_single_fiber_cycle_implicit.class ${OUT}/BelowSingleFiberCycleDriver.class all : ${OUT}/local_fiber_cycle_implicit.class ${OUT}/LocalFiberCycleDriver.class +all : ${OUT}/test_fields_implicit.class ${OUT}/TestFieldsDriver.class .PHONY: run @@ -278,6 +280,13 @@ ${OUT}/test_use_coll_implicit.class : test-use-coll${IMPL_SUFFIX} ${OUT}/tiny_im ${OUT}/TestCollDriver.class : ${OUT}/test_coll_implicit.class ${OUT}/TinyParser.class test-coll-driver.scala ${SCALAC} ${SCALACFLAGS} test-coll-driver.scala +${OUT}/test_fields_implicit.class : test-fields${IMPL_SUFFIX} ${OUT}/tiny_implicit.class + ${SCALAC} ${SCALACFLAGS} $< + @touch $@ + +${OUT}/TestFieldsDriver.class : ${OUT}/test_fields_implicit.class ${OUT}/TinyParser.class test-fields-driver.scala + ${SCALAC} ${SCALACFLAGS} test-fields-driver.scala + ${OUT}/TestUseCollDriver.class : ${OUT}/test_use_coll_implicit.class ${OUT}/TinyParser.class test-use-coll-driver.scala ${OUT}/tiny_implicit.class ${SCALAC} ${SCALACFLAGS} test-use-coll-driver.scala diff --git a/examples/scala/README b/examples/scala/README index 5283dbf3..fa66cd23 100644 --- a/examples/scala/README +++ b/examples/scala/README @@ -15,3 +15,4 @@ make EVALUATOR=STATIC ARGS="tiny.program" UseGlobal.run make EVALUATOR=STATIC NestedCyclesDriver.run make EVALUATOR=STATIC ARGS="nested-ubd.program" NestedUbdDriver.run make EVALUATOR=STATIC ARGS="nested-ubd.program" NestedUbdFiberDriver.run +make EVALUATOR=STATIC ARGS="tiny.program" TestFieldsDriver.run diff --git a/examples/scala/compare-evaluators.sh b/examples/scala/compare-evaluators.sh index 226eb5f8..de1940b0 100755 --- a/examples/scala/compare-evaluators.sh +++ b/examples/scala/compare-evaluators.sh @@ -102,6 +102,7 @@ TESTS=( "FarrowUbdFiberDriver|farrow-ubd.program" "NestedUbdDriver|nested-ubd.program" "NestedUbdFiberDriver|nested-ubd.program" + "TestFieldsDriver|tiny.program" ) failures=0 diff --git a/examples/scala/test-fields-driver.scala b/examples/scala/test-fields-driver.scala new file mode 100644 index 00000000..48d846fa --- /dev/null +++ b/examples/scala/test-fields-driver.scala @@ -0,0 +1,24 @@ +object TestFieldsDriver extends App +{ + val m = new M_TINY("Tiny"); + val t_Tiny = m.t_Result; + val p = new TinyParser(m); + + val w = if (args.length > 0) { + p.parseFile(args(0)) + } else { + t_Tiny.f_root(t_Tiny.f_branch(t_Tiny.f_leaf(3),t_Tiny.f_leaf(4))) + }; + + if (args.contains("--debug")) Debug.activate(); + + m.finish(); + + val m2 = new M_TEST_FIELDS("Test Fields",m); + val w2 = w.asInstanceOf[m2.T_Root]; + + m2.finish(); + + println("Results:"); + println("r is " + m2.v_r(w2)); +}