From a1505c5da370cf7cfea02d73bd48341e99b4d4a7 Mon Sep 17 00:00:00 2001 From: Amir Date: Thu, 11 Dec 2025 22:49:50 -0600 Subject: [PATCH 01/52] Simple merge validation pipeline --- .github/workflows/ci.yml | 56 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..64fba2c1 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,56 @@ +name: CI + +on: + pull_request: + branches: + - master + +jobs: + build-and-test: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up JDK 11 + uses: actions/setup-java@v4 + with: + java-version: '11' + distribution: 'temurin' + + - name: Install system dependencies + run: | + sudo apt-get update + sudo apt-get install -y build-essential flex bison gcc g++ make + + - name: Install Scala + run: | + wget -q https://downloads.lightbend.com/scala/2.12.13/scala-2.12.13.tgz + tar xzf scala-2.12.13.tgz + echo "$PWD/scala-2.12.13/bin" >> $GITHUB_PATH + + - name: Build project + run: make + + - name: Run utilities tests + run: | + cd utilities/tests + make all + continue-on-error: false + + - name: Run Scala base tests + run: | + cd base/scala + make test || echo "Base Scala tests completed with status $?" + continue-on-error: true + + - name: Run examples Scala tests + run: | + cd examples/scala/tests + make all || echo "Example Scala tests completed with status $?" + continue-on-error: true + + - name: Clean up + if: always() + run: make clean From c76c8f70e3e8c2153ca139fe4b937fc5c2132861 Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Mon, 20 Apr 2026 19:59:44 +0000 Subject: [PATCH 02/52] testing pipeline --- .github/workflows/{ci.yml => test.yml} | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) rename .github/workflows/{ci.yml => test.yml} (77%) diff --git a/.github/workflows/ci.yml b/.github/workflows/test.yml similarity index 77% rename from .github/workflows/ci.yml rename to .github/workflows/test.yml index 64fba2c1..756e3c27 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/test.yml @@ -1,6 +1,9 @@ -name: CI +name: Test on: + push: + branches: + - master pull_request: branches: - master @@ -9,6 +12,9 @@ jobs: build-and-test: runs-on: ubuntu-latest + env: + SCALA_VERSION: "2.12.13" + steps: - name: Checkout code uses: actions/checkout@v4 @@ -26,9 +32,9 @@ jobs: - name: Install Scala run: | - wget -q https://downloads.lightbend.com/scala/2.12.13/scala-2.12.13.tgz - tar xzf scala-2.12.13.tgz - echo "$PWD/scala-2.12.13/bin" >> $GITHUB_PATH + wget -q "https://downloads.lightbend.com/scala/${SCALA_VERSION}/scala-${SCALA_VERSION}.tgz" + tar xzf "scala-${SCALA_VERSION}.tgz" + echo "$PWD/scala-${SCALA_VERSION}/bin" >> $GITHUB_PATH - name: Build project run: make @@ -37,7 +43,7 @@ jobs: run: | cd utilities/tests make all - continue-on-error: false + continue-on-error: true - name: Run Scala base tests run: | From e590acf9554ef20a3b75eff7497677f7eea0ccee Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Mon, 20 Apr 2026 20:10:08 +0000 Subject: [PATCH 03/52] another try --- .github/workflows/test.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 756e3c27..d7ab43bb 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -14,6 +14,7 @@ jobs: env: SCALA_VERSION: "2.12.13" + SCALA_MAJOR: "2.12" steps: - name: Checkout code @@ -38,25 +39,24 @@ jobs: - name: Build project run: make - + + - name: Build aps-library jar and run base tests + run: | + cd base/scala + make SVERSION=$SCALA_MAJOR aps-library-$SCALA_MAJOR.jar + make SVERSION=$SCALA_MAJOR install + make SVERSION=$SCALA_MAJOR test + - name: Run utilities tests run: | cd utilities/tests make all - continue-on-error: true - - - name: Run Scala base tests - run: | - cd base/scala - make test || echo "Base Scala tests completed with status $?" - continue-on-error: true - + - name: Run examples Scala tests run: | cd examples/scala/tests - make all || echo "Example Scala tests completed with status $?" - continue-on-error: true - + make SCALAV=$SCALA_MAJOR all + - name: Clean up if: always() run: make clean From bd1727f8a278e7cd60b2b6dfdbb62c4e88d7f8c4 Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Mon, 20 Apr 2026 20:16:33 +0000 Subject: [PATCH 04/52] Another try --- .github/workflows/test.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d7ab43bb..386fa8cc 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -43,7 +43,8 @@ jobs: - name: Build aps-library jar and run base tests run: | cd base/scala - make SVERSION=$SCALA_MAJOR aps-library-$SCALA_MAJOR.jar + make aps-library.jar + cp aps-library.jar aps-library-$SCALA_MAJOR.jar make SVERSION=$SCALA_MAJOR install make SVERSION=$SCALA_MAJOR test @@ -57,6 +58,11 @@ jobs: cd examples/scala/tests make SCALAV=$SCALA_MAJOR all + - name: Run canonical types tests + run: | + cd examples + ../bin/aps2scala -DCOTo -G -p .:../base test-canonicals + - name: Clean up if: always() run: make clean From 07cdaf8175679319469919630255aa39a50dead4 Mon Sep 17 00:00:00 2001 From: Amir Date: Mon, 20 Apr 2026 19:15:57 -0500 Subject: [PATCH 05/52] Synth scheduling implementation PR --- analyze/aps-analyze.c | 92 +- analyze/aps-analyze.h | 1 + analyze/aps-dnc.c | 3 +- analyze/aps-dnc.h | 3 +- analyze/apsc.c | 3 + aps2scala/Makefile | 5 +- aps2scala/aps2scala.cc | 13 +- aps2scala/dump-scala.cc | 51 +- aps2scala/dump-scala.h | 1 + codegen/dump.h | 12 + codegen/implement.h | 16 + codegen/synth-impl.cc | 1804 +++++++++++++++++++++++++++++++++++++++ examples/Makefile | 3 + 13 files changed, 1959 insertions(+), 48 deletions(-) create mode 100644 codegen/synth-impl.cc diff --git a/analyze/aps-analyze.c b/analyze/aps-analyze.c index 63afa5af..10791186 100644 --- a/analyze/aps-analyze.c +++ b/analyze/aps-analyze.c @@ -17,6 +17,7 @@ Several phases: // Boolean indicating whether to use SCC chunk scheduling bool static_scc_schedule = false; +bool anc_analysis = false; static void *analyze_thing(void *ignore, void *node) { @@ -29,66 +30,75 @@ static void *analyze_thing(void *ignore, void *node) { default: break; case KEYmodule_decl: - s = compute_dnc(decl); - if (!(d = (s->original_state_dependency = analysis_state_cycle(s)))) - { - // Do nothing; no cycle to remove - s->loop_required = false; - } - else if (!(d & DEPENDENCY_MAYBE_SIMPLE) || !(d & DEPENDENCY_NOT_JUST_FIBER)) - { - printf("Fiber cycle detected (%d); cycle being removed\n", d); + s = compute_dnc(decl, anc_analysis); + if (anc_analysis) { if (cycle_debug & PRINT_CYCLE) { print_cycles(s, stdout); } - break_fiber_cycles(decl, s, d); + d = (s->original_state_dependency = analysis_state_cycle(s)); s->loop_required = !(d & DEPENDENCY_MAYBE_SIMPLE); - d = no_dependency; // clear dependency - } - else - { - aps_error(decl, "Unable to handle dependency (%d); Attribute grammar is not DNC", d); - return NULL; - } - - // If SCC scheduling is in-progress - if (static_scc_schedule) - { - // Pure fiber cycles should have been broken when reaching this step - // If there is a non-monotone cycle, then scheduling is no longer possible - if (d & DEPENDENCY_MAYBE_SIMPLE) + } else { + if (!(d = (s->original_state_dependency = analysis_state_cycle(s)))) + { + // Do nothing; no cycle to remove + s->loop_required = false; + } + else if (!(d & DEPENDENCY_MAYBE_SIMPLE) || !(d & DEPENDENCY_NOT_JUST_FIBER)) { + printf("Fiber cycle detected (%d); cycle being removed\n", d); if (cycle_debug & PRINT_CYCLE) { print_cycles(s, stdout); } - - aps_error(decl, "Non-monotone Cycle detected (%d); Attribute grammar is not COAG", d); + break_fiber_cycles(decl, s, d); + s->loop_required = !(d & DEPENDENCY_MAYBE_SIMPLE); + d = no_dependency; // clear dependency + } + else + { + aps_error(decl, "Unable to handle dependency (%d); Attribute grammar is not DNC", d); return NULL; } - // SCC chunk scheduling supports CRAG without conditional cycles - compute_static_schedule(s); - } - else - { - if (!d) + // If SCC scheduling is in-progress + if (static_scc_schedule) { - // RAG scheduling with conditional cycles - compute_oag(decl, s); // calculate OAG if grammar is DNC - d = analysis_state_cycle(s); // check again for type-3 errors - } + // Pure fiber cycles should have been broken when reaching this step + // If there is a non-monotone cycle, then scheduling is no longer possible + if (d & DEPENDENCY_MAYBE_SIMPLE) + { + if (cycle_debug & PRINT_CYCLE) + { + print_cycles(s, stdout); + } + + aps_error(decl, "Non-monotone Cycle detected (%d); Attribute grammar is not COAG", d); + return NULL; + } - if (d) + // SCC chunk scheduling supports CRAG without conditional cycles + compute_static_schedule(s); + } + else { - if (cycle_debug & PRINT_CYCLE) + if (!d) { - print_cycles(s, stdout); + // RAG scheduling with conditional cycles + compute_oag(decl, s); // calculate OAG if grammar is DNC + d = analysis_state_cycle(s); // check again for type-3 errors } - aps_error(decl, "Cycle detected (%d); Attribute grammar is not OAG", d); - return NULL; + if (d) + { + if (cycle_debug & PRINT_CYCLE) + { + print_cycles(s, stdout); + } + + aps_error(decl, "Cycle detected (%d); Attribute grammar is not OAG", d); + return NULL; + } } } diff --git a/analyze/aps-analyze.h b/analyze/aps-analyze.h index 6a407e8b..b1166f85 100644 --- a/analyze/aps-analyze.h +++ b/analyze/aps-analyze.h @@ -7,6 +7,7 @@ (STATE*)(Declaration_info(md)->analysis_state) extern bool static_scc_schedule; +extern bool anc_analysis; extern void analyze_Program(Program); /* decorate modules with STATE */ diff --git a/analyze/aps-dnc.c b/analyze/aps-dnc.c index 2d49eb81..ea03b2f5 100644 --- a/analyze/aps-dnc.c +++ b/analyze/aps-dnc.c @@ -2828,9 +2828,10 @@ void dnc_close(STATE*s) { } } -STATE *compute_dnc(Declaration module) { +STATE *compute_dnc(Declaration module, bool anc_analysis) { STATE *s=(STATE *)HALLOC(sizeof(STATE)); Declaration_info(module)->analysis_state = s; + s->anc_analysis = anc_analysis; init_analysis_state(s,module); dnc_close(s); if (analysis_debug & (DNC_ITERATE|DNC_FINAL)) { diff --git a/analyze/aps-dnc.h b/analyze/aps-dnc.h index c2699a04..8552667b 100644 --- a/analyze/aps-dnc.h +++ b/analyze/aps-dnc.h @@ -111,6 +111,7 @@ typedef struct analysis_state { VECTOR(FIBER) fibers; CYCLES cycles; BOOL loop_required; + BOOL anc_analysis; DEPENDENCY original_state_dependency; // This is value of analysis_state_cycle // before removing fiber cycle or // linearization of phases in summary graph @@ -129,7 +130,7 @@ extern INSTANCE *get_instance(Declaration attr, FIBER fiber, extern void assert_closed(AUG_GRAPH*); extern void dnc_close(STATE *); -extern STATE *compute_dnc(Declaration module); +extern STATE *compute_dnc(Declaration module, bool anc_analysis); /* Low level routines: use with caution */ extern void free_edge(EDGESET old, AUG_GRAPH *aug_graph); diff --git a/analyze/apsc.c b/analyze/apsc.c index 2e15e5ee..b775deec 100644 --- a/analyze/apsc.c +++ b/analyze/apsc.c @@ -9,6 +9,7 @@ void usage() { fprintf(stderr,"apsc: usage: %s [-DH] [-D...] [-p apspath] file...\n",argv0); fprintf(stderr," schedule APS files (omit '.aps' extension)\n"); fprintf(stderr," -C SCC chunk static scheduling\n"); + fprintf(stderr," -F ANC analysis\n"); fprintf(stderr," -DH print debug options\n"); exit(1); } @@ -26,6 +27,8 @@ int main(int argc,char **argv) { set_aps_path(argv[++i]); } else if (*options == 'C') { static_scc_schedule = true; + } else if (*options == 'F') { + anc_analysis = true; } else usage(); } else { Program p = find_Program(make_string(argv[i])); diff --git a/aps2scala/Makefile b/aps2scala/Makefile index a3d6f91a..f2b08a08 100644 --- a/aps2scala/Makefile +++ b/aps2scala/Makefile @@ -1,7 +1,7 @@ CPP=g++ CPPFLAGS=-Wall -g -Wno-unused-variable -DUSING_CXX -DAPS2SCALA -I../parse -I../analyze -I../codegen -I../utilities -APS2SCALAOBJS = aps2scala.o dump-scala.o implement.o dyn-impl.o static-impl.o static-scc-impl.o +APS2SCALAOBJS = aps2scala.o dump-scala.o implement.o dyn-impl.o static-impl.o static-scc-impl.o synth-impl.o APS2SCALALIBS = ../lib/aps-lib.o ../lib/aps-ag.a ../utilities/utilities.o aps2scala : ${APS2SCALAOBJS} ${APS2SCALALIBS} ${CPP} ${CPPFLAGS} ${APS2SCALAOBJS} ${APS2SCALALIBS} -o aps2scala @@ -11,6 +11,9 @@ ${APS2SCALAOBJS} : dump-scala.h install: aps2scala mv aps2scala ../bin/. +synth-impl.o : ../codegen/synth-impl.cc + ${CPP} -c ${CPPFLAGS} $< -o $@ + static-impl.o : ../codegen/static-impl.cc ${CPP} -c ${CPPFLAGS} $< -o $@ diff --git a/aps2scala/aps2scala.cc b/aps2scala/aps2scala.cc index 5b026603..1e4245c6 100644 --- a/aps2scala/aps2scala.cc +++ b/aps2scala/aps2scala.cc @@ -40,6 +40,7 @@ extern int aps_yyparse(void); Implementation* impl; bool static_schedule = false; bool is_tree_only_program = false; +bool synth_implementation = false; static void* program_is_tree_only(void *scope, void *node) { if (ABSTRACT_APS_tnode_phylum(node) == KEYDeclaration) { @@ -82,6 +83,10 @@ int main(int argc,char **argv) { static_schedule = true; static_scc_schedule = true; continue; + } else if (streq(argv[i],"-F") || streq(argv[i],"--synth")) { + synth_implementation = true; + anc_analysis = true; + continue; } else if (streq(argv[i],"-V") || streq(argv[i],"--verbose")) { ++verbose; continue; @@ -110,8 +115,12 @@ int main(int argc,char **argv) { type_Program(p); traverse_Program(program_is_tree_only, p, p); aps_check_error("type"); - if (static_schedule) { - impl = static_scc_schedule ? static_scc_impl : static_impl; + if (static_schedule || synth_implementation) { + if (static_schedule) { + impl = static_scc_schedule ? static_scc_impl : static_impl; + } else { + impl = synth_impl; + } analyze_Program(p); aps_check_error("analysis"); if (!impl) { diff --git a/aps2scala/dump-scala.cc b/aps2scala/dump-scala.cc index b3910da5..06331578 100644 --- a/aps2scala/dump-scala.cc +++ b/aps2scala/dump-scala.cc @@ -1681,7 +1681,7 @@ void dump_scala_Declaration(Declaration decl,ostream& oss) ++nesting_level; STATE *s = (STATE*)Declaration_info(decl)->analysis_state; - if (static_scc_schedule && s != NULL) + if ((static_scc_schedule || anc_analysis) && s != NULL) { activate_static_circular = s->loop_required; } @@ -2436,6 +2436,24 @@ void dump_collect_Actuals(Type ctype, Actuals as, ostream& o) } } +STATE* current_state = NULL; +AUG_GRAPH* current_aug_graph = NULL; +std::vector synth_functions_states; +SYNTH_FUNCTION_STATE* current_synth_functions_state = NULL; + +static bool find_instance(AUG_GRAPH* aug_graph, Declaration node, Declaration attr, INSTANCE** instance_out) { + int i; + for (i = 0; i < aug_graph->instances.length; i++) { + INSTANCE* instance = &aug_graph->instances.array[i]; + if (instance->node == node && instance->fibered_attr.attr == attr) { + *instance_out = instance; + return true; + } + } + + return false; +} + void dump_Expression(Expression e, ostream& o) { switch (Expression_KEY(e)) { @@ -2455,6 +2473,22 @@ void dump_Expression(Expression e, ostream& o) dump_collect_Actuals(infer_expr_type(e),funcall_actuals(e),o); return; } + + Declaration attr; + if (impl == synth_impl && (attr = attr_ref_p(e)) != nullptr) { + vector visited; + struct Expression_info * index = Expression_info(e); + Declaration node = USE_DECL(value_use_use(first_Actual(funcall_actuals(e)))); + INSTANCE* instance; + if (find_instance(current_aug_graph, node, attr, &instance)) { + impl->dump_synth_instance(instance, o); + return; + } else { + fatal_error("failed to find instance"); + return; + } + } + bool dump_anchor_actual = false; if (should_include_ast_for_objects()) { Expression fexpr = funcall_f(e); @@ -2689,7 +2723,7 @@ string operator+(string s, int i) string indent(int nl) { return string(indent_multiple*nl,' '); } bool check_surrounding_decl(void* node, KEYTYPE_Declaration decl_key, Declaration* result_decl) { - while (node != NULL) { + while (node != NULL && ABSTRACT_APS_tnode_phylum(node) != KEY_ABSTRACT_APS_None) { if (ABSTRACT_APS_tnode_phylum(node) == KEYDeclaration) { Declaration decl = (Declaration)node; if (Declaration_KEY(decl) == decl_key) { @@ -2703,3 +2737,16 @@ bool check_surrounding_decl(void* node, KEYTYPE_Declaration decl_key, Declaratio *result_decl = NULL; return false; } + +bool check_surrounding_node(void* node, KEYTYPE_ABSTRACT_APS_Phylum ast_key, void** result_node) { + while (node != NULL && ABSTRACT_APS_tnode_phylum(node) != KEY_ABSTRACT_APS_None) { + if (ABSTRACT_APS_tnode_phylum(node) == ast_key) { + *result_node = node; + return true; + } + node = tnode_parent(node); + } + + *result_node = NULL; + return false; +} diff --git a/aps2scala/dump-scala.h b/aps2scala/dump-scala.h index 5a17eb3c..7fdc8fd7 100644 --- a/aps2scala/dump-scala.h +++ b/aps2scala/dump-scala.h @@ -17,6 +17,7 @@ extern int verbose; extern int debug; extern bool include_comments; extern bool static_scc_schedule; +extern bool anc_analysis; class Implementation; diff --git a/codegen/dump.h b/codegen/dump.h index 7a024886..2cfc2cdd 100644 --- a/codegen/dump.h +++ b/codegen/dump.h @@ -1,6 +1,8 @@ #ifndef DUMP_H +#include "implement.h" #include #include +#include using std::ostream; using std::string; @@ -196,4 +198,14 @@ inline const output_streams& operator<< } #endif /* APS2SCALA */ +// The following are used for synth function implementation only +extern AUG_GRAPH* current_aug_graph; +extern STATE* current_state; +extern std::vector synth_functions_states; +extern SYNTH_FUNCTION_STATE* current_synth_functions_state; + +// Common code generation utility functions +extern bool check_surrounding_decl(void* node, KEYTYPE_Declaration decl_key, Declaration* result_decl); +extern bool check_surrounding_node(void* node, KEYTYPE_ABSTRACT_APS_Phylum ast_key, void** result_node); + #endif diff --git a/codegen/implement.h b/codegen/implement.h index 22314831..d7f8d3c0 100644 --- a/codegen/implement.h +++ b/codegen/implement.h @@ -26,6 +26,17 @@ struct output_streams; #define LOCAL_UNIQUE_PREFIX(ld) Def_info(value_decl_def(ld))->unique_prefix +typedef struct synth_function_state { + std::string fdecl_name; + INSTANCE* source; + PHY_GRAPH* source_phy_graph; + std::vector regular_dependencies; + std::vector fiber_dependents; + std::vector aug_graphs; + bool is_phylum_instance; + bool is_fiber_evaluation; +} SYNTH_FUNCTION_STATE; + // Abstract class: class Implementation { public: @@ -68,11 +79,16 @@ class Implementation { // if a Declaration has an implementation mark on it, // this function is called to implement its use: virtual void implement_value_use(Declaration vd, ostream&) = 0; + + virtual void dump_synth_instance(INSTANCE*, ostream&) { + fatal_error("Only implemented for synth function codegen"); + } }; extern Implementation *dynamic_impl; extern Implementation *static_impl; extern Implementation *static_scc_impl; +extern Implementation *synth_impl; #define IMPLEMENTATION_MARKS (127<<24) diff --git a/codegen/synth-impl.cc b/codegen/synth-impl.cc new file mode 100644 index 00000000..77efd7e3 --- /dev/null +++ b/codegen/synth-impl.cc @@ -0,0 +1,1804 @@ +#include +#include + +#include +#include +#include +extern "C" { +#include + +#include "aps-ag.h" +} +#include +#include +#include +#include +#include +#include + +#include "dump.h" +#include "implement.h" + +#define LOCAL_VALUE_FLAG (1 << 28) + +#ifdef APS2SCALA +#define DEREF "." +#else +#define DEREF "->" +#endif + +static const string LOOP_VAR = "isInsideFixedPoint"; +static const string PREV_LOOP_VAR = "prevIsInsideFixedPoint"; + +// visit procedures are called: +// visit_n_m +// where n is the number of the phy_graph and m is the phase. +// This does a dispatch to visit_n_m_p +// where p is the production number (0-based constructor index) +#define KEY_BLOCK_ITEM_CONDITION 1 +#define KEY_BLOCK_ITEM_INSTANCE 2 + +struct block_item_base { + int key; + INSTANCE* instance; + struct block_item_base* prev; +}; + +typedef struct block_item_base BlockItem; + +struct block_item_condition { + int key; /* KEY_BLOCK_ITEM_CONDITION */ + INSTANCE* instance; + BlockItem* prev; + Declaration condition; + BlockItem* next_positive; + BlockItem* next_negative; +}; + +struct block_item_instance { + int key; /* KEY_BLOCK_ITEM_INSTANCE */ + INSTANCE* instance; + BlockItem* prev; + BlockItem* next; +}; + +vector current_blocks; +BlockItem* current_scope_block; +vector dumped_conditional_block_items; +vector dumped_instances; +static bool tracking_fiber_convergence = false; + +// Given a block, it prints its linearized schedule as comments in the output stream. +static void print_linearized_block(BlockItem* block, ostream& os) { + if (block != NULL) { + os << indent() << block->instance << "\n"; + if (block->key == KEY_BLOCK_ITEM_CONDITION) { + struct block_item_condition* cond = (struct block_item_condition*)block; + + if (cond->prev != NULL && cond->prev->key != KEY_BLOCK_ITEM_CONDITION) { + os << indent() << cond->prev->instance << "\n"; + } + + os << indent() << "IF\n"; + nesting_level++; + print_linearized_block(cond->next_positive, os); + nesting_level--; + os << indent() << "ELSE\n"; + nesting_level++; + print_linearized_block(cond->next_negative, os); + nesting_level--; + } else { + print_linearized_block(((struct block_item_instance*)block)->next, os); + } + } +} + +static vector sort_instances(AUG_GRAPH* aug_graph) { + vector result; + + int n = aug_graph->instances.length; + int i; + for (i = 0; i < n; i++) { + INSTANCE* instance = &aug_graph->instances.array[i]; + if (!if_rule_p(instance->fibered_attr.attr)) { + result.push_back(instance); + } + } + + for (i = 0; i < n; i++) { + INSTANCE* instance = &aug_graph->instances.array[i]; + if (if_rule_p(instance->fibered_attr.attr)) { + result.push_back(instance); + } + } + + return result; +} + +// Given an augmented dependency graph, it linearize it recursively +static BlockItem* linearize_block_helper(AUG_GRAPH* aug_graph, + const vector& sorted_instances, + bool* scheduled, + CONDITION* cond, + BlockItem* prev, + int remaining, + INSTANCE* aug_graph_instance) { + // impossible merge condition + if (CONDITION_IS_IMPOSSIBLE(*cond)) { + return NULL; + } + + int j; + int n = aug_graph->instances.length; + + for (auto it = sorted_instances.begin(); it != sorted_instances.end(); it++) { + INSTANCE* instance = *it; + int i = instance->index; + + if (scheduled[i]) { + continue; + } + + // impossible merge condition, cannot schedule this instance + if (MERGED_CONDITION_IS_IMPOSSIBLE(*cond, instance_condition(instance))) { + scheduled[i] = true; + BlockItem* result = linearize_block_helper(aug_graph, sorted_instances, scheduled, cond, prev, remaining - 1, aug_graph_instance); + scheduled[i] = false; + return result; + } + + // if there is no dependency between this instance and the augmented dependency instance that we want to linearize for, + // then this instance should not be included in the linearization linked-list + if (aug_graph_instance != instance && !edgeset_kind(aug_graph->graph[instance->index * n + aug_graph_instance->index])) { + scheduled[i] = true; + BlockItem* result = linearize_block_helper(aug_graph, sorted_instances, scheduled, cond, prev, remaining - 1, aug_graph_instance); + scheduled[i] = false; + return result; + } + + // printf("trying to schedule: "); + // print_instance(instance, stdout); + // printf("\n"); + + bool ready_to_schedule = true; + for (j = 0; j < n && ready_to_schedule; j++) { + INSTANCE* other_instance = &aug_graph->instances.array[j]; + + // already scheduled dependency + if (scheduled[j]) { + continue; + } + + // impossible merge condition, ignore this dependency + if (MERGED_CONDITION_IS_IMPOSSIBLE(instance_condition(instance), instance_condition(other_instance))) { + continue; + } + + // not a direct dependency + if (!(edgeset_kind(aug_graph->graph[j * n + i]) & DEPENDENCY_MAYBE_DIRECT)) { + continue; + } + + ready_to_schedule = false; + break; + } + + // if all dependencies are ready to schedule + if (!ready_to_schedule) { + continue; + } + + BlockItem* item_base; + scheduled[i] = true; + + if (if_rule_p(instance->fibered_attr.attr)) { + struct block_item_condition* item = (struct block_item_condition*)malloc(sizeof(struct block_item_condition)); + item_base = (BlockItem*)item; + + item->key = KEY_BLOCK_ITEM_CONDITION; + item->instance = instance; + item->condition = instance->fibered_attr.attr; + item->prev = prev; + + int cmask = 1 << (if_rule_index(instance->fibered_attr.attr)); + cond->positive |= cmask; + item->next_positive = linearize_block_helper(aug_graph, sorted_instances, scheduled, cond, item_base, remaining - 1, aug_graph_instance); + cond->positive &= ~cmask; + cond->negative |= cmask; + item->next_negative = linearize_block_helper(aug_graph, sorted_instances, scheduled, cond, item_base, remaining - 1, aug_graph_instance); + cond->negative &= ~cmask; + } else { + struct block_item_instance* item = (struct block_item_instance*)malloc(sizeof(struct block_item_instance)); + item_base = (BlockItem*)item; + item->key = KEY_BLOCK_ITEM_INSTANCE; + item->instance = instance; + item->prev = prev; + item->next = linearize_block_helper(aug_graph, sorted_instances, scheduled, cond, item_base, remaining - 1, aug_graph_instance); + } + + scheduled[i] = false; + + return item_base; + } + + if (remaining != 0) { + fatal_error("failed to schedule some instances, remaining: %d", remaining); + } + + return NULL; +} + +// Given an augmented dependency graph, it linearizes +// the direct dependency schedule. +static BlockItem* linearize_block(AUG_GRAPH* aug_graph, INSTANCE* aug_graph_instance) { + int n = aug_graph->instances.length; + bool* scheduled = (bool*)alloca(sizeof(bool) * n); + memset(scheduled, 0, sizeof(bool) * n); + + CONDITION cond = {0, 0}; + vector sorted_instances = sort_instances(aug_graph); + + return linearize_block_helper(aug_graph, sorted_instances, scheduled, &cond, NULL, n, aug_graph_instance); +} + +// Given an instance it traverses the direct dependency schedule +// trying to find the instance and if it sees the condition +// along the way, it returns that condition. +static BlockItem* find_surrounding_block(BlockItem* block, INSTANCE* instance) { + while (block != NULL) { + if (block->key == KEY_BLOCK_ITEM_CONDITION) { + return block; + } else if (block->key == KEY_BLOCK_ITEM_INSTANCE) { + if (block->instance == instance) { + return block; + } else { + block = ((struct block_item_instance*)block)->next; + } + } + } + + return NULL; +} + +enum instance_direction custom_instance_direction(INSTANCE* i) { + enum instance_direction dir = fibered_attr_direction(&i->fibered_attr); + if (i->node == NULL) { + return dir; + } else if (DECL_IS_LHS(i->node)) { + return dir; + } else if (DECL_IS_RHS(i->node)) { + return dir; + } else if (DECL_IS_LOCAL(i->node)) { + return instance_local; + } else { + fatal_error("%d: unknown attributed node", tnode_line_number(i->node)); + return dir; /* keep CC happy */ + } +} + +static bool instance_is_local(INSTANCE* instance) { + if (instance->fibered_attr.fiber == NULL) { + return custom_instance_direction(instance) == instance_local; + } else { + return fibered_attr_direction(&instance->fibered_attr) == instance_local; + } +} + +static bool instance_is_synthesized(INSTANCE* instance) { + if (instance->fibered_attr.fiber == NULL) { + return custom_instance_direction(instance) == instance_outward; + } else { + return fibered_attr_direction(&instance->fibered_attr) == instance_outward; + } +} + +static bool instance_is_inherited(INSTANCE* instance) { + if (instance->fibered_attr.fiber == NULL) { + return custom_instance_direction(instance) == instance_inward; + } else { + return fibered_attr_direction(&instance->fibered_attr) == instance_inward; + } +} + +static bool instance_is_pure_shared_info(INSTANCE* instance) { + return instance->fibered_attr.fiber == NULL && ATTR_DECL_IS_SHARED_INFO(instance->fibered_attr.attr); +} + +static std::vector collect_phylum_graph_attr_dependencies(PHY_GRAPH* phylum_graph, + INSTANCE* sink_instance) { + std::vector result; + + int i; + int n = phylum_graph->instances.length; + + for (i = 0; i < n; i++) { + INSTANCE* source_instance = &phylum_graph->instances.array[i]; + if (!instance_is_pure_shared_info(source_instance) && source_instance->index != sink_instance->index && + phylum_graph->mingraph[source_instance->index * n + sink_instance->index]) { + result.push_back(source_instance); + } + } + + return result; +} + +static bool is_function_decl_attribute(INSTANCE* instance) { + if (instance->node != NULL && ABSTRACT_APS_tnode_phylum(instance->node) == KEYDeclaration) { + switch (Declaration_KEY(instance->node)) { + case KEYpragma_call: { + Declaration fdecl = Declaration_info(instance->node)->proxy_fdecl; + switch (Declaration_KEY(fdecl)) { + case KEYfunction_decl: + return true; + default: + break; + } + break; + } + default: + break; + } + } + + return false; +} + +static std::vector collect_aug_graph_attr_dependencies(AUG_GRAPH* aug_graph, + INSTANCE* sink_instance) { + std::vector result; + + int i; + int n = aug_graph->instances.length; + + for (i = 0; i < n; i++) { + INSTANCE* source_instance = &aug_graph->instances.array[i]; + if (!instance_is_pure_shared_info(source_instance) && source_instance->index != sink_instance->index && + !is_function_decl_attribute(source_instance) && + edgeset_kind(aug_graph->graph[source_instance->index * n + sink_instance->index])) { + result.push_back(source_instance); + } + } + + return result; +} + +static vector collect_lhs_aug_graphs(STATE* state, PHY_GRAPH* pgraph) { + vector result; + + int i; + int n = state->match_rules.length; + for (i = 0; i < n; i++) { + AUG_GRAPH* aug_graph = &state->aug_graphs[i]; + PHY_GRAPH* aug_graph_pgraph = Declaration_info(aug_graph->lhs_decl)->node_phy_graph; + + if (aug_graph_pgraph == pgraph) { + switch (Declaration_KEY(aug_graph->lhs_decl)) { + case KEYsome_function_decl: + continue; + default: + break; + } + + result.push_back(aug_graph); + } + } + + return result; +} + +static bool find_instance(AUG_GRAPH* aug_graph, + Declaration node, + FIBERED_ATTRIBUTE& fiber_attr, + INSTANCE** instance_out) { + int i; + for (i = 0; i < aug_graph->instances.length; i++) { + INSTANCE* instance = &aug_graph->instances.array[i]; + if (instance->node == node && instance->fibered_attr.attr == fiber_attr.attr) { + if (fibered_attr_equal(&instance->fibered_attr, &fiber_attr)) { + *instance_out = instance; + return true; + } + } + } + + return false; +} + +string attr_to_string(Declaration attr) { + if (ATTR_DECL_IS_SHARED_INFO(attr)) { + return "sharedinfo"; + } else { + return decl_name(attr); + } +} + +string fiber_to_string(FIBER fiber) { + std::stringstream ss; + + while (fiber != NULL && fiber->field != NULL) { + std::string field = decl_name(fiber->field); + field.erase(std::remove(field.begin(), field.end(), '!'), field.end()); + + ss << field; + fiber = fiber->shorter; + if (fiber->field != NULL) { + ss << "_"; + } + } + + return ss.str(); +} + +string instance_to_string(INSTANCE* in, bool force_include_node_type = false, bool trim_node = false) { + vector result; + + Declaration node = in->node; + if (force_include_node_type && node == NULL) { + node = current_aug_graph->lhs_decl; + } + + if (!trim_node && node != NULL) { + if (Declaration_KEY(node) == KEYpragma_call) { + result.push_back(symbol_name(pragma_call_name(node))); + } else { + result.push_back(decl_name(node)); + } + } + + if (in->fibered_attr.attr != NULL) { + result.push_back(attr_to_string(in->fibered_attr.attr)); + } + + if (in->fibered_attr.fiber != NULL) { + result.push_back(fiber_to_string(in->fibered_attr.fiber)); + } + + return std::accumulate(std::next(result.begin()), result.end(), result[0], + [](std::string a, std::string b) { return a + "_" + b; }); +} + +static string instance_to_string_with_nodetype(Declaration polymorphic, INSTANCE* in) { + Declaration attr = in->fibered_attr.attr; + std::stringstream ss; + + if (Declaration_KEY(attr) == KEYvalue_decl && LOCAL_UNIQUE_PREFIX(attr) != 0) { + ss << "a" << LOCAL_UNIQUE_PREFIX(attr) << "_"; + } + + ss << decl_name(polymorphic) << "_" << instance_to_string(in, false, false); + + return ss.str(); +} + +static string instance_to_attr(INSTANCE* in) { + Declaration attr = in->fibered_attr.attr; + Declaration field = in->fibered_attr.fiber != NULL ? in->fibered_attr.fiber->field : NULL; + std::stringstream ss; + + if (Declaration_KEY(attr) == KEYvalue_decl && LOCAL_UNIQUE_PREFIX(attr) != 0) { + ss << "a" << LOCAL_UNIQUE_PREFIX(attr); + } else { + ss << "a"; + } + + if (attr != NULL && !ATTR_DECL_IS_SHARED_INFO(attr)) { + ss << "_" << decl_name(attr); + } + + if (field != NULL) { + std::string field_str = decl_name(field); + field_str.erase(std::remove(field_str.begin(), field_str.end(), '!'), field_str.end()); + ss << "_" << field_str; + } + + return ss.str(); +} + +static bool check_is_match_formal(void* node) { + Declaration formal_decl = NULL; + bool is_formal = check_surrounding_decl(node, KEYnormal_formal, &formal_decl); + + void* match = NULL; + bool is_inside_match = check_surrounding_node(node, KEYMatch, &match); + + return is_formal && is_inside_match; +} + +// Unified filter for determining which dependencies should be included +// as function parameters and call arguments in synthesized eval functions. +static bool should_skip_synth_dependency(INSTANCE* source_instance) { + if (source_instance->fibered_attr.fiber != NULL) { + return true; + } + if (if_rule_p(source_instance->fibered_attr.attr)) { + return true; + } + if (check_is_match_formal(source_instance->fibered_attr.attr)) { + return true; + } + return false; +} + +static std::vector build_synth_functions_state(STATE* s) { + std::vector synth_function_states; + int i, j; + int aug_graph_count = s->match_rules.length; + + for (i = 0; i < s->phyla.length; i++) { + PHY_GRAPH* pg = &s->phy_graphs[i]; + if (Declaration_KEY(pg->phylum) != KEYphylum_decl) { + continue; + } + + for (j = 0; j < pg->instances.length; j++) { + INSTANCE* in = &pg->instances.array[j]; + bool is_fiber = in->fibered_attr.fiber != NULL; + bool is_shared_info = ATTR_DECL_IS_SHARED_INFO(in->fibered_attr.attr); + + if (!instance_is_synthesized(in)) { + continue; + } + + SYNTH_FUNCTION_STATE* state = new SYNTH_FUNCTION_STATE(); + state->fdecl_name = instance_to_string_with_nodetype(pg->phylum, in); + state->source = in; + state->is_phylum_instance = true; + state->source_phy_graph = pg; + state->is_fiber_evaluation = is_fiber || is_shared_info; + + if (state->is_fiber_evaluation && state->source->node != NULL) { + printf("Warning: Synthesizing fiber evaluation for instance with attributed node, which is not supported yet. Instance: "); + print_instance(in, stdout); + printf("\n"); + } + + state->regular_dependencies = collect_phylum_graph_attr_dependencies(pg, in); + state->aug_graphs = collect_lhs_aug_graphs(s, pg); + + synth_function_states.push_back(state); + } + } + + for (i = 0; i < aug_graph_count; i++) { + AUG_GRAPH* aug_graph = &s->aug_graphs[i]; + + switch (Declaration_KEY(aug_graph->lhs_decl)) { + case KEYsome_function_decl: + continue; + default: + break; + } + + for (j = 0; j < aug_graph->instances.length; j++) { + INSTANCE* instance = &aug_graph->instances.array[j]; + bool is_local = instance_direction(instance) == instance_local; + bool is_fiber = instance->fibered_attr.fiber != NULL; + bool is_shared_info = ATTR_DECL_IS_SHARED_INFO(instance->fibered_attr.attr); + + if (is_local && !is_fiber && !if_rule_p(instance->fibered_attr.attr)) { + switch (Declaration_KEY(instance->fibered_attr.attr)) { + case KEYformal: + continue; + default: + break; + } + + Declaration attr = instance->fibered_attr.attr; + PHY_GRAPH* pg = Declaration_info(aug_graph->lhs_decl)->node_phy_graph; + Declaration tdecl = canonical_type_decl(canonical_type(value_decl_type(attr))); + + SYNTH_FUNCTION_STATE* state = new SYNTH_FUNCTION_STATE(); + state->fdecl_name = instance_to_string_with_nodetype(tdecl, instance); + state->source = instance; + state->is_phylum_instance = false; + state->source_phy_graph = pg; + state->is_fiber_evaluation = is_fiber || is_shared_info; + state->regular_dependencies = collect_aug_graph_attr_dependencies(aug_graph, instance); + + vector aug_graphs; + aug_graphs.push_back(aug_graph); + state->aug_graphs = aug_graphs; + + synth_function_states.push_back(state); + } + } + } + + return synth_function_states; +} + +static void destroy_synth_function_states(const vector& states) { + for (auto it = states.begin(); it != states.end(); it++) { + delete (*it); + } +} + +static void dump_attribute_type(INSTANCE* in, ostream& os) { + CanonicalType* ctype = canonical_type(infer_some_value_decl_type(in->fibered_attr.attr)); + switch (ctype->key) { + case KEY_CANONICAL_USE: { + os << "T_" << decl_name(canonical_type_decl(ctype)); + break; + } + case KEY_CANONICAL_FUNC: { + struct Canonical_function_type* fdecl_ctype = (struct Canonical_function_type*)ctype; + os << "T_" << decl_name(canonical_type_decl(fdecl_ctype->return_type)); + break; + } + default: + break; + } +} + +class FiberDependencyDumper { +public: + static void dump(AUG_GRAPH* aug_graph, INSTANCE* sink, ostream& os) { + + int i, j; + int n = aug_graph->instances.length; + + vector relevant_instances; + + // collect relevant fiber dependencies + for (i = 0; i < n; i++) { + INSTANCE* in = &aug_graph->instances.array[i]; + if (in->node != NULL && Declaration_KEY(in->node) == KEYpragma_call) { + continue; + } + + if (in->index == sink->index) { + continue; + } + + if (edgeset_kind(aug_graph->graph[in->index * n + sink->index])) { + if (in->fibered_attr.fiber != NULL) { + if (instance_is_synthesized(in) || instance_is_local(in)) { + relevant_instances.push_back(in); + } + } + } + } + + if (relevant_instances.empty()) { + return; + } + + bool* scheduled = (bool*)alloca(sizeof(bool) * n); + memset(scheduled, 0, sizeof(bool) * n); + + SccGraph scc_graph; + scc_graph_initialize(&scc_graph, static_cast(relevant_instances.size())); + + // add vertices to the SCC graph + for (auto it = relevant_instances.begin(); it != relevant_instances.end(); it++) { + INSTANCE* in = *it; + scc_graph_add_vertex(&scc_graph, in); + } + + // add edges to the SCC graph + for (auto it1 = relevant_instances.begin(); it1 != relevant_instances.end(); it1++) { + INSTANCE* in1 = *it1; + for (auto it2 = relevant_instances.begin(); it2 != relevant_instances.end(); it2++) { + INSTANCE* in2 = *it2; + if (in1->index == in2->index) { + continue; + } + + if (edgeset_kind(aug_graph->graph[in1->index * n + in2->index])) { + scc_graph_add_edge(&scc_graph, in1, in2); + } + } + } + + SCC_COMPONENTS* components = scc_graph_components(&scc_graph); + + if (include_comments) { + os << indent() << "/* Fiber dependency SCC components:\n"; + nesting_level++; + for (i = 0; i < components->length; i++) { + SCC_COMPONENT* component = components->array[i]; + os << indent() << "Component " << i << ":\n"; + nesting_level++; + for (j = 0; j < component->length; j++) { + INSTANCE* in = (INSTANCE*)component->array[j]; + os << indent() << in << "\n"; + } + nesting_level--; + } + nesting_level--; + os << indent() << "*/\n"; + } + + dump_scc_helper(aug_graph, components, scheduled, os); + + scc_graph_destroy(&scc_graph); + } + +private: + static void dump_scc_helper(AUG_GRAPH* aug_graph, SCC_COMPONENTS* components, bool* scheduled, ostream& os) { + int component_count = components->length; + int i; + for (i = 0; i < component_count; i++) { + SCC_COMPONENT* component = find_next_ready_component(aug_graph, components, scheduled); + + dump_scc_helper_dump(aug_graph, component, scheduled, os); + } + + for (i = 0; i < component_count; i++) { + SCC_COMPONENT* component = components->array[i]; + if (!already_scheduled(aug_graph, component, scheduled)) { + fatal_error("some instances were not scheduled"); + } + } + } + + static void dump_scc_helper_dump(AUG_GRAPH* aug_graph, SCC_COMPONENT* component, bool* scheduled, ostream& os) { + int i; + + if (already_scheduled(aug_graph, component, scheduled)) { + return; + } + + int n = aug_graph->instances.length; + if (component->length == 0) { + return; + } + + for (i = 0; i < component->length; i++) { + INSTANCE* in = (INSTANCE*)component->array[i]; + + if (scheduled[in->index]) { + continue; + } + + bool dependency_ready = true; + for (int j = 0; j < component->length && dependency_ready; j++) { + INSTANCE* dependency_instance = (INSTANCE*)component->array[j]; + if (dependency_instance == in) { + continue; + } + + if (!scheduled[dependency_instance->index] && + edgeset_kind(aug_graph->graph[dependency_instance->index * n + in->index]) & DEPENDENCY_MAYBE_DIRECT) { + dependency_ready = false; + } + } + + if (!dependency_ready) { + continue; + } + + scheduled[in->index] = true; + os << indent(); + impl->dump_synth_instance(in, os); + dumped_conditional_block_items.clear(); + dumped_instances.clear(); + os << "\n"; + + dump_scc_helper_dump(aug_graph, component, scheduled, os); + } + } + + static bool already_scheduled(AUG_GRAPH* aug_graph, SCC_COMPONENT* component, bool* scheduled) { + for (int i = 0; i < component->length; i++) { + INSTANCE* in = (INSTANCE*)component->array[i]; + if (!scheduled[in->index]) { + return false; + } + } + return true; + } + + static SCC_COMPONENT* find_next_ready_component(AUG_GRAPH* aug_graph, + SCC_COMPONENTS* components, + bool* scheduled) { + + int n = aug_graph->instances.length; + + for (int i = 0; i < components->length; i++) { + SCC_COMPONENT* component = components->array[i]; + + // if all instances in the component are scheduled, skip it + if (already_scheduled(aug_graph, component, scheduled)) { + continue; + } + + bool component_ready = true; + for (int j = 0; j < component->length && component_ready; j++) { + INSTANCE* in = (INSTANCE*)component->array[j]; + + for (int k = 0; k < components->length && component_ready; k++) { + SCC_COMPONENT* other_component = components->array[k]; + if (other_component == component) { + continue; + } + + if (already_scheduled(aug_graph, other_component, scheduled)) { + continue; + } + + for (int l = 0; l < other_component->length; l++) { + INSTANCE* other_in = (INSTANCE*)other_component->array[l]; + if (edgeset_kind(aug_graph->graph[other_in->index * n + in->index])) { + component_ready = false; + break; + } + } + } + } + + if (component_ready) { + return component; + } + } + + fatal_error("no more components to schedule"); + return NULL; + } +}; + +#ifdef APS2SCALA +static void dump_synth_functions(STATE* s, ostream& os) +#else /* APS2SCALA */ +static void dump_synth_functions(STATE* s, output_streams& oss) +#endif /* APS2SCALA */ +{ +#ifdef APS2SCALA + ostream& oss = os; +#else /* !APS2SCALA */ + ostream& hs = oss.hs; + ostream& cpps = oss.cpps; + ostream& os = inline_definitions ? hs : cpps; + +#endif /* APS2SCALA */ + // first dump all visit functions for each phylum: + + os << "\n"; + + int i; + int aug_graph_count = s->match_rules.length; + current_state = s; + synth_functions_states = build_synth_functions_state(s); + bool needs_fixed_point = s->loop_required; + + for (auto state_it = synth_functions_states.begin(); state_it != synth_functions_states.end(); state_it++) { + SYNTH_FUNCTION_STATE* synth_functions_state = *state_it; + current_synth_functions_state = synth_functions_state; + + if (include_comments) { + os << indent() << "// " << synth_functions_state->source << " (" + << (synth_functions_state->is_phylum_instance ? "phylum" : "aug-graph") << ")\n"; + } + if (synth_functions_state->is_fiber_evaluation) { + os << indent() << "val evaluated_map_" << synth_functions_state->fdecl_name + // << " = scala.collection.mutable.Map[T_" << decl_name(synth_functions_state->source_phy_graph->phylum) + << " = scala.collection.mutable.Map[Int" + << ", Boolean]()" + << "\n\n"; + } + + os << indent() << "def eval_" << synth_functions_state->fdecl_name << "("; + os << "node: T_" << decl_name(synth_functions_state->source_phy_graph->phylum); + + for (auto it = synth_functions_state->regular_dependencies.begin(); + it != synth_functions_state->regular_dependencies.end(); it++) { + INSTANCE* source_instance = *it; + if (should_skip_synth_dependency(source_instance)) { + continue; + } + + // for locals, it needs prefix in formals, not for fibers or regular attributes + + os << ",\n"; + os << indent(nesting_level+1); + os << "v_"; + + if (!synth_functions_state->is_phylum_instance) { + os << instance_to_string(source_instance, false, false) << ": "; + } else { + os << instance_to_string(source_instance, false, true) << ": "; + } + + dump_attribute_type(source_instance, os); + } + + os << ")"; + + if (needs_fixed_point) { + os << "(implicit " << LOOP_VAR << ": Boolean, changed: AtomicBoolean)"; + } + + os << ": "; + + if (synth_functions_state->is_fiber_evaluation) { + os << "Unit"; + } else { + dump_attribute_type(synth_functions_state->source, os); + } + os << " = {\n"; + nesting_level++; + + // don't cache if we are in the loop. + if (needs_fixed_point) { + os << indent() << "if (!" << LOOP_VAR << ") {\n"; + nesting_level++; + } + + if (synth_functions_state->is_fiber_evaluation) { + os << indent() << "evaluated_map_" << synth_functions_state->fdecl_name + << ".getOrElse(node.nodeNumber, false) match {\n"; + os << indent(nesting_level + 1) << "case true => "; + os << "return ()\n"; + } else { + os << indent() << instance_to_attr(synth_functions_state->source) + << ".checkNode(node).status match {\n"; + os << indent(nesting_level + 1) << "case Evaluation.ASSIGNED => "; + if (include_comments) { + os << "{\n"; + nesting_level++; + os << indent(nesting_level + 1) << "Debug.out(\"cache hit for \" + node + \" with value \" + " << instance_to_attr(synth_functions_state->source) << ".get(node));\n"; + os << indent(nesting_level + 1); + } + + os << "return " << instance_to_attr(synth_functions_state->source) << ".get(node)\n"; + + if (include_comments) { + nesting_level--; + os << indent(nesting_level + 1) << "}\n"; + } + } + + os << indent(nesting_level + 1) << "case _ => ()\n"; + os << indent() << "};\n"; + + if (needs_fixed_point) { + nesting_level--; + os << indent() << "}\n"; + } + + if (synth_functions_state->is_fiber_evaluation) { + os << indent() << "node match {\n"; + } else { + os << indent() << "val result = node match {\n"; + } + nesting_level++; + + for (auto it = synth_functions_state->aug_graphs.begin(); it != synth_functions_state->aug_graphs.end(); it++) { + AUG_GRAPH* aug_graph = *it; + int n = aug_graph->instances.length; + + current_aug_graph = aug_graph; + current_blocks.push_back(matcher_body(top_level_match_m(aug_graph->match_rule))); + + os << indent() << "case " << matcher_pat(top_level_match_m(aug_graph->match_rule)) << " => {\n"; + nesting_level++; + + INSTANCE* aug_graph_instance = NULL; + if (synth_functions_state->is_phylum_instance) { + if (!find_instance(aug_graph, aug_graph->lhs_decl, synth_functions_state->source->fibered_attr, &aug_graph_instance)) { + fatal_error("something is wrong with instances in aug graph %s", aug_graph_name(aug_graph)); + } + } else { + aug_graph_instance = synth_functions_state->source; + } + + // Linearize the current scope block but make sure IF statements or conditional instances + // that have nothing to do with this instance don't appear in linearization + current_scope_block = linearize_block(aug_graph, aug_graph_instance); + + if (include_comments) { + os << indent() << "/* Linearized schedule:\n"; + nesting_level++; + print_linearized_block(current_scope_block, os); + nesting_level--; + os << indent() << "*/\n"; + } + + int src_idx = synth_functions_state->source->index; + string src_attr = instance_to_attr(synth_functions_state->source); + + bool declared_is_circular = instance_circular(aug_graph_instance); + bool depends_on_itself = edgeset_kind(aug_graph->graph[src_idx * n + src_idx]) != 0; + + if (!declared_is_circular && depends_on_itself) { + aps_warning(aug_graph_instance->node, "Instance %s depends on itself but is not declared circular", instance_to_string(aug_graph_instance).c_str()); + } + + bool dump_fixed_point_loop = declared_is_circular && !instance_is_pure_shared_info(synth_functions_state->source); + string node_get = ATTR_DECL_IS_SHARED_INFO(synth_functions_state->source->fibered_attr.attr) ? "" : "node"; + string node_assign = ATTR_DECL_IS_SHARED_INFO(synth_functions_state->source->fibered_attr.attr) ? "" : "node, "; + + // Open fixed-point loop using shared changed flag for convergence tracking + if (dump_fixed_point_loop) { + os << indent() << "{\n"; + nesting_level++; + os << indent() << "val " << PREV_LOOP_VAR << src_idx << " = " << LOOP_VAR << ";\n"; + os << indent() << "val prevChanged" << src_idx << " = changed;\n"; + os << indent() << "val newChanged" << src_idx << " = new AtomicBoolean(false);\n"; + if (include_comments) { + os << indent() << "var iterCount" << src_idx << " = 0;\n"; + } + os << indent() << "do {\n"; + nesting_level++; + os << indent() << "newChanged" << src_idx << ".set(false);\n"; + if (synth_functions_state->is_fiber_evaluation) { + tracking_fiber_convergence = true; + } + os << indent() << "implicit val " << LOOP_VAR << ": Boolean = true;\n"; + os << indent() << "implicit val changed: AtomicBoolean = newChanged" << src_idx << ";\n"; + } + + // Fiber dependencies (inside loop when looping) + if (synth_functions_state->is_fiber_evaluation) { + if (include_comments && !dump_fixed_point_loop) { + os << "\n"; + } + FiberDependencyDumper::dump(aug_graph, aug_graph_instance, os); + os << indent(); + impl->dump_synth_instance(aug_graph_instance, os); + os << "\n"; + dumped_conditional_block_items.clear(); + dumped_instances.clear(); + } + + // Non-fiber instance computation + if (!synth_functions_state->is_fiber_evaluation) { + if (dump_fixed_point_loop) { + os << indent() << src_attr << ".assign(" << node_assign; + impl->dump_synth_instance(aug_graph_instance, os); + os << ", changed);\n"; + } else { + os << indent(); + impl->dump_synth_instance(aug_graph_instance, os); + os << "\n"; + } + } + + // Close fixed-point loop + if (dump_fixed_point_loop) { + tracking_fiber_convergence = false; + if (include_comments) { + os << indent() << "iterCount" << src_idx << " += 1;\n"; + os << indent() << "Debug.out(\"fixed-point " << synth_functions_state->fdecl_name + << " node=\" + node + \" iteration=\" + iterCount" << src_idx << ");\n"; + } + nesting_level--; + os << indent() << "} while (newChanged" << src_idx << ".get && !" << PREV_LOOP_VAR << src_idx << ")\n"; + os << indent() << "prevChanged" << src_idx << ".compareAndSet(false, newChanged" << src_idx << ".get);\n"; + if (!synth_functions_state->is_fiber_evaluation) { + os << indent() << src_attr << ".get(" << node_get << ")\n"; + } + nesting_level--; + os << indent() << "}\n"; + } + + current_blocks.clear(); + dumped_conditional_block_items.clear(); + dumped_instances.clear(); + + nesting_level--; + os << indent() << "}\n"; + } + + os << indent() << "case _ => throw new RuntimeException(\"failed pattern matching: \" + node)\n"; + + nesting_level--; + os << indent() << "};\n"; + + if (synth_functions_state->is_fiber_evaluation) { + os << indent() << "evaluated_map_" << synth_functions_state->fdecl_name << ".update(node.nodeNumber, true);\n"; + } else { + os << indent() << instance_to_attr(synth_functions_state->source) << ".assign(node, result);\n"; + os << indent() << instance_to_attr(synth_functions_state->source) << ".get(node);\n"; + } + + if (!synth_functions_state->is_fiber_evaluation) { + os << indent() << "result\n"; + } + + nesting_level--; + os << indent() << "}\n\n"; + } + + destroy_synth_function_states(synth_functions_states); +} + +class SynthScc : public Implementation { + public: + typedef Implementation::ModuleInfo Super; + class ModuleInfo : public Super { + public: + ModuleInfo(Declaration mdecl) : Implementation::ModuleInfo(mdecl) {} + + void note_top_level_match(Declaration tlm, GEN_OUTPUT& oss) { Super::note_top_level_match(tlm, oss); } + + void note_local_attribute(Declaration ld, GEN_OUTPUT& oss) { + Super::note_local_attribute(ld, oss); + Declaration_info(ld)->decl_flags |= LOCAL_ATTRIBUTE_FLAG; + } + + void note_attribute_decl(Declaration ad, GEN_OUTPUT& oss) { + Declaration_info(ad)->decl_flags |= ATTRIBUTE_DECL_FLAG; + Super::note_attribute_decl(ad, oss); + } + + void note_var_value_decl(Declaration vd, GEN_OUTPUT& oss) { Super::note_var_value_decl(vd, oss); } + +#ifdef APS2SCALA + void implement(ostream& os){ +#else /* APS2SCALA */ + void implement(output_streams& oss) { +#endif /* APS2SCALA */ + STATE* s = (STATE*)Declaration_info(module_decl) -> analysis_state; + +#ifdef APS2SCALA + ostream& oss = os; +#else + ostream& hs = oss.hs; + ostream& cpps = oss.cpps; + ostream& os = inline_definitions ? hs : cpps; + // char *name = decl_name(module_decl); +#endif /* APS2SCALA */ + + dump_synth_functions(s, oss); + + bool needs_fixed_point = s->original_state_dependency != 0; + + // Implement finish routine: +#ifdef APS2SCALA + os << indent() << "override def finish() : Unit = {\n"; +#else /* APS2SCALA */ + hs << indent() << "void finish()"; + if (!inline_definitions) { + hs << ";\n"; + cpps << "void " << oss.prefix << "finish()"; + } + INDEFINITION; + os << " {\n"; +#endif /* APS2SCALA */ + ++nesting_level; + + PHY_GRAPH* start_phy_graph = summary_graph_for(s, s->start_phylum); + + if (needs_fixed_point) { + os << indent() << "implicit val " << LOOP_VAR << ": Boolean = false;\n"; + os << indent() << "implicit val changed: AtomicBoolean = new AtomicBoolean(false);\n"; + } + os << indent() << "for (root <- t_" << decl_name(s->start_phylum) << ".nodes) {\n"; + ++nesting_level; + int i; + for (i = 0; i < start_phy_graph->instances.length; i++) { + INSTANCE* in = &start_phy_graph->instances.array[i]; + + if (!instance_is_synthesized(in)) + continue; + + string eval_name = instance_to_string_with_nodetype(s->start_phylum, &start_phy_graph->instances.array[i]); + os << indent() << "eval_" << eval_name << "(root);\n"; + } + --nesting_level; + os << indent() << "}\n"; + +#ifdef APS2SCALA + os << indent() << "super.finish();\n"; +#endif /* ! APS2SCALA */ + --nesting_level; + os << indent() << "};\n"; + + clear_implementation_marks(module_decl); + } +}; + +Super* get_module_info(Declaration m) { + return new ModuleInfo(m); +} + +void implement_function_body(Declaration f, ostream& os) { + dynamic_impl->implement_function_body(f, os); +} + +void implement_value_use(Declaration vd, ostream& os) { + int flags = Declaration_info(vd)->decl_flags; + if (flags & LOCAL_ATTRIBUTE_FLAG) { + int instance_index = Declaration_info(vd)->instance_index; + INSTANCE* instance = ¤t_aug_graph->instances.array[instance_index]; + + Type ty = value_decl_type(vd); + Declaration ctype_decl = canonical_type_decl(canonical_type(ty)); + string target_name = instance_to_string_with_nodetype(ctype_decl, instance); + + os << "eval_" << target_name << "(\n"; + int saved_nesting = nesting_level; + nesting_level = std::max(nesting_level + 2, 1); + os << indent() << "node"; + + // Find matching synth function state and use its dependencies + // for consistent parameter passing with the function signature + for (auto state_it = synth_functions_states.begin(); state_it != synth_functions_states.end(); state_it++) { + SYNTH_FUNCTION_STATE* synth_function_state = *state_it; + if (synth_function_state->fdecl_name == target_name) { + for (auto dep_it = synth_function_state->regular_dependencies.begin(); + dep_it != synth_function_state->regular_dependencies.end(); dep_it++) { + INSTANCE* source_instance = *dep_it; + if (should_skip_synth_dependency(source_instance)) { + continue; + } + os << ",\n" << indent(); + impl->dump_synth_instance(source_instance, os); + } + break; + } + } + + nesting_level = saved_nesting; + os << "\n" << indent() << ")"; + } else if (flags & ATTRIBUTE_DECL_FLAG) { + if (ATTR_DECL_IS_INH(vd)) { + os << "v_" << decl_name(vd); + } else { + os << "a" << "_" << decl_name(vd) << DEREF << "get"; + } + + // os << "a" << "_" << decl_name(vd) << DEREF << "get"; + } else if (flags & LOCAL_VALUE_FLAG) { + os << "v" << LOCAL_UNIQUE_PREFIX(vd) << "_" << decl_name(vd); + } else { + aps_error(vd, "internal_error: What is special about this?"); + } +} + +static Expression default_init(Default def) { + switch (Default_KEY(def)) { + case KEYsimple: + return simple_value(def); + case KEYcomposite: + return composite_initial(def); + default: + return 0; + } +} + +/* Return new array with instance assignments for block. + * If "from" is not NULL, then initialize the new array + * with it. + */ +static vector > make_instance_assignment() { + int n = current_aug_graph->instances.length; + + vector > from(n); + + for (int i = 0; i < n; ++i) { + INSTANCE* in = ¤t_aug_graph->instances.array[i]; + Declaration ad = in->fibered_attr.attr; + if (ad != 0 && in->fibered_attr.fiber == 0 && ABSTRACT_APS_tnode_phylum(ad) == KEYDeclaration) { + // get default! + switch (Declaration_KEY(ad)) { + case KEYattribute_decl: + from[in->index].insert(default_init(attribute_decl_default(ad))); + break; + case KEYvalue_decl: + from[in->index].insert(default_init(value_decl_default(ad))); + break; + default: + break; + } + } + } + + // start from the outer-most and override it with the most inner scope + for (auto it = current_blocks.begin(); it != current_blocks.end(); it++) { + Block block = *it; + vector > array(from); + + // Step #1 clear any existing assignments and insert normal assignments + // Step #2 insert collection assignments + int step = 1; + while (step <= 2) { + Declarations ds = block_body(block); + for (Declaration d = first_Declaration(ds); d; d = DECL_NEXT(d)) { + switch (Declaration_KEY(d)) { + case KEYnormal_assign: { + if (INSTANCE* in = Expression_info(assign_rhs(d))->value_for) { + if (in->index >= n) { + fatal_error("bad index [normal_assign] for instance"); + } + array[in->index].clear(); + if (assign_rhs(d) == NULL) { + printf("Warning: assignment to %s is empty\n", instance_to_string(in).c_str()); + } + + array[in->index].insert(assign_rhs(d)); + } + break; + } + case KEYcollect_assign: { + if (INSTANCE* in = Expression_info(assign_rhs(d))->value_for) { + if (in->index >= n) { + fatal_error("bad index [collection_assign] for instance"); + } + + if (step == 1) { + array[in->index].clear(); + } else { + array[in->index].insert(assign_rhs(d)); + } + } + break; + } + default: + break; + } + } + + step++; + } + + // and repeat if any + from = array; + } + + return from; +} + +void dump_assignment(INSTANCE* in, Expression rhs, ostream& o) { + Declaration ad = in != NULL ? in->fibered_attr.attr : NULL; + Symbol asym = ad ? def_name(declaration_def(ad)) : 0; + bool node_is_syntax = in->node == current_aug_graph->lhs_decl; + + if (in->fibered_attr.fiber != NULL) { + if (rhs == NULL) { + if (include_comments) { + o << "// " << in << "\n"; + } + return; + } + + Declaration assign = (Declaration)tnode_parent(rhs); + Expression lhs = assign_lhs(assign); + Declaration field = 0; + // dump the object containing the field + switch (Expression_KEY(lhs)) { + case KEYvalue_use: + // shared global collection + field = USE_DECL(value_use_use(lhs)); +#ifdef APS2SCALA + o << "a_" << decl_name(field) << "."; + if (debug) + o << "assign"; + else + o << "set"; + o << "(" << rhs; + if (tracking_fiber_convergence) { + o << ", changed"; + } + o << ")"; +#else /* APS2SCALA */ + o << "v_" << decl_name(field) << "="; + switch (Default_KEY(value_decl_default(field))) { + case KEYcomposite: + o << composite_combiner(value_decl_default(field)); + break; + default: + o << as_val(value_decl_type(field)) << "->v_combine"; + break; + } + o << "(v_" << decl_name(field) << "," << rhs << ");\n"; +#endif /* APS2SCALA */ + break; + case KEYfuncall: + field = field_ref_p(lhs); + if (field == 0) + fatal_error("what sort of assignment lhs: %d", tnode_line_number(assign)); + o << "a_" << decl_name(field) << DEREF; + if (debug) + o << "assign"; + else + o << "set"; + o << "(" << field_ref_object(lhs) << "," << rhs; + if (tracking_fiber_convergence) { + o << ", changed"; + } + o << ");\n"; + break; + default: + fatal_error("what sort of assignment lhs: %d", tnode_line_number(assign)); + } + return; + } + + if (in->node == 0 && ad != NULL) { + if (rhs) { + if (Declaration_info(ad)->decl_flags & LOCAL_ATTRIBUTE_FLAG) { + o << "a" << LOCAL_UNIQUE_PREFIX(ad) << "_" << asym << DEREF; + if (debug) + o << "assign"; + else + o << "set"; + o << "(anchor," << rhs << ");\n"; + } else { + int i = LOCAL_UNIQUE_PREFIX(ad); + if (i == 0) { +#ifdef APS2SCALA + if (!def_is_constant(value_decl_def(ad))) { + if (include_comments) { + o << "// v_" << asym << " is assigned/initialized by default.\n"; + } + } else { + if (include_comments) { + o << "// v_" << asym << " is initialized in module.\n"; + } + } +#else + o << "v_" << asym << " = " << rhs << ";\n"; +#endif + } else { + o << "v" << i << "_" << asym << " = " << rhs << "; // local\n"; + } + } + } else { + if (Declaration_KEY(ad) == KEYvalue_decl && !direction_is_collection(value_decl_direction(ad))) { + aps_warning(ad, "Local attribute %s is apparently undefined", decl_name(ad)); + } + if (include_comments) { + o << "// " << in << " is ready now\n"; + } + } + return; + } else if (node_is_syntax) { + if (ATTR_DECL_IS_SHARED_INFO(ad)) { + if (include_comments) { + o << "// shared info for " << decl_name(in->node) << " is ready.\n"; + } + } else if (ATTR_DECL_IS_UP_DOWN(ad)) { + if (include_comments) { + o << "// " << decl_name(in->node) << "." << decl_name(ad) << " implicit.\n"; + } + } else if (rhs) { + if (Declaration_KEY(in->node) == KEYfunction_decl) { + if (direction_is_collection(value_decl_direction(ad))) { + std::cout << "Not expecting collection here!\n"; + o << "v_" << asym << " = somehow_combine(v_" << asym << "," << rhs << ");\n"; + } else { + int i = LOCAL_UNIQUE_PREFIX(ad); + if (i == 0) + o << "v_" << asym << " = " << rhs << "; // function\n"; + else + o << "v" << i << "_" << asym << " = " << rhs << ";\n"; + } + } else { + o << "a_" << asym << DEREF; + if (debug) + o << "assign"; + else + o << "set"; + o << "(v_" << decl_name(in->node) << "," << rhs << ");\n"; + } + } else { + aps_warning(in->node, "Attribute %s.%s is apparently undefined", decl_name(in->node), + symbol_name(asym)); + + if (include_comments) { + o << "// " << in << " is ready.\n"; + } + } + return; + } else if (Declaration_KEY(in->node) == KEYvalue_decl) { + if (rhs) { + // assigning field of object + o << "a_" << asym << DEREF; + if (debug) + o << "assign"; + else + o << "set"; + o << "(v_" << decl_name(in->node) << "," << rhs << ");\n"; + } else { + if (include_comments) { + o << "// " << in << " is ready now.\n"; + } + } + return; + } +} + +void dump_rhs_instance_helper(AUG_GRAPH* aug_graph, BlockItem* item, INSTANCE* instance, ostream& o) { + if (item == NULL) { + if (include_comments) { + o << "// " << instance << " is ready now.\n"; + } + return; + } + + if (item->key == KEY_BLOCK_ITEM_INSTANCE) { + struct block_item_instance* bi = (struct block_item_instance*)item; + vector > all_assignments = make_instance_assignment(); + std::set relevant_assignments = all_assignments[instance->index]; + bool any_assignment_dump = false; + + if (bi->instance == instance || bi->next == NULL) { + if (!relevant_assignments.empty()) { + for (auto it = relevant_assignments.begin(); it != relevant_assignments.end(); it++) { + Expression rhs = *it; + if (rhs == NULL) { + continue; + } + + any_assignment_dump = true; + + if (instance->fibered_attr.fiber != NULL) { + dump_assignment(instance, rhs, o); + } else { + // just dump RHS since synth functions are only interested in RHS, not side-effect + dump_Expression(rhs, o); + } + } + + if (!any_assignment_dump) { + fatal_error("should have dumped an assignment here"); + } + + return; + } + + if (instance->fibered_attr.fiber != NULL) { + // Shared info attribute wasn't assigned in this block, dump its default + auto direction = fibered_attr_direction(&instance->fibered_attr); + auto directionStr = ""; + switch (direction) + { + case instance_inward: + directionStr = "instance_inward"; + break; + case instance_outward: + directionStr = "instance_outward"; + break; + case instance_local: + directionStr = "instance_local"; + break; + default: + break; + } + + o << "/* did not find any assignment for this fiber attribute " << instance << " -> " << directionStr << " <-" <<" */"; + return; + } else { + print_instance(instance, stdout); + printf(" is a non-fiber instance, but no assignment found in this block. %d\n", if_rule_p(instance->fibered_attr.attr)); + fatal_error("crashed since non-fiber instance is missing an assignment"); + } + } else { + dump_rhs_instance_helper(aug_graph, bi->next, instance, o); + return; + } + } else if (item->key == KEY_BLOCK_ITEM_CONDITION) { + struct block_item_condition* cond = (struct block_item_condition*)item; + bool visited_if_stmt = std::find(dumped_conditional_block_items.begin(), dumped_conditional_block_items.end(), item) != dumped_conditional_block_items.end(); + dumped_conditional_block_items.push_back(item); + + switch (ABSTRACT_APS_tnode_phylum(cond->condition)) + { + case KEYDeclaration: + { + Declaration if_stmt = (Declaration)cond->condition; + if (Declaration_KEY(if_stmt) != KEYif_stmt) { + fatal_error("expected if statement, got %s %d", decl_name(if_stmt), Declaration_info(if_stmt)); + } + + if (!edgeset_kind(current_aug_graph->graph[cond->instance->index * current_aug_graph->instances.length + instance->index])) { + printf("\n"); + print_instance(cond->instance, stdout); + printf(" does not affect "); + print_instance(instance, stdout); + printf("\n"); + fatal_error("crashed since instance not affected by condition"); + } + + if (!visited_if_stmt) { + o << "if ("; + dump_Expression(if_stmt_cond(if_stmt), o); + o << ") {\n"; + nesting_level++; + } + current_blocks.push_back(if_stmt_if_true(if_stmt)); + if (!visited_if_stmt) { + o << indent(); + } + + vector dumped_instanced_positive(dumped_instances); + dump_rhs_instance_helper(aug_graph, cond->next_positive, instance, o); + dumped_instances = dumped_instanced_positive; + + if (!visited_if_stmt) { + current_blocks.pop_back(); + o << "\n"; + nesting_level--; + o << indent() << "} else {\n"; + nesting_level++; + } + current_blocks.push_back(if_stmt_if_false(if_stmt)); + if (!visited_if_stmt) { + o << indent(); + } + + vector dumped_instanced_negative(dumped_instances); + dump_rhs_instance_helper(aug_graph, cond->next_negative, instance, o); + dumped_instances = dumped_instanced_negative; + + current_blocks.pop_back(); + if (!visited_if_stmt) { + nesting_level--; + o << "\n"; + o << indent() << "}"; + } + break; + } + case KEYMatch: + { + Match m = (Match)cond->condition; + Pattern p = matcher_pat(m); + Declaration header = Match_info(m)->header; + // if first match in case, we evaluate variable: + if (m == first_Match(case_stmt_matchers(header))) { + Expression e = case_stmt_expr(header); +#ifdef APS2SCALA + // Type ty = infer_expr_type(e); + o << "{\n"; + nesting_level++; + o << indent() << "val node" << instance->index << " = " << e << ";\n"; +#else /* APS2SCALA */ + Type ty = infer_expr_type(e); + o << indent() << ty << " node" << instance->index << " = " << e << ";\n"; +#endif /* APS2SCALA */ + } +#ifdef APS2SCALA + o << indent() << "node" << instance->index << " match {\n"; + nesting_level++; + o << indent() << "case " << p << " => {\n"; +#else /* APS2SCALA */ + o << indent() << "if ("; + dump_Pattern_cond(p, "node" + std::to_string(instance->index), o); + o << ") {\n"; +#endif /* APS2SCALA */ + nesting_level += 1; +#ifndef APS2SCALA + dump_Pattern_bindings(p, o); +#endif /* APS2SCALA */ + Block if_true; + Block if_false; + if_true = matcher_body(m); + if (MATCH_NEXT(m)) { + if_false = 0; //? Why not the nxt match ? + } else { + if_false = case_stmt_default(header); + } + + current_blocks.push_back(if_true); + o << indent(); + dump_rhs_instance_helper(aug_graph, cond->next_positive, instance, o); + o << "\n"; + current_blocks.pop_back(); + +#ifdef APS2SCALA + nesting_level--; + o << indent() << "}\n"; + o << indent() << "case _ => {\n"; + nesting_level++; +#else /* APS2SCALA */ + o << "} else {\n"; +#endif /* APS2SCALA */ + current_blocks.push_back(if_false); + o << indent(); + dump_rhs_instance_helper(aug_graph, cond->next_negative, instance, o); + o << "\n"; + current_blocks.pop_back(); + + nesting_level--; +#ifdef APS2SCALA + o << indent() << "}\n"; + nesting_level--; + o << indent() << "}\n"; + if (m == first_Match(case_stmt_matchers(header))) { + nesting_level--; + o << indent() << "}"; + } +#else /* APS2SCALA */ + o << indent() << "}\n"; +#endif /* APS2SCALA */ + + break; + } + default: + fatal_error("unhandled if statement type"); + break; + } + } +} + +virtual void dump_synth_instance(INSTANCE* instance, ostream& o) override { + bool already_dumped = false; + if (std::find(dumped_instances.begin(), dumped_instances.end(), instance) != dumped_instances.end()) { + already_dumped = true; + } else { + dumped_instances.push_back(instance); + } + + AUG_GRAPH* aug_graph = current_aug_graph; + BlockItem* block = find_surrounding_block(current_scope_block, instance); + + Declaration node = instance->node; + bool is_parent_instance = current_aug_graph->lhs_decl == instance->node; + + bool is_synthesized = instance_is_synthesized(instance); + bool is_inherited = instance_is_inherited(instance); + bool is_circular = edgeset_kind(current_aug_graph->graph[instance->index * current_aug_graph->instances.length + instance->index]); + bool is_match_formal = check_is_match_formal(instance->fibered_attr.attr); + bool is_available = is_match_formal || is_inherited; + + if (is_circular && already_dumped && !is_available) { + o << "/* circular dependency detected for " << instance << ", dumping as attribute access */ "; + + o << instance_to_attr(instance) << ".get("; + if (instance->node == NULL) { + o << "node"; + } else { + o << "v_" << decl_name(instance->node); + } + + o << ")"; + return; + } else if (is_match_formal) { + o << "v_" << instance_to_string(instance, false, current_synth_functions_state->is_phylum_instance); + } else if (is_inherited) { + if (is_parent_instance) { + o << "v_" << instance_to_string(instance, false, current_synth_functions_state->is_phylum_instance); + } else { + // we need to find the assignment and dump the RHS recursive call + dump_rhs_instance_helper(aug_graph, block, instance, o); + } + } else if (is_synthesized) { + if (is_parent_instance) { + dump_rhs_instance_helper(aug_graph, block, instance, o); + } else { + for (auto it = synth_functions_states.begin(); it != synth_functions_states.end(); it++) { + SYNTH_FUNCTION_STATE* synth_function_state = *it; + if (fibered_attr_equal(&synth_function_state->source->fibered_attr, &instance->fibered_attr)) { + o << "eval_" << synth_function_state->fdecl_name << "(\n"; + int saved_nesting = nesting_level; + nesting_level = std::max(nesting_level + 2, 2); + o << indent() << "v_" << decl_name(node); + + std::vector dependencies = synth_function_state->regular_dependencies; + for (auto it = dependencies.begin(); it != dependencies.end(); it++) { + INSTANCE* source_instance = *it; + + if (should_skip_synth_dependency(source_instance)) { + continue; + } + + for (int i = 0; i < current_aug_graph->instances.length; i++) { + INSTANCE* in = ¤t_aug_graph->instances.array[i]; + if (in->node == node && fibered_attr_equal(&in->fibered_attr, &source_instance->fibered_attr)) { + o << ",\n" << indent(); + dump_synth_instance(in, o); + } + } + } + nesting_level = saved_nesting; + + o << "\n" << indent() << ")"; + return; + } + } + + printf("failed to find synth function for instance "); + print_instance(instance, stdout); + printf("\n"); + fatal_error("internal error: failed to find synth function for instance"); + } + } else { + dump_rhs_instance_helper(aug_graph, block, instance, o); + } +} +} +; + +Implementation* synth_impl = new SynthScc(); diff --git a/examples/Makefile b/examples/Makefile index e28dad0a..ed357827 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -15,6 +15,9 @@ default: %.scc.scala : %.aps ${APS2SCALA} -C ${DEBUG_FLAGS} -p ${BASE} $* +%.synth.scala : %.aps + ${APS2SCALA} -F ${DEBUG_FLAGS} -p ${BASE} $* + %.scala : %.aps ${APS2SCALA} ${DEBUG_FLAGS} -p ${BASE} $* From a6a637d0e689b2bf771ab84a977e18d409e3688f Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Tue, 21 Apr 2026 01:42:11 +0000 Subject: [PATCH 06/52] simplified the analysis --- analyze/aps-analyze.c | 90 +++++++++++++++++++++---------------------- 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/analyze/aps-analyze.c b/analyze/aps-analyze.c index 10791186..998eaa5c 100644 --- a/analyze/aps-analyze.c +++ b/analyze/aps-analyze.c @@ -38,67 +38,67 @@ static void *analyze_thing(void *ignore, void *node) } d = (s->original_state_dependency = analysis_state_cycle(s)); s->loop_required = !(d & DEPENDENCY_MAYBE_SIMPLE); - } else { - if (!(d = (s->original_state_dependency = analysis_state_cycle(s)))) + break; + } + if (!(d = (s->original_state_dependency = analysis_state_cycle(s)))) + { + // Do nothing; no cycle to remove + s->loop_required = false; + } + else if (!(d & DEPENDENCY_MAYBE_SIMPLE) || !(d & DEPENDENCY_NOT_JUST_FIBER)) + { + printf("Fiber cycle detected (%d); cycle being removed\n", d); + if (cycle_debug & PRINT_CYCLE) { - // Do nothing; no cycle to remove - s->loop_required = false; + print_cycles(s, stdout); } - else if (!(d & DEPENDENCY_MAYBE_SIMPLE) || !(d & DEPENDENCY_NOT_JUST_FIBER)) + break_fiber_cycles(decl, s, d); + s->loop_required = !(d & DEPENDENCY_MAYBE_SIMPLE); + d = no_dependency; // clear dependency + } + else + { + aps_error(decl, "Unable to handle dependency (%d); Attribute grammar is not DNC", d); + return NULL; + } + + // If SCC scheduling is in-progress + if (static_scc_schedule) + { + // Pure fiber cycles should have been broken when reaching this step + // If there is a non-monotone cycle, then scheduling is no longer possible + if (d & DEPENDENCY_MAYBE_SIMPLE) { - printf("Fiber cycle detected (%d); cycle being removed\n", d); if (cycle_debug & PRINT_CYCLE) { print_cycles(s, stdout); } - break_fiber_cycles(decl, s, d); - s->loop_required = !(d & DEPENDENCY_MAYBE_SIMPLE); - d = no_dependency; // clear dependency - } - else - { - aps_error(decl, "Unable to handle dependency (%d); Attribute grammar is not DNC", d); + + aps_error(decl, "Non-monotone Cycle detected (%d); Attribute grammar is not COAG", d); return NULL; } - // If SCC scheduling is in-progress - if (static_scc_schedule) + // SCC chunk scheduling supports CRAG without conditional cycles + compute_static_schedule(s); + } + else + { + if (!d) { - // Pure fiber cycles should have been broken when reaching this step - // If there is a non-monotone cycle, then scheduling is no longer possible - if (d & DEPENDENCY_MAYBE_SIMPLE) - { - if (cycle_debug & PRINT_CYCLE) - { - print_cycles(s, stdout); - } - - aps_error(decl, "Non-monotone Cycle detected (%d); Attribute grammar is not COAG", d); - return NULL; - } - - // SCC chunk scheduling supports CRAG without conditional cycles - compute_static_schedule(s); + // RAG scheduling with conditional cycles + compute_oag(decl, s); // calculate OAG if grammar is DNC + d = analysis_state_cycle(s); // check again for type-3 errors } - else + + if (d) { - if (!d) + if (cycle_debug & PRINT_CYCLE) { - // RAG scheduling with conditional cycles - compute_oag(decl, s); // calculate OAG if grammar is DNC - d = analysis_state_cycle(s); // check again for type-3 errors + print_cycles(s, stdout); } - if (d) - { - if (cycle_debug & PRINT_CYCLE) - { - print_cycles(s, stdout); - } - - aps_error(decl, "Cycle detected (%d); Attribute grammar is not OAG", d); - return NULL; - } + aps_error(decl, "Cycle detected (%d); Attribute grammar is not OAG", d); + return NULL; } } From 07eb4a230dd1401e101cea9a6f81a6c4818319e3 Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Tue, 21 Apr 2026 02:04:01 +0000 Subject: [PATCH 07/52] expose synth internals things to synth only --- aps2scala/dump-scala.cc | 33 ++-------------------------- codegen/dump.h | 6 ------ codegen/implement.h | 19 +++++----------- codegen/synth-impl.cc | 48 ++++++++++++++++++++++++++++++++++------- 4 files changed, 47 insertions(+), 59 deletions(-) diff --git a/aps2scala/dump-scala.cc b/aps2scala/dump-scala.cc index 06331578..4de4da0b 100644 --- a/aps2scala/dump-scala.cc +++ b/aps2scala/dump-scala.cc @@ -2436,24 +2436,6 @@ void dump_collect_Actuals(Type ctype, Actuals as, ostream& o) } } -STATE* current_state = NULL; -AUG_GRAPH* current_aug_graph = NULL; -std::vector synth_functions_states; -SYNTH_FUNCTION_STATE* current_synth_functions_state = NULL; - -static bool find_instance(AUG_GRAPH* aug_graph, Declaration node, Declaration attr, INSTANCE** instance_out) { - int i; - for (i = 0; i < aug_graph->instances.length; i++) { - INSTANCE* instance = &aug_graph->instances.array[i]; - if (instance->node == node && instance->fibered_attr.attr == attr) { - *instance_out = instance; - return true; - } - } - - return false; -} - void dump_Expression(Expression e, ostream& o) { switch (Expression_KEY(e)) { @@ -2474,19 +2456,8 @@ void dump_Expression(Expression e, ostream& o) return; } - Declaration attr; - if (impl == synth_impl && (attr = attr_ref_p(e)) != nullptr) { - vector visited; - struct Expression_info * index = Expression_info(e); - Declaration node = USE_DECL(value_use_use(first_Actual(funcall_actuals(e)))); - INSTANCE* instance; - if (find_instance(current_aug_graph, node, attr, &instance)) { - impl->dump_synth_instance(instance, o); - return; - } else { - fatal_error("failed to find instance"); - return; - } + if (auto* synth = dynamic_cast(impl)) { + if (synth->try_dump_funcall(e, o)) return; } bool dump_anchor_actual = false; diff --git a/codegen/dump.h b/codegen/dump.h index 2cfc2cdd..9a1f80c6 100644 --- a/codegen/dump.h +++ b/codegen/dump.h @@ -198,12 +198,6 @@ inline const output_streams& operator<< } #endif /* APS2SCALA */ -// The following are used for synth function implementation only -extern AUG_GRAPH* current_aug_graph; -extern STATE* current_state; -extern std::vector synth_functions_states; -extern SYNTH_FUNCTION_STATE* current_synth_functions_state; - // Common code generation utility functions extern bool check_surrounding_decl(void* node, KEYTYPE_Declaration decl_key, Declaration* result_decl); extern bool check_surrounding_node(void* node, KEYTYPE_ABSTRACT_APS_Phylum ast_key, void** result_node); diff --git a/codegen/implement.h b/codegen/implement.h index d7f8d3c0..f1b16a8c 100644 --- a/codegen/implement.h +++ b/codegen/implement.h @@ -26,17 +26,6 @@ struct output_streams; #define LOCAL_UNIQUE_PREFIX(ld) Def_info(value_decl_def(ld))->unique_prefix -typedef struct synth_function_state { - std::string fdecl_name; - INSTANCE* source; - PHY_GRAPH* source_phy_graph; - std::vector regular_dependencies; - std::vector fiber_dependents; - std::vector aug_graphs; - bool is_phylum_instance; - bool is_fiber_evaluation; -} SYNTH_FUNCTION_STATE; - // Abstract class: class Implementation { public: @@ -79,10 +68,12 @@ class Implementation { // if a Declaration has an implementation mark on it, // this function is called to implement its use: virtual void implement_value_use(Declaration vd, ostream&) = 0; +}; - virtual void dump_synth_instance(INSTANCE*, ostream&) { - fatal_error("Only implemented for synth function codegen"); - } +class SynthImplementation : public Implementation { + public: + virtual bool try_dump_funcall(Expression, ostream&) = 0; + virtual void dump_synth_instance(INSTANCE*, ostream&) = 0; }; extern Implementation *dynamic_impl; diff --git a/codegen/synth-impl.cc b/codegen/synth-impl.cc index 77efd7e3..53a9f3f5 100644 --- a/codegen/synth-impl.cc +++ b/codegen/synth-impl.cc @@ -19,6 +19,22 @@ extern "C" { #include "dump.h" #include "implement.h" +typedef struct synth_function_state { + std::string fdecl_name; + INSTANCE* source; + PHY_GRAPH* source_phy_graph; + std::vector regular_dependencies; + std::vector fiber_dependents; + std::vector aug_graphs; + bool is_phylum_instance; + bool is_fiber_evaluation; +} SYNTH_FUNCTION_STATE; + +static STATE* current_state = NULL; +static AUG_GRAPH* current_aug_graph = NULL; +static std::vector synth_functions_states; +static SYNTH_FUNCTION_STATE* current_synth_functions_state = NULL; + #define LOCAL_VALUE_FLAG (1 << 28) #ifdef APS2SCALA @@ -30,6 +46,8 @@ extern "C" { static const string LOOP_VAR = "isInsideFixedPoint"; static const string PREV_LOOP_VAR = "prevIsInsideFixedPoint"; +static SynthImplementation* synth_impl_ptr; + // visit procedures are called: // visit_n_m // where n is the number of the phy_graph and m is the phase. @@ -770,7 +788,7 @@ class FiberDependencyDumper { scheduled[in->index] = true; os << indent(); - impl->dump_synth_instance(in, os); + synth_impl_ptr->dump_synth_instance(in, os); dumped_conditional_block_items.clear(); dumped_instances.clear(); os << "\n"; @@ -1035,7 +1053,7 @@ static void dump_synth_functions(STATE* s, output_streams& oss) } FiberDependencyDumper::dump(aug_graph, aug_graph_instance, os); os << indent(); - impl->dump_synth_instance(aug_graph_instance, os); + synth_impl_ptr->dump_synth_instance(aug_graph_instance, os); os << "\n"; dumped_conditional_block_items.clear(); dumped_instances.clear(); @@ -1045,11 +1063,11 @@ static void dump_synth_functions(STATE* s, output_streams& oss) if (!synth_functions_state->is_fiber_evaluation) { if (dump_fixed_point_loop) { os << indent() << src_attr << ".assign(" << node_assign; - impl->dump_synth_instance(aug_graph_instance, os); + synth_impl_ptr->dump_synth_instance(aug_graph_instance, os); os << ", changed);\n"; } else { os << indent(); - impl->dump_synth_instance(aug_graph_instance, os); + synth_impl_ptr->dump_synth_instance(aug_graph_instance, os); os << "\n"; } } @@ -1103,7 +1121,7 @@ static void dump_synth_functions(STATE* s, output_streams& oss) destroy_synth_function_states(synth_functions_states); } -class SynthScc : public Implementation { +class SynthImpl : public SynthImplementation { public: typedef Implementation::ModuleInfo Super; class ModuleInfo : public Super { @@ -1224,7 +1242,7 @@ void implement_value_use(Declaration vd, ostream& os) { continue; } os << ",\n" << indent(); - impl->dump_synth_instance(source_instance, os); + synth_impl_ptr->dump_synth_instance(source_instance, os); } break; } @@ -1713,7 +1731,21 @@ void dump_rhs_instance_helper(AUG_GRAPH* aug_graph, BlockItem* item, INSTANCE* i } } -virtual void dump_synth_instance(INSTANCE* instance, ostream& o) override { +bool try_dump_funcall(Expression e, ostream& o) override { + Declaration attr = attr_ref_p(e); + if (attr == nullptr) return false; + Declaration node = USE_DECL(value_use_use(first_Actual(funcall_actuals(e)))); + FIBERED_ATTRIBUTE fiber_attr = {attr, NULL}; + INSTANCE* instance; + if (find_instance(current_aug_graph, node, fiber_attr, &instance)) { + dump_synth_instance(instance, o); + return true; + } + fatal_error("failed to find instance"); + return false; // unreachable +} + +void dump_synth_instance(INSTANCE* instance, ostream& o) { bool already_dumped = false; if (std::find(dumped_instances.begin(), dumped_instances.end(), instance) != dumped_instances.end()) { already_dumped = true; @@ -1801,4 +1833,4 @@ virtual void dump_synth_instance(INSTANCE* instance, ostream& o) override { } ; -Implementation* synth_impl = new SynthScc(); +Implementation* synth_impl = synth_impl_ptr = new SynthImpl(); From 67f5570a10554720e44a86901d16413332a43862 Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Tue, 21 Apr 2026 02:16:08 +0000 Subject: [PATCH 08/52] code improvements --- codegen/synth-impl.cc | 38 +++++++++----------------------------- 1 file changed, 9 insertions(+), 29 deletions(-) diff --git a/codegen/synth-impl.cc b/codegen/synth-impl.cc index 53a9f3f5..6b0d99f4 100644 --- a/codegen/synth-impl.cc +++ b/codegen/synth-impl.cc @@ -24,13 +24,11 @@ typedef struct synth_function_state { INSTANCE* source; PHY_GRAPH* source_phy_graph; std::vector regular_dependencies; - std::vector fiber_dependents; std::vector aug_graphs; bool is_phylum_instance; bool is_fiber_evaluation; } SYNTH_FUNCTION_STATE; -static STATE* current_state = NULL; static AUG_GRAPH* current_aug_graph = NULL; static std::vector synth_functions_states; static SYNTH_FUNCTION_STATE* current_synth_functions_state = NULL; @@ -48,11 +46,6 @@ static const string PREV_LOOP_VAR = "prevIsInsideFixedPoint"; static SynthImplementation* synth_impl_ptr; -// visit procedures are called: -// visit_n_m -// where n is the number of the phy_graph and m is the phase. -// This does a dispatch to visit_n_m_p -// where p is the production number (0-based constructor index) #define KEY_BLOCK_ITEM_CONDITION 1 #define KEY_BLOCK_ITEM_INSTANCE 2 @@ -80,10 +73,10 @@ struct block_item_instance { BlockItem* next; }; -vector current_blocks; -BlockItem* current_scope_block; -vector dumped_conditional_block_items; -vector dumped_instances; +static vector current_blocks; +static BlockItem* current_scope_block; +static vector dumped_conditional_block_items; +static vector dumped_instances; static bool tracking_fiber_convergence = false; // Given a block, it prints its linearized schedule as comments in the output stream. @@ -174,10 +167,6 @@ static BlockItem* linearize_block_helper(AUG_GRAPH* aug_graph, return result; } - // printf("trying to schedule: "); - // print_instance(instance, stdout); - // printf("\n"); - bool ready_to_schedule = true; for (j = 0; j < n && ready_to_schedule; j++) { INSTANCE* other_instance = &aug_graph->instances.array[j]; @@ -278,7 +267,7 @@ static BlockItem* find_surrounding_block(BlockItem* block, INSTANCE* instance) { return NULL; } -enum instance_direction custom_instance_direction(INSTANCE* i) { +static enum instance_direction custom_instance_direction(INSTANCE* i) { enum instance_direction dir = fibered_attr_direction(&i->fibered_attr); if (i->node == NULL) { return dir; @@ -422,7 +411,7 @@ static bool find_instance(AUG_GRAPH* aug_graph, return false; } -string attr_to_string(Declaration attr) { +static string attr_to_string(Declaration attr) { if (ATTR_DECL_IS_SHARED_INFO(attr)) { return "sharedinfo"; } else { @@ -430,7 +419,7 @@ string attr_to_string(Declaration attr) { } } -string fiber_to_string(FIBER fiber) { +static string fiber_to_string(FIBER fiber) { std::stringstream ss; while (fiber != NULL && fiber->field != NULL) { @@ -447,7 +436,7 @@ string fiber_to_string(FIBER fiber) { return ss.str(); } -string instance_to_string(INSTANCE* in, bool force_include_node_type = false, bool trim_node = false) { +static string instance_to_string(INSTANCE* in, bool force_include_node_type = false, bool trim_node = false) { vector result; Declaration node = in->node; @@ -875,7 +864,6 @@ static void dump_synth_functions(STATE* s, output_streams& oss) int i; int aug_graph_count = s->match_rules.length; - current_state = s; synth_functions_states = build_synth_functions_state(s); bool needs_fixed_point = s->loop_required; @@ -889,7 +877,6 @@ static void dump_synth_functions(STATE* s, output_streams& oss) } if (synth_functions_state->is_fiber_evaluation) { os << indent() << "val evaluated_map_" << synth_functions_state->fdecl_name - // << " = scala.collection.mutable.Map[T_" << decl_name(synth_functions_state->source_phy_graph->phylum) << " = scala.collection.mutable.Map[Int" << ", Boolean]()" << "\n\n"; @@ -1155,7 +1142,6 @@ class SynthImpl : public SynthImplementation { ostream& hs = oss.hs; ostream& cpps = oss.cpps; ostream& os = inline_definitions ? hs : cpps; - // char *name = decl_name(module_decl); #endif /* APS2SCALA */ dump_synth_functions(s, oss); @@ -1256,8 +1242,6 @@ void implement_value_use(Declaration vd, ostream& os) { } else { os << "a" << "_" << decl_name(vd) << DEREF << "get"; } - - // os << "a" << "_" << decl_name(vd) << DEREF << "get"; } else if (flags & LOCAL_VALUE_FLAG) { os << "v" << LOCAL_UNIQUE_PREFIX(vd) << "_" << decl_name(vd); } else { @@ -1276,10 +1260,7 @@ static Expression default_init(Default def) { } } -/* Return new array with instance assignments for block. - * If "from" is not NULL, then initialize the new array - * with it. - */ +// Collects instance assignments from the current block scope. static vector > make_instance_assignment() { int n = current_aug_graph->instances.length; @@ -1658,7 +1639,6 @@ void dump_rhs_instance_helper(AUG_GRAPH* aug_graph, BlockItem* item, INSTANCE* i if (m == first_Match(case_stmt_matchers(header))) { Expression e = case_stmt_expr(header); #ifdef APS2SCALA - // Type ty = infer_expr_type(e); o << "{\n"; nesting_level++; o << indent() << "val node" << instance->index << " = " << e << ";\n"; From 8351c280781e19afc979c5af77f2c6b0666025a2 Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Tue, 21 Apr 2026 05:47:36 +0000 Subject: [PATCH 09/52] just code improvement to avoid re-calculation of assignments --- codegen/synth-impl.cc | 91 ++++++++++++++++++++++--------------------- 1 file changed, 46 insertions(+), 45 deletions(-) diff --git a/codegen/synth-impl.cc b/codegen/synth-impl.cc index 6b0d99f4..969a8e17 100644 --- a/codegen/synth-impl.cc +++ b/codegen/synth-impl.cc @@ -1509,64 +1509,65 @@ void dump_rhs_instance_helper(AUG_GRAPH* aug_graph, BlockItem* item, INSTANCE* i if (item->key == KEY_BLOCK_ITEM_INSTANCE) { struct block_item_instance* bi = (struct block_item_instance*)item; + + if (bi->instance != instance && bi->next != NULL) { + dump_rhs_instance_helper(aug_graph, bi->next, instance, o); + return; + } + vector > all_assignments = make_instance_assignment(); std::set relevant_assignments = all_assignments[instance->index]; bool any_assignment_dump = false; - if (bi->instance == instance || bi->next == NULL) { - if (!relevant_assignments.empty()) { - for (auto it = relevant_assignments.begin(); it != relevant_assignments.end(); it++) { - Expression rhs = *it; - if (rhs == NULL) { - continue; - } - - any_assignment_dump = true; - - if (instance->fibered_attr.fiber != NULL) { - dump_assignment(instance, rhs, o); - } else { - // just dump RHS since synth functions are only interested in RHS, not side-effect - dump_Expression(rhs, o); - } + if (!relevant_assignments.empty()) { + for (auto it = relevant_assignments.begin(); it != relevant_assignments.end(); it++) { + Expression rhs = *it; + if (rhs == NULL) { + continue; } - if (!any_assignment_dump) { - fatal_error("should have dumped an assignment here"); + any_assignment_dump = true; + + if (instance->fibered_attr.fiber != NULL) { + dump_assignment(instance, rhs, o); + } else { + // just dump RHS since synth functions are only interested in RHS, not side-effect + dump_Expression(rhs, o); } + } - return; + if (!any_assignment_dump) { + fatal_error("should have dumped an assignment here"); } - if (instance->fibered_attr.fiber != NULL) { - // Shared info attribute wasn't assigned in this block, dump its default - auto direction = fibered_attr_direction(&instance->fibered_attr); - auto directionStr = ""; - switch (direction) - { - case instance_inward: - directionStr = "instance_inward"; - break; - case instance_outward: - directionStr = "instance_outward"; - break; - case instance_local: - directionStr = "instance_local"; - break; - default: - break; - } + return; + } - o << "/* did not find any assignment for this fiber attribute " << instance << " -> " << directionStr << " <-" <<" */"; - return; - } else { - print_instance(instance, stdout); - printf(" is a non-fiber instance, but no assignment found in this block. %d\n", if_rule_p(instance->fibered_attr.attr)); - fatal_error("crashed since non-fiber instance is missing an assignment"); + if (instance->fibered_attr.fiber != NULL) { + // Shared info attribute wasn't assigned in this block, dump its default + auto direction = fibered_attr_direction(&instance->fibered_attr); + auto directionStr = ""; + switch (direction) + { + case instance_inward: + directionStr = "instance_inward"; + break; + case instance_outward: + directionStr = "instance_outward"; + break; + case instance_local: + directionStr = "instance_local"; + break; + default: + break; } - } else { - dump_rhs_instance_helper(aug_graph, bi->next, instance, o); + + o << "/* did not find any assignment for this fiber attribute " << instance << " -> " << directionStr << " <-" <<" */"; return; + } else { + print_instance(instance, stdout); + printf(" is a non-fiber instance, but no assignment found in this block. %d\n", if_rule_p(instance->fibered_attr.attr)); + fatal_error("crashed since non-fiber instance is missing an assignment"); } } else if (item->key == KEY_BLOCK_ITEM_CONDITION) { struct block_item_condition* cond = (struct block_item_condition*)item; From ab3e1c0d9869052f34366e4e08d4f695e1100978 Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Tue, 21 Apr 2026 05:56:13 +0000 Subject: [PATCH 10/52] basic code improvements --- codegen/synth-impl.cc | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/codegen/synth-impl.cc b/codegen/synth-impl.cc index 969a8e17..b6d36a38 100644 --- a/codegen/synth-impl.cc +++ b/codegen/synth-impl.cc @@ -1,5 +1,4 @@ #include -#include #include #include @@ -9,11 +8,8 @@ extern "C" { #include "aps-ag.h" } -#include -#include #include #include -#include #include #include "dump.h" @@ -862,8 +858,6 @@ static void dump_synth_functions(STATE* s, output_streams& oss) os << "\n"; - int i; - int aug_graph_count = s->match_rules.length; synth_functions_states = build_synth_functions_state(s); bool needs_fixed_point = s->loop_required; @@ -1106,6 +1100,7 @@ static void dump_synth_functions(STATE* s, output_streams& oss) } destroy_synth_function_states(synth_functions_states); + synth_functions_states.clear(); } class SynthImpl : public SynthImplementation { @@ -1779,7 +1774,7 @@ void dump_synth_instance(INSTANCE* instance, ostream& o) { nesting_level = std::max(nesting_level + 2, 2); o << indent() << "v_" << decl_name(node); - std::vector dependencies = synth_function_state->regular_dependencies; + const std::vector& dependencies = synth_function_state->regular_dependencies; for (auto it = dependencies.begin(); it != dependencies.end(); it++) { INSTANCE* source_instance = *it; From c75b89da431b403473f63d1d760d37fb2a0b47ed Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Fri, 24 Apr 2026 20:24:13 +0000 Subject: [PATCH 11/52] fixed issue with codegen Co-authored-by: Copilot --- codegen/static-scc-impl.cc | 4 ++-- codegen/synth-impl.cc | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/codegen/static-scc-impl.cc b/codegen/static-scc-impl.cc index d31227a5..82248a67 100644 --- a/codegen/static-scc-impl.cc +++ b/codegen/static-scc-impl.cc @@ -162,9 +162,9 @@ static vector > make_instance_assignment( if (in->index >= n) fatal_error("bad index [collection_assign] for instance"); - if (step == 1) + if (step == 1 && include_initial_defaults) array[in->index].clear(); - else + else if (step == 2) array[in->index].insert(assign_rhs(d)); } break; diff --git a/codegen/synth-impl.cc b/codegen/synth-impl.cc index b6d36a38..3227b55a 100644 --- a/codegen/synth-impl.cc +++ b/codegen/synth-impl.cc @@ -1282,6 +1282,7 @@ static vector > make_instance_assignment() { // start from the outer-most and override it with the most inner scope for (auto it = current_blocks.begin(); it != current_blocks.end(); it++) { Block block = *it; + bool is_outermost = (it == current_blocks.begin()); vector > array(from); // Step #1 clear any existing assignments and insert normal assignments @@ -1311,9 +1312,9 @@ static vector > make_instance_assignment() { fatal_error("bad index [collection_assign] for instance"); } - if (step == 1) { + if (step == 1 && is_outermost) { array[in->index].clear(); - } else { + } else if (step == 2) { array[in->index].insert(assign_rhs(d)); } } From 1e2d31cca89b34b37824c112e967171ddca9712a Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Fri, 24 Apr 2026 20:42:16 +0000 Subject: [PATCH 12/52] Testing Co-authored-by: Copilot --- codegen/synth-impl.cc | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/codegen/synth-impl.cc b/codegen/synth-impl.cc index 3227b55a..764db48e 100644 --- a/codegen/synth-impl.cc +++ b/codegen/synth-impl.cc @@ -1516,19 +1516,39 @@ void dump_rhs_instance_helper(AUG_GRAPH* aug_graph, BlockItem* item, INSTANCE* i bool any_assignment_dump = false; if (!relevant_assignments.empty()) { + // Filter out NULLs first + vector valid_rhs; for (auto it = relevant_assignments.begin(); it != relevant_assignments.end(); it++) { - Expression rhs = *it; - if (rhs == NULL) { - continue; - } + if (*it != NULL) valid_rhs.push_back(*it); + } + if (!valid_rhs.empty()) { any_assignment_dump = true; if (instance->fibered_attr.fiber != NULL) { - dump_assignment(instance, rhs, o); + for (auto it = valid_rhs.begin(); it != valid_rhs.end(); it++) { + dump_assignment(instance, *it, o); + } + } else if (valid_rhs.size() == 1) { + dump_Expression(valid_rhs[0], o); } else { - // just dump RHS since synth functions are only interested in RHS, not side-effect - dump_Expression(rhs, o); + // Multiple RHS entries only occur from collect_assign (:>) contributions. + // Combine them pairwise using the type's v_combine. + Declaration attr = instance->fibered_attr.attr; + if (!direction_is_collection(value_decl_direction(attr))) { + fatal_error("Multiple RHS for non-collection attribute %s", decl_name(attr)); + } + Type vt = value_decl_type(attr); + // Nest v_combine calls for all contributions + for (size_t i = 0; i < valid_rhs.size() - 1; i++) { + o << as_val(vt) << ".v_combine("; + } + dump_Expression(valid_rhs[0], o); + for (size_t i = 1; i < valid_rhs.size(); i++) { + o << ", "; + dump_Expression(valid_rhs[i], o); + o << ")"; + } } } From 6f5421c0d6bbe95fc82ae610f2359a9b731df11b Mon Sep 17 00:00:00 2001 From: Amir Date: Fri, 24 Apr 2026 17:46:40 -0500 Subject: [PATCH 13/52] revert unnessary change --- codegen/static-scc-impl.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/codegen/static-scc-impl.cc b/codegen/static-scc-impl.cc index 82248a67..d31227a5 100644 --- a/codegen/static-scc-impl.cc +++ b/codegen/static-scc-impl.cc @@ -162,9 +162,9 @@ static vector > make_instance_assignment( if (in->index >= n) fatal_error("bad index [collection_assign] for instance"); - if (step == 1 && include_initial_defaults) + if (step == 1) array[in->index].clear(); - else if (step == 2) + else array[in->index].insert(assign_rhs(d)); } break; From 2d6e1657fdbbfb353b8b1a827e0b1dc01985f7ba Mon Sep 17 00:00:00 2001 From: Amir Date: Tue, 12 May 2026 11:14:37 -0500 Subject: [PATCH 14/52] smaller fixes --- codegen/synth-impl.cc | 12 +++++++----- parse/aps-util.c | 9 +++++++++ parse/aps-util.h | 1 + 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/codegen/synth-impl.cc b/codegen/synth-impl.cc index 764db48e..bb15eb0f 100644 --- a/codegen/synth-impl.cc +++ b/codegen/synth-impl.cc @@ -776,7 +776,7 @@ class FiberDependencyDumper { synth_impl_ptr->dump_synth_instance(in, os); dumped_conditional_block_items.clear(); dumped_instances.clear(); - os << "\n"; + os << ";\n"; dump_scc_helper_dump(aug_graph, component, scheduled, os); } @@ -1431,7 +1431,7 @@ void dump_assignment(INSTANCE* in, Expression rhs, ostream& o) { } } } else { - if (Declaration_KEY(ad) == KEYvalue_decl && !direction_is_collection(value_decl_direction(ad))) { + if (!direction_is_collection(some_value_decl_direction(ad))) { aps_warning(ad, "Local attribute %s is apparently undefined", decl_name(ad)); } if (include_comments) { @@ -1450,7 +1450,8 @@ void dump_assignment(INSTANCE* in, Expression rhs, ostream& o) { } } else if (rhs) { if (Declaration_KEY(in->node) == KEYfunction_decl) { - if (direction_is_collection(value_decl_direction(ad))) { + Direction ad_dir = some_value_decl_direction(ad); + if (direction_is_collection(ad_dir)) { std::cout << "Not expecting collection here!\n"; o << "v_" << asym << " = somehow_combine(v_" << asym << "," << rhs << ");\n"; } else { @@ -1535,10 +1536,11 @@ void dump_rhs_instance_helper(AUG_GRAPH* aug_graph, BlockItem* item, INSTANCE* i // Multiple RHS entries only occur from collect_assign (:>) contributions. // Combine them pairwise using the type's v_combine. Declaration attr = instance->fibered_attr.attr; - if (!direction_is_collection(value_decl_direction(attr))) { + Direction attr_dir = some_value_decl_direction(attr); + if (!direction_is_collection(attr_dir)) { fatal_error("Multiple RHS for non-collection attribute %s", decl_name(attr)); } - Type vt = value_decl_type(attr); + Type vt = Declaration_KEY(attr) == KEYattribute_decl ? function_type_return_type(attribute_decl_type(attr)) : value_decl_type(attr); // Nest v_combine calls for all contributions for (size_t i = 0; i < valid_rhs.size() - 1; i++) { o << as_val(vt) << ".v_combine("; diff --git a/parse/aps-util.c b/parse/aps-util.c index c9a8c059..8c89b4fc 100644 --- a/parse/aps-util.c +++ b/parse/aps-util.c @@ -216,6 +216,15 @@ Type some_value_decl_type(Declaration _node) { } } +Direction some_value_decl_direction(Declaration _node) { + switch (Declaration_KEY(_node)) { + default: fatal_error("some_value_decl_direction: called with %s", + Declaration_constructors[Declaration_KEY(_node)]); + case KEYvalue_decl: return value_decl_direction(_node); + case KEYattribute_decl: return attribute_decl_direction(_node); + } +} + Expression assign_lhs(Declaration _node) { switch (Declaration_KEY(_node)) { default: fatal_error("assign_lhs: called with %s", diff --git a/parse/aps-util.h b/parse/aps-util.h index c9b22239..8b6edcf0 100644 --- a/parse/aps-util.h +++ b/parse/aps-util.h @@ -76,6 +76,7 @@ extern Type some_type_decl_type(Declaration); case KEYconstructor_decl: \ case KEYformal extern Type some_value_decl_type(Declaration); +extern Direction some_value_decl_direction(Declaration); #define KEYassign KEYnormal_assign: case KEYcollect_assign extern Expression assign_lhs(Declaration); From 02c406aa30e252e952e2eb6ab7452425eaa8f064 Mon Sep 17 00:00:00 2001 From: Amir Date: Fri, 15 May 2026 13:51:44 -0500 Subject: [PATCH 15/52] handle objects --- codegen/synth-impl.cc | 72 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 66 insertions(+), 6 deletions(-) diff --git a/codegen/synth-impl.cc b/codegen/synth-impl.cc index bb15eb0f..db7eea8a 100644 --- a/codegen/synth-impl.cc +++ b/codegen/synth-impl.cc @@ -1552,13 +1552,9 @@ void dump_rhs_instance_helper(AUG_GRAPH* aug_graph, BlockItem* item, INSTANCE* i o << ")"; } } + return; } - - if (!any_assignment_dump) { - fatal_error("should have dumped an assignment here"); - } - - return; + // valid_rhs is empty (all NULL defaults) — fall through to default handling } if (instance->fibered_attr.fiber != NULL) { @@ -1583,6 +1579,42 @@ void dump_rhs_instance_helper(AUG_GRAPH* aug_graph, BlockItem* item, INSTANCE* i o << "/* did not find any assignment for this fiber attribute " << instance << " -> " << directionStr << " <-" <<" */"; return; } else { + // Check if this is a local collection attribute (value_decl with collection direction) + // whose type is also COMBINABLE per its canonical signature. + // Such attributes may have conditional assignments (inside case/match blocks) that are + // not found by make_instance_assignment() at this level - they are handled elsewhere. + Declaration attr = instance->fibered_attr.attr; + bool is_local_collection = direction_is_collection(some_value_decl_direction(attr)); + if (is_local_collection) { + // Verify via canonical signature that the type implements COMBINABLE - + // i.e., some source_class in its signature set has a "combine" declaration + // in its body (handles COMBINABLE directly, MAKE_LATTICE, and any other + // combinable module, without needing to walk parent signature chains). + Type vt = infer_some_value_decl_type(attr); + CanonicalType* ctype = canonical_type(vt); + CanonicalSignatureSet csig_set = infer_canonical_signatures(ctype); + bool is_combinable = false; + for (int ci = 0; ci < csig_set->num_elements && !is_combinable; ci++) { + CanonicalSignature* csig = (CanonicalSignature*)csig_set->elements[ci]; + Block body = some_class_decl_contents(csig->source_class); + for (Declaration bd = first_Declaration(block_body(body)); bd; bd = DECL_NEXT(bd)) { + if (strcmp(decl_name(bd), "combine") == 0) { + is_combinable = true; + break; + } + } + } + if (is_combinable) { + // A local collection attribute with no direct assignment in this block + // (e.g., assigned only inside a conditional/case block) should return + // the type's initial/bottom value for this branch. + o << as_val(vt) << ".v_initial"; + if (include_comments) { + o << " /* local collection " << decl_name(attr) << ": no direct assignment, using initial */"; + } + return; + } + } print_instance(instance, stdout); printf(" is a non-fiber instance, but no assignment found in this block. %d\n", if_rule_p(instance->fibered_attr.attr)); fatal_error("crashed since non-fiber instance is missing an assignment"); @@ -1731,6 +1763,34 @@ void dump_rhs_instance_helper(AUG_GRAPH* aug_graph, BlockItem* item, INSTANCE* i } bool try_dump_funcall(Expression e, ostream& o) override { + // In synth mode, phylum constructor calls use "node" as the AST anchor + // (the eval function parameter), not "anchor" (which is the Evaluation class field). + // Replicate the logic from dump-scala.cc's dump_anchor_actual check but emit "node". + { + Expression fexpr = funcall_f(e); + if (Expression_KEY(fexpr) == KEYvalue_use) { + Declaration udecl = USE_DECL(value_use_use(fexpr)); + if (Declaration_KEY(udecl) == KEYconstructor_decl) { + // Inline constructor_decl_base_type_decl to get the base type decl + Type ct = constructor_decl_type(udecl); + Declaration retdecl = first_Declaration(function_type_return_values(ct)); + Type return_type = value_decl_type(retdecl); + Declaration tdecl = USE_DECL(type_use_use(return_type)); + if (Declaration_KEY(tdecl) == KEYphylum_decl) { + dump_Expression(fexpr, o); + o << "("; + bool start = true; + FOR_SEQUENCE(Expression, arg, Actuals, funcall_actuals(e), + if (start) start = false; else o << ",\n"; + dump_Expression(arg, o)); + if (first_Actual(funcall_actuals(e)) != NULL) o << ", "; + o << "node)"; + return true; + } + } + } + } + Declaration attr = attr_ref_p(e); if (attr == nullptr) return false; Declaration node = USE_DECL(value_use_use(first_Actual(funcall_actuals(e)))); From 91cabc9b7656569e35f060724ae208fa58916514 Mon Sep 17 00:00:00 2001 From: Amir Date: Fri, 15 May 2026 14:27:53 -0500 Subject: [PATCH 16/52] improved the Makefile --- codegen/synth-impl.cc | 1 + examples/scala/Makefile | 44 ++++++++++++-------- examples/scala/farrow-ubd-driver.scala | 4 +- examples/scala/farrow-ubd-fiber-driver.scala | 3 +- examples/scala/nested-ubd-driver.scala | 2 +- examples/scala/nested-ubd-fiber-driver.scala | 4 +- 6 files changed, 35 insertions(+), 23 deletions(-) diff --git a/codegen/synth-impl.cc b/codegen/synth-impl.cc index db7eea8a..f137af0f 100644 --- a/codegen/synth-impl.cc +++ b/codegen/synth-impl.cc @@ -10,6 +10,7 @@ extern "C" { } #include #include +#include #include #include "dump.h" diff --git a/examples/scala/Makefile b/examples/scala/Makefile index 23faaf80..8b4ba482 100644 --- a/examples/scala/Makefile +++ b/examples/scala/Makefile @@ -12,27 +12,35 @@ EVALUATOR ?= DYNAMIC ifeq (${EVALUATOR},STATIC) IMPL_SUFFIX = .static.scala +else ifeq (${EVALUATOR},SYNTH) +IMPL_SUFFIX = .synth.scala else IMPL_SUFFIX = .scala endif -SCALAGEN = simple.scala classic-binding.scala tiny.scala broad-fiber-cycle.scala \ - test-coll.scala test-use-coll.scala test-cycle.scala use-global.scala \ - grammar.scala first.scala follow.scala nullable.scala \ - farrow-lv-tree.scala farrow-lv.static.scala \ - farrow-ubd-tree.scala farrow-ubd.static.scala farrow-ubd-fiber.static.scala \ - broad-fiber-cycle.static.scala classic-binding.static.scala \ - grammar.scala first.static.scala follow.static.scala nullable.static.scala \ - nested-cycles.static.scala \ - test-coll.static.scala test-use-coll.static.scala test-cycle.static.scala use-global.static.scala - -MISCGEN = nested-cycles.scala SimpleParser.scala SimpleScanner.scala \ +SCALAGEN = simple.scala tiny.scala \ + classic-binding.scala classic-binding.static.scala classic-binding.synth.scala \ + grammar.scala \ + first.scala first.static.scala first.synth.scala \ + follow.scala follow.static.scala follow.synth.scala \ + nullable.scala nullable.static.scala nullable.synth.scala \ + test-coll.scala test-coll.static.scala test-coll.synth.scala \ + test-use-coll.scala test-use-coll.static.scala test-use-coll.synth.scala \ + test-cycle.scala test-cycle.static.scala test-cycle.synth.scala \ + use-global.scala use-global.static.scala use-global.synth.scala \ + broad-fiber-cycle.scala broad-fiber-cycle.static.scala broad-fiber-cycle.synth.scala \ + nested-cycles.scala nested-cycles.static.scala nested-cycles.synth.scala \ + farrow-lv-tree.scala farrow-lv.scala farrow-lv.static.scala farrow-lv.synth.scala \ + farrow-ubd-tree.scala farrow-ubd.scala farrow-ubd.static.scala farrow-ubd.synth.scala \ + farrow-ubd-fiber.scala farrow-ubd-fiber.static.scala farrow-ubd-fiber.synth.scala \ + nested-ubd-tree.scala nested-ubd.scala nested-ubd.static.scala nested-ubd.synth.scala \ + nested-ubd-fiber.scala nested-ubd-fiber.static.scala nested-ubd-fiber.synth.scala + +MISCGEN = SimpleParser.scala SimpleScanner.scala \ GrammarTokens.scala SimpleTokens.scala GrammarScanner.scala GrammarParser.scala \ - FarrowLvTokens.scala FarrowLvTokens.scala FarrowLvScanner.scala FarrowLvParser.scala farrow-lv.scala \ - FarrowUbdTokens.scala FarrowUbdTokens.scala FarrowUbdScanner.scala FarrowUbdParser.scala farrow-ubd.scala \ - farrow-ubd-fiber.scala \ - NestedUbdTokens.scala NestedUbdScanner.scala NestedUbdParser.scala nested-ubd.scala \ - nested-ubd-fiber.scala \ + FarrowLvTokens.scala FarrowLvScanner.scala FarrowLvParser.scala \ + FarrowUbdTokens.scala FarrowUbdScanner.scala FarrowUbdParser.scala \ + NestedUbdTokens.scala NestedUbdScanner.scala NestedUbdParser.scala \ *.output *.lex *.y *.scala~ .PHONY: all clean phony_explicit @@ -137,13 +145,13 @@ NestedUbdParserBase.class : NestedUbdParserBase.scala NestedUbd_implicit.class NestedUbdTokens.class : NestedUbdTokens.scala ${SCALAC} ${SCALACFLAGS} $< -NestedUbd_implicit.class : nested-ubd-tree.scala nested-ubd.static.scala +NestedUbd_implicit.class : nested-ubd-tree.scala nested-ubd${IMPL_SUFFIX} ${SCALAC} ${SCALACFLAGS} $^ NestedUbdDriver.class : NestedUbd_implicit.class NestedUbdParser.class ${SCALAC} ${SCALACFLAGS} nested-ubd-driver.scala -NestedUbdFiber_implicit.class : nested-ubd-tree.scala nested-ubd-fiber.static.scala +NestedUbdFiber_implicit.class : nested-ubd-tree.scala nested-ubd-fiber${IMPL_SUFFIX} ${SCALAC} ${SCALACFLAGS} $^ NestedUbdFiberDriver.class : NestedUbdFiber_implicit.class NestedUbdParser.class diff --git a/examples/scala/farrow-ubd-driver.scala b/examples/scala/farrow-ubd-driver.scala index bb055eb6..c60a663f 100644 --- a/examples/scala/farrow-ubd-driver.scala +++ b/examples/scala/farrow-ubd-driver.scala @@ -16,9 +16,11 @@ object FarrowUbdDriver extends App { val m_farrow_ubd_tree = farrow_ubd_tree; val m_farrow_ubd = new M_FARROW_UBD[m_farrow_ubd_tree.T_Result]("FarrowUbd", m_farrow_ubd_tree.t_Result); - Debug.activate(); + // Debug.activate(); m_farrow_ubd_tree.finish(); m_farrow_ubd.finish(); + m_farrow_ubd.v_program_errs(m_farrow_ubd.t_Program.nodes(0)).foreach(println(_)) + } diff --git a/examples/scala/farrow-ubd-fiber-driver.scala b/examples/scala/farrow-ubd-fiber-driver.scala index 0f29de7f..1247bc6b 100644 --- a/examples/scala/farrow-ubd-fiber-driver.scala +++ b/examples/scala/farrow-ubd-fiber-driver.scala @@ -16,9 +16,10 @@ object FarrowUbdFiberDriver extends App { val m_farrow_ubd_tree = farrow_ubd_tree; val m_farrow_ubd = new M_FARROW_UBD_FIBER[m_farrow_ubd_tree.T_Result]("FarrowUbdFiber", m_farrow_ubd_tree.t_Result); - Debug.activate(); + // Debug.activate(); m_farrow_ubd_tree.finish(); m_farrow_ubd.finish(); + m_farrow_ubd.v_program_errs(m_farrow_ubd.t_Program.nodes(0)).foreach(println(_)) } diff --git a/examples/scala/nested-ubd-driver.scala b/examples/scala/nested-ubd-driver.scala index cbd62110..db5f713b 100644 --- a/examples/scala/nested-ubd-driver.scala +++ b/examples/scala/nested-ubd-driver.scala @@ -21,5 +21,5 @@ object NestedUbdDriver extends App { m_nested_ubd_tree.finish(); m_nested_ubd.finish(); - println(m_nested_ubd.v_program_errs(m_nested_ubd.t_Program.nodes(0))); + m_nested_ubd.v_program_errs(m_nested_ubd.t_Program.nodes(0)).foreach(println(_)); } diff --git a/examples/scala/nested-ubd-fiber-driver.scala b/examples/scala/nested-ubd-fiber-driver.scala index 41d7c5ff..5b881589 100644 --- a/examples/scala/nested-ubd-fiber-driver.scala +++ b/examples/scala/nested-ubd-fiber-driver.scala @@ -16,10 +16,10 @@ object NestedUbdFiberDriver extends App { val m_nested_ubd_tree = nested_ubd_tree; val m_nested_ubd = new M_NESTED_UBD_FIBER[m_nested_ubd_tree.T_Result]("NestedUbdFiber", m_nested_ubd_tree.t_Result); - Debug.activate(); + // Debug.activate(); m_nested_ubd_tree.finish(); m_nested_ubd.finish(); - println(m_nested_ubd.v_messages); + m_nested_ubd.v_messages.foreach(println(_)); } From ce5f91f90306a36de30da641a5e7759e53253b55 Mon Sep 17 00:00:00 2001 From: Amir Date: Fri, 15 May 2026 21:47:33 -0500 Subject: [PATCH 17/52] tiny change --- examples/nested-ubd.aps | 2 +- examples/scala/nested-ubd-driver.scala | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/nested-ubd.aps b/examples/nested-ubd.aps index a2cb7dda..b626aac0 100644 --- a/examples/nested-ubd.aps +++ b/examples/nested-ubd.aps @@ -25,7 +25,7 @@ module NESTED_UBD[T :: var NESTED_UBD_TREE[]] extends T begin pragma inherited(decls_env); pragma synthesized(decls_defs, decls_errs); - attribute Block.block_env : DeclPairLattice; + circular attribute Block.block_env : DeclPairLattice; attribute Block.block_errs : Messages; pragma inherited (block_env); pragma synthesized (block_errs); diff --git a/examples/scala/nested-ubd-driver.scala b/examples/scala/nested-ubd-driver.scala index db5f713b..b541e317 100644 --- a/examples/scala/nested-ubd-driver.scala +++ b/examples/scala/nested-ubd-driver.scala @@ -16,7 +16,7 @@ object NestedUbdDriver extends App { val m_nested_ubd_tree = nested_ubd_tree; val m_nested_ubd = new M_NESTED_UBD[m_nested_ubd_tree.T_Result]("NestedUbd", m_nested_ubd_tree.t_Result); - Debug.activate(); + // Debug.activate(); m_nested_ubd_tree.finish(); m_nested_ubd.finish(); From 7603022849f61f0d983b8b24af93e70f40cce911 Mon Sep 17 00:00:00 2001 From: Seyedamirhossein Hesamian Date: Mon, 18 May 2026 13:30:56 -0500 Subject: [PATCH 18/52] Add files via upload --- JFlex.jar | Bin 0 -> 663473 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 JFlex.jar diff --git a/JFlex.jar b/JFlex.jar new file mode 100644 index 0000000000000000000000000000000000000000..2f563281f43d27b7aea49bd94b44562e0b169bbc GIT binary patch literal 663473 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%0DFQ< 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 z

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

fv|TtF%o%KEa~k$$LTX)m$1+Y?YLP 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�uxkB?68zg;EW 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

L?;mL_wpV$#I%LBT$G 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�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 literal 0 HcmV?d00001 From cf786ee8f17fcafd6ff535407f3171bc4d208ca2 Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Tue, 16 Jun 2026 15:52:49 +0000 Subject: [PATCH 19/52] Revert unnessary changes --- examples/scala/farrow-ubd-driver.scala | 4 +--- examples/scala/farrow-ubd-fiber-driver.scala | 3 +-- examples/scala/nested-ubd-driver.scala | 4 ++-- examples/scala/nested-ubd-fiber-driver.scala | 4 ++-- 4 files changed, 6 insertions(+), 9 deletions(-) diff --git a/examples/scala/farrow-ubd-driver.scala b/examples/scala/farrow-ubd-driver.scala index c60a663f..bb055eb6 100644 --- a/examples/scala/farrow-ubd-driver.scala +++ b/examples/scala/farrow-ubd-driver.scala @@ -16,11 +16,9 @@ object FarrowUbdDriver extends App { val m_farrow_ubd_tree = farrow_ubd_tree; val m_farrow_ubd = new M_FARROW_UBD[m_farrow_ubd_tree.T_Result]("FarrowUbd", m_farrow_ubd_tree.t_Result); - // Debug.activate(); + Debug.activate(); m_farrow_ubd_tree.finish(); m_farrow_ubd.finish(); - m_farrow_ubd.v_program_errs(m_farrow_ubd.t_Program.nodes(0)).foreach(println(_)) - } diff --git a/examples/scala/farrow-ubd-fiber-driver.scala b/examples/scala/farrow-ubd-fiber-driver.scala index 1247bc6b..0f29de7f 100644 --- a/examples/scala/farrow-ubd-fiber-driver.scala +++ b/examples/scala/farrow-ubd-fiber-driver.scala @@ -16,10 +16,9 @@ object FarrowUbdFiberDriver extends App { val m_farrow_ubd_tree = farrow_ubd_tree; val m_farrow_ubd = new M_FARROW_UBD_FIBER[m_farrow_ubd_tree.T_Result]("FarrowUbdFiber", m_farrow_ubd_tree.t_Result); - // Debug.activate(); + Debug.activate(); m_farrow_ubd_tree.finish(); m_farrow_ubd.finish(); - m_farrow_ubd.v_program_errs(m_farrow_ubd.t_Program.nodes(0)).foreach(println(_)) } diff --git a/examples/scala/nested-ubd-driver.scala b/examples/scala/nested-ubd-driver.scala index b541e317..cbd62110 100644 --- a/examples/scala/nested-ubd-driver.scala +++ b/examples/scala/nested-ubd-driver.scala @@ -16,10 +16,10 @@ object NestedUbdDriver extends App { val m_nested_ubd_tree = nested_ubd_tree; val m_nested_ubd = new M_NESTED_UBD[m_nested_ubd_tree.T_Result]("NestedUbd", m_nested_ubd_tree.t_Result); - // Debug.activate(); + Debug.activate(); m_nested_ubd_tree.finish(); m_nested_ubd.finish(); - m_nested_ubd.v_program_errs(m_nested_ubd.t_Program.nodes(0)).foreach(println(_)); + println(m_nested_ubd.v_program_errs(m_nested_ubd.t_Program.nodes(0))); } diff --git a/examples/scala/nested-ubd-fiber-driver.scala b/examples/scala/nested-ubd-fiber-driver.scala index 5b881589..41d7c5ff 100644 --- a/examples/scala/nested-ubd-fiber-driver.scala +++ b/examples/scala/nested-ubd-fiber-driver.scala @@ -16,10 +16,10 @@ object NestedUbdFiberDriver extends App { val m_nested_ubd_tree = nested_ubd_tree; val m_nested_ubd = new M_NESTED_UBD_FIBER[m_nested_ubd_tree.T_Result]("NestedUbdFiber", m_nested_ubd_tree.t_Result); - // Debug.activate(); + Debug.activate(); m_nested_ubd_tree.finish(); m_nested_ubd.finish(); - m_nested_ubd.v_messages.foreach(println(_)); + println(m_nested_ubd.v_messages); } From 84a511ed77066a0727f5632d718209b6534e40b7 Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Tue, 16 Jun 2026 21:30:48 +0000 Subject: [PATCH 20/52] add bigger outer fixed point loop --- codegen/synth-impl.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/codegen/synth-impl.cc b/codegen/synth-impl.cc index f137af0f..cc8dd08d 100644 --- a/codegen/synth-impl.cc +++ b/codegen/synth-impl.cc @@ -1161,8 +1161,11 @@ class SynthImpl : public SynthImplementation { PHY_GRAPH* start_phy_graph = summary_graph_for(s, s->start_phylum); if (needs_fixed_point) { - os << indent() << "implicit val " << LOOP_VAR << ": Boolean = false;\n"; os << indent() << "implicit val changed: AtomicBoolean = new AtomicBoolean(false);\n"; + os << indent() << "implicit val " << LOOP_VAR << ": Boolean = true;\n"; + os << indent() << "do {\n"; + ++nesting_level; + os << indent() << "changed.set(false);\n"; } os << indent() << "for (root <- t_" << decl_name(s->start_phylum) << ".nodes) {\n"; ++nesting_level; @@ -1179,6 +1182,11 @@ class SynthImpl : public SynthImplementation { --nesting_level; os << indent() << "}\n"; + if (needs_fixed_point) { + --nesting_level; + os << indent() << "} while (changed.get)\n"; + } + #ifdef APS2SCALA os << indent() << "super.finish();\n"; #endif /* ! APS2SCALA */ From f623302672a584368452e88e940fd0949f12850e Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Thu, 18 Jun 2026 17:14:24 +0000 Subject: [PATCH 21/52] more progress --- codegen/synth-impl.cc | 238 +++++++++++++++++++++++++++++++++++++----- 1 file changed, 214 insertions(+), 24 deletions(-) diff --git a/codegen/synth-impl.cc b/codegen/synth-impl.cc index cc8dd08d..a2a80f60 100644 --- a/codegen/synth-impl.cc +++ b/codegen/synth-impl.cc @@ -1,6 +1,7 @@ #include #include +#include #include #include extern "C" { @@ -29,6 +30,9 @@ typedef struct synth_function_state { static AUG_GRAPH* current_aug_graph = NULL; static std::vector synth_functions_states; static SYNTH_FUNCTION_STATE* current_synth_functions_state = NULL; +// Set while dumping; read in finish(). True if a cycle closes through a +// fiber/shared-global collection. Currently informational only (see finish()). +static bool module_needs_global_loop = false; #define LOCAL_VALUE_FLAG (1 << 28) @@ -841,6 +845,150 @@ class FiberDependencyDumper { } }; +// True if this synth function computes a circular attribute. Such attributes +// assign through the change-tracking overload so the fixed-point loop can detect +// when they stop changing. +static bool synth_function_is_circular(SYNTH_FUNCTION_STATE* st) { + if (st->is_fiber_evaluation) { + return false; + } + if (instance_is_pure_shared_info(st->source)) { + return false; + } + for (auto it = st->aug_graphs.begin(); it != st->aug_graphs.end(); it++) { + AUG_GRAPH* aug_graph = *it; + INSTANCE* inst = NULL; + if (st->is_phylum_instance) { + if (!find_instance(aug_graph, aug_graph->lhs_decl, st->source->fibered_attr, &inst)) { + continue; + } + } else { + inst = st->source; + } + if (instance_circular(inst)) { + return true; + } + } + return false; +} + +// A synthesized, circular, non-fiber attribute on a child node -- a candidate +// whose local iteration can converge a cycle. +static bool is_cycle_closing_candidate(INSTANCE* instance, AUG_GRAPH* aug_graph) { + bool on_child_node = instance->node != NULL && instance->node != aug_graph->lhs_decl; + return on_child_node && + instance->fibered_attr.fiber == NULL && + !if_rule_p(instance->fibered_attr.attr) && + instance_is_synthesized(instance) && + instance_circular(instance); +} + +// True if `inherited` is the inherited circular attribute on the same child node +// that `instance` directly feeds -- the edge that closes the cycle here. +static bool closes_cycle_with(INSTANCE* inherited, INSTANCE* instance, AUG_GRAPH* aug_graph) { + int n = aug_graph->instances.length; + bool instance_feeds_inherited = + edgeset_kind(aug_graph->graph[instance->index * n + inherited->index]) & DEPENDENCY_MAYBE_DIRECT; + return inherited != instance && + inherited->node == instance->node && + inherited->fibered_attr.fiber == NULL && + instance_is_inherited(inherited) && + instance_circular(inherited) && + instance_feeds_inherited; +} + +// Child attributes that close a cycle at this production. A synthesized circular +// child instance that directly feeds its own inherited circular attribute closes +// the cycle here, so we can iterate it to a fixed point locally instead of +// program-wide. Productions that only forward an inherited attribute are skipped. +static std::vector collect_child_cycle_instances(AUG_GRAPH* aug_graph) { + std::vector result; + int n = aug_graph->instances.length; + for (int index = 0; index < n; index++) { + INSTANCE* instance = &aug_graph->instances.array[index]; + if (!is_cycle_closing_candidate(instance, aug_graph)) continue; + + for (int inner_index = 0; inner_index < n; inner_index++) { + INSTANCE* inherited = &aug_graph->instances.array[inner_index]; + if (closes_cycle_with(inherited, instance, aug_graph)) { + result.push_back(instance); + break; + } + } + } + return result; +} + +// True if a cycle closes through a fiber/shared-global collection rather than a +// child's inherited attribute -- i.e. no local child instance can close it. +static bool module_has_fiber_cycle(const std::vector& states) { + for (auto it = states.begin(); it != states.end(); it++) { + SYNTH_FUNCTION_STATE* st = *it; + if (!st->is_fiber_evaluation) continue; + if (instance_is_pure_shared_info(st->source) && st->is_phylum_instance) { + // pure shared-info has no fixed-point loop of its own; skip + continue; + } + for (auto ag = st->aug_graphs.begin(); ag != st->aug_graphs.end(); ag++) { + AUG_GRAPH* aug_graph = *ag; + INSTANCE* inst = NULL; + if (st->is_phylum_instance) { + if (!find_instance(aug_graph, aug_graph->lhs_decl, st->source->fibered_attr, &inst)) { + continue; + } + } else { + inst = st->source; + } + if (!instance_circular(inst)) continue; + + // A local child instance closes this cycle at its production, so no + // module-wide loop is needed. Count it as a fiber cycle only when none does. + std::vector child_cycle_instances = collect_child_cycle_instances(aug_graph); + if (child_cycle_instances.empty()) { + return true; + } + } + } + return false; +} + +// Emits the two implicits every fixed-point loop body opens with: isInsideFixedPoint +// (disables caching) and `changed` bound to this loop's convergence flag. +static void emit_loop_implicits(ostream& os, const string& flag) { + os << indent() << "implicit val " << LOOP_VAR << ": Boolean = true;\n"; + os << indent() << "implicit val changed: AtomicBoolean = " << flag << ";\n"; +} + +// Emits a local successive-approximation loop, guarded so it is skipped when +// already inside an outer fixed point (that loop drives convergence instead): +// +// if (!isInsideFixedPoint) { +// val = new AtomicBoolean(true); +// while (.get) { +// .set(false); +// implicit val isInsideFixedPoint = true; implicit val changed = ; +// +// } +// } +// +// `emit_body` writes the body at the current indentation. +static void emit_local_fixed_point_loop(ostream& os, + const string& flag, + const std::function& emit_body) { + os << indent() << "if (!" << LOOP_VAR << ") {\n"; + ++nesting_level; + os << indent() << "val " << flag << " = new AtomicBoolean(true);\n"; + os << indent() << "while (" << flag << ".get) {\n"; + ++nesting_level; + os << indent() << flag << ".set(false);\n"; + emit_loop_implicits(os, flag); + emit_body(); + --nesting_level; + os << indent() << "}\n"; + --nesting_level; + os << indent() << "}\n"; +} + #ifdef APS2SCALA static void dump_synth_functions(STATE* s, ostream& os) #else /* APS2SCALA */ @@ -862,6 +1010,10 @@ static void dump_synth_functions(STATE* s, output_streams& oss) synth_functions_states = build_synth_functions_state(s); bool needs_fixed_point = s->loop_required; + // Module-wide loop needed only when a cycle closes through a fiber/shared + // collection; inherited cycles converge locally at their productions. + module_needs_global_loop = needs_fixed_point && module_has_fiber_cycle(synth_functions_states); + for (auto state_it = synth_functions_states.begin(); state_it != synth_functions_states.end(); state_it++) { SYNTH_FUNCTION_STATE* synth_functions_state = *state_it; current_synth_functions_state = synth_functions_state; @@ -953,7 +1105,8 @@ static void dump_synth_functions(STATE* s, output_streams& oss) if (needs_fixed_point) { nesting_level--; - os << indent() << "}\n"; + os << indent() << "}"; + os << "\n"; } if (synth_functions_state->is_fiber_evaluation) { @@ -963,6 +1116,11 @@ static void dump_synth_functions(STATE* s, output_streams& oss) } nesting_level++; + // True if this attribute is circular anywhere. Then every assignment uses the + // change-tracking overload so the closure-site loop can see it settle; only + // the closure site emits the do/while. + bool source_circular = needs_fixed_point && synth_function_is_circular(synth_functions_state); + for (auto it = synth_functions_state->aug_graphs.begin(); it != synth_functions_state->aug_graphs.end(); it++) { AUG_GRAPH* aug_graph = *it; int n = aug_graph->instances.length; @@ -1004,10 +1162,38 @@ static void dump_synth_functions(STATE* s, output_streams& oss) aps_warning(aug_graph_instance->node, "Instance %s depends on itself but is not declared circular", instance_to_string(aug_graph_instance).c_str()); } - bool dump_fixed_point_loop = declared_is_circular && !instance_is_pure_shared_info(synth_functions_state->source); + // Non-fiber cycles loop at the closing child (collect_child_cycle_instances, + // above); everywhere else we compute once and report changes via `changed`. + // We do NOT emit a per-attribute do/while for them: the LHS self-edge marks + // them circular at every production, so looping at each one nests loops down + // the tree -> exponential in depth (Farrow 1986 sec.4: loop at the closure + // only). Fiber/shared cycles aren't local to a production, so they loop here. + bool dump_fixed_point_loop = synth_functions_state->is_fiber_evaluation && declared_is_circular && !instance_is_pure_shared_info(synth_functions_state->source); string node_get = ATTR_DECL_IS_SHARED_INFO(synth_functions_state->source->fibered_attr.attr) ? "" : "node"; string node_assign = ATTR_DECL_IS_SHARED_INFO(synth_functions_state->source->fibered_attr.attr) ? "" : "node, "; + // Converge any child cycle that closes here before computing this value, so + // the cached body below reads settled values. Replaces a whole-program loop. + if (!synth_functions_state->is_fiber_evaluation) { + std::vector child_cycle_instances = collect_child_cycle_instances(aug_graph); + for (auto it2 = child_cycle_instances.begin(); it2 != child_cycle_instances.end(); it2++) { + INSTANCE* cycle_instance = *it2; + // Skipped when already inside an outer fixed point (see helper): nesting + // a do/while per scope would re-converge this child every outer pass, + // which is exponential in nesting depth. The outer loop revisits this + // production each round; here we just do one step and report via `changed`. + emit_local_fixed_point_loop(os, "localChanged", [&] { + dumped_conditional_block_items.clear(); + dumped_instances.clear(); + os << indent(); + synth_impl_ptr->dump_synth_instance(cycle_instance, os); + os << ";\n"; + }); + } + dumped_conditional_block_items.clear(); + dumped_instances.clear(); + } + // Open fixed-point loop using shared changed flag for convergence tracking if (dump_fixed_point_loop) { os << indent() << "{\n"; @@ -1024,8 +1210,7 @@ static void dump_synth_functions(STATE* s, output_streams& oss) if (synth_functions_state->is_fiber_evaluation) { tracking_fiber_convergence = true; } - os << indent() << "implicit val " << LOOP_VAR << ": Boolean = true;\n"; - os << indent() << "implicit val changed: AtomicBoolean = newChanged" << src_idx << ";\n"; + emit_loop_implicits(os, "newChanged" + std::to_string(src_idx)); } // Fiber dependencies (inside loop when looping) @@ -1088,7 +1273,11 @@ static void dump_synth_functions(STATE* s, output_streams& oss) if (synth_functions_state->is_fiber_evaluation) { os << indent() << "evaluated_map_" << synth_functions_state->fdecl_name << ".update(node.nodeNumber, true);\n"; } else { - os << indent() << instance_to_attr(synth_functions_state->source) << ".assign(node, result);\n"; + if (source_circular) { + os << indent() << instance_to_attr(synth_functions_state->source) << ".assign(node, result, changed);\n"; + } else { + os << indent() << instance_to_attr(synth_functions_state->source) << ".assign(node, result);\n"; + } os << indent() << instance_to_attr(synth_functions_state->source) << ".get(node);\n"; } @@ -1161,11 +1350,19 @@ class SynthImpl : public SynthImplementation { PHY_GRAPH* start_phy_graph = summary_graph_for(s, s->start_phylum); if (needs_fixed_point) { + // Demand each root once with caching on (isInsideFixedPoint = false). + // Inherited cycles converged at their productions; fiber/shared cycles + // converge via the per-production loops inside their *_sharedinfo_* evals, + // so one cached pass reaches the fixed point for every grammar we handle. + // + // A module-wide do/while (caching off, re-traverse until `changed` stays + // false) would cover cycles whose state is purely module-global, but it + // disables caching across the whole traversal -> re-descends the tree + // uncached every round -> super-linear, non-terminating at depth ~10. No + // grammar needs it. If one ever does, iterate only the circular collection, + // not the whole tree. os << indent() << "implicit val changed: AtomicBoolean = new AtomicBoolean(false);\n"; - os << indent() << "implicit val " << LOOP_VAR << ": Boolean = true;\n"; - os << indent() << "do {\n"; - ++nesting_level; - os << indent() << "changed.set(false);\n"; + os << indent() << "implicit val " << LOOP_VAR << ": Boolean = false;\n"; } os << indent() << "for (root <- t_" << decl_name(s->start_phylum) << ".nodes) {\n"; ++nesting_level; @@ -1182,10 +1379,7 @@ class SynthImpl : public SynthImplementation { --nesting_level; os << indent() << "}\n"; - if (needs_fixed_point) { - --nesting_level; - os << indent() << "} while (changed.get)\n"; - } + (void)module_needs_global_loop; #ifdef APS2SCALA os << indent() << "super.finish();\n"; @@ -1588,17 +1782,14 @@ void dump_rhs_instance_helper(AUG_GRAPH* aug_graph, BlockItem* item, INSTANCE* i o << "/* did not find any assignment for this fiber attribute " << instance << " -> " << directionStr << " <-" <<" */"; return; } else { - // Check if this is a local collection attribute (value_decl with collection direction) - // whose type is also COMBINABLE per its canonical signature. - // Such attributes may have conditional assignments (inside case/match blocks) that are - // not found by make_instance_assignment() at this level - they are handled elsewhere. + // A local collection attribute may be assigned only inside a case/match + // block, which make_instance_assignment() doesn't see at this level. Declaration attr = instance->fibered_attr.attr; bool is_local_collection = direction_is_collection(some_value_decl_direction(attr)); if (is_local_collection) { - // Verify via canonical signature that the type implements COMBINABLE - - // i.e., some source_class in its signature set has a "combine" declaration - // in its body (handles COMBINABLE directly, MAKE_LATTICE, and any other - // combinable module, without needing to walk parent signature chains). + // Check the type is combinable: look for a "combine" declaration in any + // class in its canonical signature set. This covers COMBINABLE, + // MAKE_LATTICE, etc. without walking parent signature chains. Type vt = infer_some_value_decl_type(attr); CanonicalType* ctype = canonical_type(vt); CanonicalSignatureSet csig_set = infer_canonical_signatures(ctype); @@ -1614,9 +1805,8 @@ void dump_rhs_instance_helper(AUG_GRAPH* aug_graph, BlockItem* item, INSTANCE* i } } if (is_combinable) { - // A local collection attribute with no direct assignment in this block - // (e.g., assigned only inside a conditional/case block) should return - // the type's initial/bottom value for this branch. + // No direct assignment in this block (it's inside a conditional/case), + // so this branch contributes the type's initial/bottom value. o << as_val(vt) << ".v_initial"; if (include_comments) { o << " /* local collection " << decl_name(attr) << ": no direct assignment, using initial */"; From ed8f8e217464c2041bc6b38624e35caf4cc8816f Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Sat, 20 Jun 2026 02:41:50 +0000 Subject: [PATCH 22/52] working --- codegen/synth-impl.cc | 150 +++++++++++++++++++++++++-- examples/scala/compare-evaluators.sh | 6 +- 2 files changed, 147 insertions(+), 9 deletions(-) diff --git a/codegen/synth-impl.cc b/codegen/synth-impl.cc index a2a80f60..8b8f5c55 100644 --- a/codegen/synth-impl.cc +++ b/codegen/synth-impl.cc @@ -127,6 +127,43 @@ static vector sort_instances(AUG_GRAPH* aug_graph) { return result; } +// Strongly-connected components of the direct-edge subgraph. Each cycle becomes +// one group; everything else is a singleton. linearize_block uses these to break +// direct dependency cycles (e.g. c1.ptr2:=c2; c2.ptr1:=c1) that a plain topological +// sort cannot order. Only direct edges count here; indirect ones must not affect +// the schedule. +static std::vector > direct_cycle_groups(AUG_GRAPH* aug_graph) { + int n = aug_graph->instances.length; + + SccGraph scc_graph; + scc_graph_initialize(&scc_graph, n); + for (int i = 0; i < n; i++) { + scc_graph_add_vertex(&scc_graph, &aug_graph->instances.array[i]); + } + for (int i = 0; i < n; i++) { + for (int j = 0; j < n; j++) { + if (i != j && (edgeset_kind(aug_graph->graph[i * n + j]) & DEPENDENCY_MAYBE_DIRECT)) { + scc_graph_add_edge(&scc_graph, &aug_graph->instances.array[i], + &aug_graph->instances.array[j]); + } + } + } + + SCC_COMPONENTS* components = scc_graph_components(&scc_graph); + std::vector > groups; + for (int c = 0; c < components->length; c++) { + SCC_COMPONENT* comp = components->array[c]; + std::vector group; + for (int k = 0; k < comp->length; k++) { + group.push_back((INSTANCE*)comp->array[k]); + } + groups.push_back(group); + } + scc_graph_destroy(&scc_graph); + + return groups; +} + // Given an augmented dependency graph, it linearize it recursively static BlockItem* linearize_block_helper(AUG_GRAPH* aug_graph, const vector& sorted_instances, @@ -134,7 +171,8 @@ static BlockItem* linearize_block_helper(AUG_GRAPH* aug_graph, CONDITION* cond, BlockItem* prev, int remaining, - INSTANCE* aug_graph_instance) { + INSTANCE* aug_graph_instance, + const std::vector& component_of) { // impossible merge condition if (CONDITION_IS_IMPOSSIBLE(*cond)) { return NULL; @@ -154,7 +192,7 @@ static BlockItem* linearize_block_helper(AUG_GRAPH* aug_graph, // impossible merge condition, cannot schedule this instance if (MERGED_CONDITION_IS_IMPOSSIBLE(*cond, instance_condition(instance))) { scheduled[i] = true; - BlockItem* result = linearize_block_helper(aug_graph, sorted_instances, scheduled, cond, prev, remaining - 1, aug_graph_instance); + BlockItem* result = linearize_block_helper(aug_graph, sorted_instances, scheduled, cond, prev, remaining - 1, aug_graph_instance, component_of); scheduled[i] = false; return result; } @@ -163,7 +201,7 @@ static BlockItem* linearize_block_helper(AUG_GRAPH* aug_graph, // then this instance should not be included in the linearization linked-list if (aug_graph_instance != instance && !edgeset_kind(aug_graph->graph[instance->index * n + aug_graph_instance->index])) { scheduled[i] = true; - BlockItem* result = linearize_block_helper(aug_graph, sorted_instances, scheduled, cond, prev, remaining - 1, aug_graph_instance); + BlockItem* result = linearize_block_helper(aug_graph, sorted_instances, scheduled, cond, prev, remaining - 1, aug_graph_instance, component_of); scheduled[i] = false; return result; } @@ -187,6 +225,12 @@ static BlockItem* linearize_block_helper(AUG_GRAPH* aug_graph, continue; } + // don't wait on a dependency in the same cycle group, that's the cycle we + // break here; cross-group edges still enforce the order + if (component_of[j] == component_of[i]) { + continue; + } + ready_to_schedule = false; break; } @@ -210,10 +254,10 @@ static BlockItem* linearize_block_helper(AUG_GRAPH* aug_graph, int cmask = 1 << (if_rule_index(instance->fibered_attr.attr)); cond->positive |= cmask; - item->next_positive = linearize_block_helper(aug_graph, sorted_instances, scheduled, cond, item_base, remaining - 1, aug_graph_instance); + item->next_positive = linearize_block_helper(aug_graph, sorted_instances, scheduled, cond, item_base, remaining - 1, aug_graph_instance, component_of); cond->positive &= ~cmask; cond->negative |= cmask; - item->next_negative = linearize_block_helper(aug_graph, sorted_instances, scheduled, cond, item_base, remaining - 1, aug_graph_instance); + item->next_negative = linearize_block_helper(aug_graph, sorted_instances, scheduled, cond, item_base, remaining - 1, aug_graph_instance, component_of); cond->negative &= ~cmask; } else { struct block_item_instance* item = (struct block_item_instance*)malloc(sizeof(struct block_item_instance)); @@ -221,7 +265,7 @@ static BlockItem* linearize_block_helper(AUG_GRAPH* aug_graph, item->key = KEY_BLOCK_ITEM_INSTANCE; item->instance = instance; item->prev = prev; - item->next = linearize_block_helper(aug_graph, sorted_instances, scheduled, cond, item_base, remaining - 1, aug_graph_instance); + item->next = linearize_block_helper(aug_graph, sorted_instances, scheduled, cond, item_base, remaining - 1, aug_graph_instance, component_of); } scheduled[i] = false; @@ -246,7 +290,16 @@ static BlockItem* linearize_block(AUG_GRAPH* aug_graph, INSTANCE* aug_graph_inst CONDITION cond = {0, 0}; vector sorted_instances = sort_instances(aug_graph); - return linearize_block_helper(aug_graph, sorted_instances, scheduled, &cond, NULL, n, aug_graph_instance); + // map each instance to its cycle group so the schedule can skip same-group edges + std::vector > groups = direct_cycle_groups(aug_graph); + std::vector component_of(n, -1); + for (size_t g = 0; g < groups.size(); g++) { + for (auto it = groups[g].begin(); it != groups[g].end(); it++) { + component_of[(*it)->index] = (int)g; + } + } + + return linearize_block_helper(aug_graph, sorted_instances, scheduled, &cond, NULL, n, aug_graph_instance, component_of); } // Given an instance it traverses the direct dependency schedule @@ -989,6 +1042,39 @@ static void emit_local_fixed_point_loop(ostream& os, os << indent() << "}\n"; } +// Collects the field assignments of a locally-built object, e.g. for +// `c : Context := context(...)` it returns c.ptr1 := ..., c.ptr2 := ... . +// Each entry keeps the field, the rhs, and the instance the rhs computes (used to +// linearize the rhs). These fields are read directly via a_field.get by remote +// access (index_scope), so we have to assign them while evaluating the object. +struct ObjectFieldAssign { + Declaration field; + Expression rhs; + INSTANCE* instance; +}; + +static std::vector +collect_object_field_assignments(AUG_GRAPH* aug_graph, Declaration obj_decl) { + std::vector result; + Block body = matcher_body(top_level_match_m(aug_graph->match_rule)); + for (Declaration d = first_Declaration(block_body(body)); d; d = DECL_NEXT(d)) { + if (Declaration_KEY(d) != KEYnormal_assign) continue; + Expression lhs = assign_lhs(d); + if (Expression_KEY(lhs) != KEYfuncall) continue; + Declaration field = field_ref_p(lhs); + if (field == 0) continue; + Expression obj = field_ref_object(lhs); + if (Expression_KEY(obj) != KEYvalue_use) continue; + if (USE_DECL(value_use_use(obj)) != obj_decl) continue; + ObjectFieldAssign fa; + fa.field = field; + fa.rhs = assign_rhs(d); + fa.instance = Expression_info(assign_rhs(d))->value_for; + result.push_back(fa); + } + return result; +} + #ifdef APS2SCALA static void dump_synth_functions(STATE* s, ostream& os) #else /* APS2SCALA */ @@ -1281,6 +1367,52 @@ static void dump_synth_functions(STATE* s, output_streams& oss) os << indent() << instance_to_attr(synth_functions_state->source) << ".get(node);\n"; } + // Assign a locally-built object's fields (c.ptr1 := ..., c.ptr2 := ...) once + // the object itself is in `result`. Done after the cache write so a rhs that + // refers back to this object reuses the cached value. Re-assigning is fine: + // the attribute is ASSIGNED, not EVALUATED, so set() won't throw. + if (!synth_functions_state->is_fiber_evaluation && + !synth_functions_state->is_phylum_instance) { + Declaration obj_decl = synth_functions_state->source->fibered_attr.attr; + for (auto ag_it = synth_functions_state->aug_graphs.begin(); + ag_it != synth_functions_state->aug_graphs.end(); ag_it++) { + AUG_GRAPH* aug_graph = *ag_it; + std::vector field_assigns = + collect_object_field_assignments(aug_graph, obj_decl); + if (field_assigns.empty()) continue; + + current_aug_graph = aug_graph; + current_blocks.clear(); + current_blocks.push_back(matcher_body(top_level_match_m(aug_graph->match_rule))); + + os << indent() << "node match {\n"; + nesting_level++; + os << indent() << "case " << matcher_pat(top_level_match_m(aug_graph->match_rule)) << " => {\n"; + nesting_level++; + for (auto fa = field_assigns.begin(); fa != field_assigns.end(); fa++) { + // skip a bare alias of a parent attr (e.g. newEnv.outer := self.block_env): + // FiberDependencyDumper handles those and the parent attr isn't in scope here + if (fa->instance == NULL) continue; + // linearize for this field's instance so its rhs dependencies resolve + current_scope_block = linearize_block(aug_graph, fa->instance); + dumped_conditional_block_items.clear(); + dumped_instances.clear(); + os << indent() << "a_" << decl_name(fa->field) << DEREF; + if (debug) os << "assign"; else os << "set"; + os << "(result, " << fa->rhs << ");\n"; + } + nesting_level--; + os << indent() << "}\n"; + os << indent() << "case _ => ()\n"; + nesting_level--; + os << indent() << "};\n"; + + current_blocks.clear(); + dumped_conditional_block_items.clear(); + dumped_instances.clear(); + } + } + if (!synth_functions_state->is_fiber_evaluation) { os << indent() << "result\n"; } @@ -1331,7 +1463,9 @@ class SynthImpl : public SynthImplementation { dump_synth_functions(s, oss); - bool needs_fixed_point = s->original_state_dependency != 0; + // same flag dump_synth_functions uses to gate the implicit params, so finish() + // brings the matching implicits into scope for the eval calls below + bool needs_fixed_point = s->loop_required; // Implement finish routine: #ifdef APS2SCALA diff --git a/examples/scala/compare-evaluators.sh b/examples/scala/compare-evaluators.sh index 41120bd3..ad217297 100755 --- a/examples/scala/compare-evaluators.sh +++ b/examples/scala/compare-evaluators.sh @@ -3,7 +3,7 @@ SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" cd "$SCRIPT_DIR" -EVALUATORS=(DYNAMIC STATIC) +EVALUATORS=(DYNAMIC STATIC SYNTH) extract_results() { sed -n '/^Results:$/,$p' @@ -19,7 +19,11 @@ run_with_evaluator() { if ! make EVALUATOR="$evaluator" "$driver.class" > /dev/null 2>&1; then return 1 fi + local start end + start=$(date +%s.%N) make EVALUATOR="$evaluator" ARGS="$args" "$driver.run" 2>&1 | extract_results > "$outfile" + end=$(date +%s.%N) + printf " -> finished in %.2fs\n" "$(echo "$end - $start" | bc)" } run_driver() { From 43acc2e4b420dccf274f5fef5bef5ed375dfc3cc Mon Sep 17 00:00:00 2001 From: Amir Date: Sun, 21 Jun 2026 01:00:50 -0500 Subject: [PATCH 23/52] added some TODOs --- codegen/synth-impl.cc | 53 ++++++++++++----------------------------- examples/nested-ubd.aps | 2 +- 2 files changed, 16 insertions(+), 39 deletions(-) diff --git a/codegen/synth-impl.cc b/codegen/synth-impl.cc index 8b8f5c55..921e4b01 100644 --- a/codegen/synth-impl.cc +++ b/codegen/synth-impl.cc @@ -30,9 +30,6 @@ typedef struct synth_function_state { static AUG_GRAPH* current_aug_graph = NULL; static std::vector synth_functions_states; static SYNTH_FUNCTION_STATE* current_synth_functions_state = NULL; -// Set while dumping; read in finish(). True if a cycle closes through a -// fiber/shared-global collection. Currently informational only (see finish()). -static bool module_needs_global_loop = false; #define LOCAL_VALUE_FLAG (1 << 28) @@ -292,6 +289,8 @@ static BlockItem* linearize_block(AUG_GRAPH* aug_graph, INSTANCE* aug_graph_inst // map each instance to its cycle group so the schedule can skip same-group edges std::vector > groups = direct_cycle_groups(aug_graph); + + // TODO: std::vector component_of(n, -1) is hacky, do something cleaner here std::vector component_of(n, -1); for (size_t g = 0; g < groups.size(); g++) { for (auto it = groups[g].begin(); it != groups[g].end(); it++) { @@ -321,6 +320,8 @@ static BlockItem* find_surrounding_block(BlockItem* block, INSTANCE* instance) { return NULL; } +// Used only by instance_is_local, instance_is_synthesized and instance_is_inherited +// to determine the direction of an instance that does not have a fiber. static enum instance_direction custom_instance_direction(INSTANCE* i) { enum instance_direction dir = fibered_attr_direction(&i->fibered_attr); if (i->node == NULL) { @@ -928,6 +929,7 @@ static bool synth_function_is_circular(SYNTH_FUNCTION_STATE* st) { // A synthesized, circular, non-fiber attribute on a child node -- a candidate // whose local iteration can converge a cycle. static bool is_cycle_closing_candidate(INSTANCE* instance, AUG_GRAPH* aug_graph) { + // TODO: create a function instance_is_child and instance_is_parent and use it instead bool on_child_node = instance->node != NULL && instance->node != aug_graph->lhs_decl; return on_child_node && instance->fibered_attr.fiber == NULL && @@ -1012,19 +1014,7 @@ static void emit_loop_implicits(ostream& os, const string& flag) { os << indent() << "implicit val changed: AtomicBoolean = " << flag << ";\n"; } -// Emits a local successive-approximation loop, guarded so it is skipped when -// already inside an outer fixed point (that loop drives convergence instead): -// -// if (!isInsideFixedPoint) { -// val = new AtomicBoolean(true); -// while (.get) { -// .set(false); -// implicit val isInsideFixedPoint = true; implicit val changed = ; -// -// } -// } -// -// `emit_body` writes the body at the current indentation. +// Emits a local fixed-point loop static void emit_local_fixed_point_loop(ostream& os, const string& flag, const std::function& emit_body) { @@ -1058,6 +1048,7 @@ collect_object_field_assignments(AUG_GRAPH* aug_graph, Declaration obj_decl) { std::vector result; Block body = matcher_body(top_level_match_m(aug_graph->match_rule)); for (Declaration d = first_Declaration(block_body(body)); d; d = DECL_NEXT(d)) { + // TODO: make sure all IF statements have curly braces if (Declaration_KEY(d) != KEYnormal_assign) continue; Expression lhs = assign_lhs(d); if (Expression_KEY(lhs) != KEYfuncall) continue; @@ -1096,10 +1087,6 @@ static void dump_synth_functions(STATE* s, output_streams& oss) synth_functions_states = build_synth_functions_state(s); bool needs_fixed_point = s->loop_required; - // Module-wide loop needed only when a cycle closes through a fiber/shared - // collection; inherited cycles converge locally at their productions. - module_needs_global_loop = needs_fixed_point && module_has_fiber_cycle(synth_functions_states); - for (auto state_it = synth_functions_states.begin(); state_it != synth_functions_states.end(); state_it++) { SYNTH_FUNCTION_STATE* synth_functions_state = *state_it; current_synth_functions_state = synth_functions_state; @@ -1252,14 +1239,13 @@ static void dump_synth_functions(STATE* s, output_streams& oss) // above); everywhere else we compute once and report changes via `changed`. // We do NOT emit a per-attribute do/while for them: the LHS self-edge marks // them circular at every production, so looping at each one nests loops down - // the tree -> exponential in depth (Farrow 1986 sec.4: loop at the closure - // only). Fiber/shared cycles aren't local to a production, so they loop here. + // the tree -> exponential in depth. Fiber/shared cycles aren't local to a production, so they loop here. bool dump_fixed_point_loop = synth_functions_state->is_fiber_evaluation && declared_is_circular && !instance_is_pure_shared_info(synth_functions_state->source); string node_get = ATTR_DECL_IS_SHARED_INFO(synth_functions_state->source->fibered_attr.attr) ? "" : "node"; string node_assign = ATTR_DECL_IS_SHARED_INFO(synth_functions_state->source->fibered_attr.attr) ? "" : "node, "; // Converge any child cycle that closes here before computing this value, so - // the cached body below reads settled values. Replaces a whole-program loop. + // the cached body below reads settled values. This trick replaces a whole-program fixed-point loop. if (!synth_functions_state->is_fiber_evaluation) { std::vector child_cycle_instances = collect_child_cycle_instances(aug_graph); for (auto it2 = child_cycle_instances.begin(); it2 != child_cycle_instances.end(); it2++) { @@ -1413,6 +1399,7 @@ static void dump_synth_functions(STATE* s, output_streams& oss) } } + // TODO: "result" variable needs to be a constant string variable at the beginning of the file. if (!synth_functions_state->is_fiber_evaluation) { os << indent() << "result\n"; } @@ -1464,7 +1451,7 @@ class SynthImpl : public SynthImplementation { dump_synth_functions(s, oss); // same flag dump_synth_functions uses to gate the implicit params, so finish() - // brings the matching implicits into scope for the eval calls below + // brings the matching implicit into scope for the eval calls below bool needs_fixed_point = s->loop_required; // Implement finish routine: @@ -1484,17 +1471,6 @@ class SynthImpl : public SynthImplementation { PHY_GRAPH* start_phy_graph = summary_graph_for(s, s->start_phylum); if (needs_fixed_point) { - // Demand each root once with caching on (isInsideFixedPoint = false). - // Inherited cycles converged at their productions; fiber/shared cycles - // converge via the per-production loops inside their *_sharedinfo_* evals, - // so one cached pass reaches the fixed point for every grammar we handle. - // - // A module-wide do/while (caching off, re-traverse until `changed` stays - // false) would cover cycles whose state is purely module-global, but it - // disables caching across the whole traversal -> re-descends the tree - // uncached every round -> super-linear, non-terminating at depth ~10. No - // grammar needs it. If one ever does, iterate only the circular collection, - // not the whole tree. os << indent() << "implicit val changed: AtomicBoolean = new AtomicBoolean(false);\n"; os << indent() << "implicit val " << LOOP_VAR << ": Boolean = false;\n"; } @@ -1513,8 +1489,6 @@ class SynthImpl : public SynthImplementation { --nesting_level; os << indent() << "}\n"; - (void)module_needs_global_loop; - #ifdef APS2SCALA os << indent() << "super.finish();\n"; #endif /* ! APS2SCALA */ @@ -1649,6 +1623,8 @@ static vector > make_instance_assignment() { fatal_error("bad index [collection_assign] for instance"); } + // TODO: anything we can learn from this PR: + // https://github.com/boyland/aps/pull/166 if (step == 1 && is_outermost) { array[in->index].clear(); } else if (step == 2) { @@ -1891,6 +1867,7 @@ void dump_rhs_instance_helper(AUG_GRAPH* aug_graph, BlockItem* item, INSTANCE* i } return; } + // TODO: do not use non ASCII characters like — // valid_rhs is empty (all NULL defaults) — fall through to default handling } @@ -2134,7 +2111,7 @@ bool try_dump_funcall(Expression e, ostream& o) override { return true; } fatal_error("failed to find instance"); - return false; // unreachable + return false; } void dump_synth_instance(INSTANCE* instance, ostream& o) { diff --git a/examples/nested-ubd.aps b/examples/nested-ubd.aps index 17bf8b45..f0264cac 100644 --- a/examples/nested-ubd.aps +++ b/examples/nested-ubd.aps @@ -25,7 +25,7 @@ module NESTED_UBD[T :: var NESTED_UBD_TREE[]] extends T begin pragma inherited(decls_env); pragma synthesized(decls_defs, decls_errs); - circular attribute Block.block_env : DeclPairLattice; + attribute Block.block_env : DeclPairLattice; attribute Block.block_errs : Messages; pragma inherited (block_env); pragma synthesized (block_errs); From beee561d8abf01968b1847e58ad1d7509a6df89d Mon Sep 17 00:00:00 2001 From: Amir Date: Mon, 22 Jun 2026 11:47:03 -0500 Subject: [PATCH 24/52] WIP --- codegen/synth-impl.cc | 37 ++++------------------------------ examples/local-fiber-cycle.aps | 2 ++ 2 files changed, 6 insertions(+), 33 deletions(-) diff --git a/codegen/synth-impl.cc b/codegen/synth-impl.cc index 921e4b01..678b6c09 100644 --- a/codegen/synth-impl.cc +++ b/codegen/synth-impl.cc @@ -974,39 +974,6 @@ static std::vector collect_child_cycle_instances(AUG_GRAPH* aug_graph return result; } -// True if a cycle closes through a fiber/shared-global collection rather than a -// child's inherited attribute -- i.e. no local child instance can close it. -static bool module_has_fiber_cycle(const std::vector& states) { - for (auto it = states.begin(); it != states.end(); it++) { - SYNTH_FUNCTION_STATE* st = *it; - if (!st->is_fiber_evaluation) continue; - if (instance_is_pure_shared_info(st->source) && st->is_phylum_instance) { - // pure shared-info has no fixed-point loop of its own; skip - continue; - } - for (auto ag = st->aug_graphs.begin(); ag != st->aug_graphs.end(); ag++) { - AUG_GRAPH* aug_graph = *ag; - INSTANCE* inst = NULL; - if (st->is_phylum_instance) { - if (!find_instance(aug_graph, aug_graph->lhs_decl, st->source->fibered_attr, &inst)) { - continue; - } - } else { - inst = st->source; - } - if (!instance_circular(inst)) continue; - - // A local child instance closes this cycle at its production, so no - // module-wide loop is needed. Count it as a fiber cycle only when none does. - std::vector child_cycle_instances = collect_child_cycle_instances(aug_graph); - if (child_cycle_instances.empty()) { - return true; - } - } - } - return false; -} - // Emits the two implicits every fixed-point loop body opens with: isInsideFixedPoint // (disables caching) and `changed` bound to this loop's convergence flag. static void emit_loop_implicits(ostream& os, const string& flag) { @@ -1066,6 +1033,10 @@ collect_object_field_assignments(AUG_GRAPH* aug_graph, Declaration obj_decl) { return result; } +// TODO: if we are in our independent cycle, then we shouldn't blindly say don't run your own do-while +// loop because your parent is in a do-while loop. +// if you are in an independent cycle, then you should get your own do-while loop +// See, if it's related, local-cycle inside a local-cycle may be a proble. #ifdef APS2SCALA static void dump_synth_functions(STATE* s, ostream& os) #else /* APS2SCALA */ diff --git a/examples/local-fiber-cycle.aps b/examples/local-fiber-cycle.aps index 97f78271..3af92fb8 100644 --- a/examples/local-fiber-cycle.aps +++ b/examples/local-fiber-cycle.aps @@ -23,6 +23,8 @@ module LOCAL_FIBER_CYCLE[T :: var TINY[]] extends T begin w.scope := c; end; + -- TODO: create an example of local cycle, inside a local cycle + -- more complicated examples match ?this=branch(?w1,?w2) begin this.syn := w1.syn + w2.syn; c1 : Context := context(scope_depth(this.scope)); From 31d755bdea0ac03f81fcae2823a5b07f4ec547a9 Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Mon, 29 Jun 2026 06:22:46 +0000 Subject: [PATCH 25/52] Updated the code to allow local cycles --- codegen/synth-impl.cc | 233 ++++++++++++++++++++++++++++-------------- 1 file changed, 158 insertions(+), 75 deletions(-) diff --git a/codegen/synth-impl.cc b/codegen/synth-impl.cc index 678b6c09..1e62db47 100644 --- a/codegen/synth-impl.cc +++ b/codegen/synth-impl.cc @@ -41,6 +41,7 @@ static SYNTH_FUNCTION_STATE* current_synth_functions_state = NULL; static const string LOOP_VAR = "isInsideFixedPoint"; static const string PREV_LOOP_VAR = "prevIsInsideFixedPoint"; +static const string RESULT_VAR_PREFIX = "result"; static SynthImplementation* synth_impl_ptr; @@ -290,7 +291,8 @@ static BlockItem* linearize_block(AUG_GRAPH* aug_graph, INSTANCE* aug_graph_inst // map each instance to its cycle group so the schedule can skip same-group edges std::vector > groups = direct_cycle_groups(aug_graph); - // TODO: std::vector component_of(n, -1) is hacky, do something cleaner here + // -1 = singleton (not part of any multi-node cycle), so the + // same-group check in the scheduler won't match anything. std::vector component_of(n, -1); for (size_t g = 0; g < groups.size(); g++) { for (auto it = groups[g].begin(); it != groups[g].end(); it++) { @@ -926,11 +928,21 @@ static bool synth_function_is_circular(SYNTH_FUNCTION_STATE* st) { return false; } -// A synthesized, circular, non-fiber attribute on a child node -- a candidate -// whose local iteration can converge a cycle. -static bool is_cycle_closing_candidate(INSTANCE* instance, AUG_GRAPH* aug_graph) { - // TODO: create a function instance_is_child and instance_is_parent and use it instead - bool on_child_node = instance->node != NULL && instance->node != aug_graph->lhs_decl; +static bool instance_is_child(INSTANCE* instance, AUG_GRAPH* aug_graph) { + return instance->node != NULL && instance->node != aug_graph->lhs_decl; +} + +static bool instance_is_parent(INSTANCE* instance, AUG_GRAPH* aug_graph) { + return instance->node != NULL && instance->node == aug_graph->lhs_decl; +} + +// Can this instance participate in a local cycle? +// Must be: on a child node, synthesized, circular, non-fiber, not an if-rule. +// +// Example: in `match ?self:Block = scope(?ds:Declarations)`, ds.decls_defs +// passes this check if it is declared circular. +static bool is_local_cycle_candidate(INSTANCE* instance, AUG_GRAPH* aug_graph) { + bool on_child_node = instance_is_child(instance, aug_graph); return on_child_node && instance->fibered_attr.fiber == NULL && !if_rule_p(instance->fibered_attr.attr) && @@ -938,9 +950,12 @@ static bool is_cycle_closing_candidate(INSTANCE* instance, AUG_GRAPH* aug_graph) instance_circular(instance); } -// True if `inherited` is the inherited circular attribute on the same child node -// that `instance` directly feeds -- the edge that closes the cycle here. -static bool closes_cycle_with(INSTANCE* inherited, INSTANCE* instance, AUG_GRAPH* aug_graph) { +// Is `inherited` in the same cycle as `instance`? +// Same child node, inherited direction, circular, and `instance` feeds it directly. +// +// Pattern: child.synth -> parent -> child.inherited -> child.synth (loop) +// If we find this pair we can iterate locally at this production. +static bool is_in_same_cycle(INSTANCE* inherited, INSTANCE* instance, AUG_GRAPH* aug_graph) { int n = aug_graph->instances.length; bool instance_feeds_inherited = edgeset_kind(aug_graph->graph[instance->index * n + inherited->index]) & DEPENDENCY_MAYBE_DIRECT; @@ -952,20 +967,59 @@ static bool closes_cycle_with(INSTANCE* inherited, INSTANCE* instance, AUG_GRAPH instance_feeds_inherited; } -// Child attributes that close a cycle at this production. A synthesized circular -// child instance that directly feeds its own inherited circular attribute closes -// the cycle here, so we can iterate it to a fixed point locally instead of -// program-wide. Productions that only forward an inherited attribute are skipped. +// Check if child cycle has no connection to any fiber/shared-info cycle. +// If no edge exists (both directions) between child cycle and fiber instances, +// then it is independent. aug_graph edges are transitive so one check is enough. +static bool is_child_cycle_independent(AUG_GRAPH* aug_graph, INSTANCE* cycle_instance) { + int n = aug_graph->instances.length; + + // collect instances in this child cycle (synth instance + inherited it feeds) + std::vector child_cycle_indices; + child_cycle_indices.push_back(cycle_instance->index); + for (int i = 0; i < n; i++) { + INSTANCE* inst = &aug_graph->instances.array[i]; + if (is_in_same_cycle(inst, cycle_instance, aug_graph)) { + child_cycle_indices.push_back(inst->index); + } + } + + // if any fiber/shared-info circular instance has edge to/from our cycle, + // then they are related -> not independent + for (int i = 0; i < n; i++) { + INSTANCE* inst = &aug_graph->instances.array[i]; + // Only consider fiber or shared-info instances that are circular + if (inst->fibered_attr.fiber == NULL && !ATTR_DECL_IS_SHARED_INFO(inst->fibered_attr.attr)) { + continue; + } + if (!instance_circular(inst)) { + continue; + } + for (size_t k = 0; k < child_cycle_indices.size(); k++) { + int idx = child_cycle_indices[k]; + if (edgeset_kind(aug_graph->graph[i * n + idx]) || + edgeset_kind(aug_graph->graph[idx * n + i])) { + return false; // related to a fiber/shared-info cycle + } + } + } + + return true; +} + +// Find child instances that have a cycle at this production. +// A synth circular child that feeds its own inherited circular attr = local cycle. static std::vector collect_child_cycle_instances(AUG_GRAPH* aug_graph) { std::vector result; int n = aug_graph->instances.length; - for (int index = 0; index < n; index++) { - INSTANCE* instance = &aug_graph->instances.array[index]; - if (!is_cycle_closing_candidate(instance, aug_graph)) continue; + for (int i = 0; i < n; i++) { + INSTANCE* instance = &aug_graph->instances.array[i]; + if (!is_local_cycle_candidate(instance, aug_graph)) { + continue; + } - for (int inner_index = 0; inner_index < n; inner_index++) { - INSTANCE* inherited = &aug_graph->instances.array[inner_index]; - if (closes_cycle_with(inherited, instance, aug_graph)) { + for (int j = 0; j < n; j++) { + INSTANCE* inherited = &aug_graph->instances.array[j]; + if (is_in_same_cycle(inherited, instance, aug_graph)) { result.push_back(instance); break; } @@ -981,12 +1035,18 @@ static void emit_loop_implicits(ostream& os, const string& flag) { os << indent() << "implicit val changed: AtomicBoolean = " << flag << ";\n"; } -// Emits a local fixed-point loop +// Emit a local while-loop. If is_independent, no isInsideFixedPoint guard +// because independent cycles need their own loop always. static void emit_local_fixed_point_loop(ostream& os, const string& flag, - const std::function& emit_body) { - os << indent() << "if (!" << LOOP_VAR << ") {\n"; - ++nesting_level; + const std::function& emit_body, + bool is_independent = false) { + if (is_independent) { + os << indent() << "// Independent cycle: always converge locally\n"; + } else { + os << indent() << "if (!" << LOOP_VAR << ") {\n"; + ++nesting_level; + } os << indent() << "val " << flag << " = new AtomicBoolean(true);\n"; os << indent() << "while (" << flag << ".get) {\n"; ++nesting_level; @@ -995,8 +1055,10 @@ static void emit_local_fixed_point_loop(ostream& os, emit_body(); --nesting_level; os << indent() << "}\n"; - --nesting_level; - os << indent() << "}\n"; + if (!is_independent) { + --nesting_level; + os << indent() << "}\n"; + } } // Collects the field assignments of a locally-built object, e.g. for @@ -1015,15 +1077,24 @@ collect_object_field_assignments(AUG_GRAPH* aug_graph, Declaration obj_decl) { std::vector result; Block body = matcher_body(top_level_match_m(aug_graph->match_rule)); for (Declaration d = first_Declaration(block_body(body)); d; d = DECL_NEXT(d)) { - // TODO: make sure all IF statements have curly braces - if (Declaration_KEY(d) != KEYnormal_assign) continue; + if (Declaration_KEY(d) != KEYnormal_assign) { + continue; + } Expression lhs = assign_lhs(d); - if (Expression_KEY(lhs) != KEYfuncall) continue; + if (Expression_KEY(lhs) != KEYfuncall) { + continue; + } Declaration field = field_ref_p(lhs); - if (field == 0) continue; + if (field == 0) { + continue; + } Expression obj = field_ref_object(lhs); - if (Expression_KEY(obj) != KEYvalue_use) continue; - if (USE_DECL(value_use_use(obj)) != obj_decl) continue; + if (Expression_KEY(obj) != KEYvalue_use) { + continue; + } + if (USE_DECL(value_use_use(obj)) != obj_decl) { + continue; + } ObjectFieldAssign fa; fa.field = field; fa.rhs = assign_rhs(d); @@ -1033,10 +1104,6 @@ collect_object_field_assignments(AUG_GRAPH* aug_graph, Declaration obj_decl) { return result; } -// TODO: if we are in our independent cycle, then we shouldn't blindly say don't run your own do-while -// loop because your parent is in a do-while loop. -// if you are in an independent cycle, then you should get your own do-while loop -// See, if it's related, local-cycle inside a local-cycle may be a proble. #ifdef APS2SCALA static void dump_synth_functions(STATE* s, ostream& os) #else /* APS2SCALA */ @@ -1062,6 +1129,9 @@ static void dump_synth_functions(STATE* s, output_streams& oss) SYNTH_FUNCTION_STATE* synth_functions_state = *state_it; current_synth_functions_state = synth_functions_state; + // result var has instance index suffix so each function has unique name + string result_var = RESULT_VAR_PREFIX + std::to_string(synth_functions_state->source->index); + if (include_comments) { os << indent() << "// " << synth_functions_state->source << " (" << (synth_functions_state->is_phylum_instance ? "phylum" : "aug-graph") << ")\n"; @@ -1156,7 +1226,7 @@ static void dump_synth_functions(STATE* s, output_streams& oss) if (synth_functions_state->is_fiber_evaluation) { os << indent() << "node match {\n"; } else { - os << indent() << "val result = node match {\n"; + os << indent() << "val " << result_var << " = node match {\n"; } nesting_level++; @@ -1206,32 +1276,27 @@ static void dump_synth_functions(STATE* s, output_streams& oss) aps_warning(aug_graph_instance->node, "Instance %s depends on itself but is not declared circular", instance_to_string(aug_graph_instance).c_str()); } - // Non-fiber cycles loop at the closing child (collect_child_cycle_instances, - // above); everywhere else we compute once and report changes via `changed`. - // We do NOT emit a per-attribute do/while for them: the LHS self-edge marks - // them circular at every production, so looping at each one nests loops down - // the tree -> exponential in depth. Fiber/shared cycles aren't local to a production, so they loop here. + // Non-fiber cycles: we iterate at the child level (collect_child_cycle_instances). + // We do NOT emit per-attribute do/while because that would nest loops + // down the tree and become exponential. Fiber cycles are different, they loop here. bool dump_fixed_point_loop = synth_functions_state->is_fiber_evaluation && declared_is_circular && !instance_is_pure_shared_info(synth_functions_state->source); string node_get = ATTR_DECL_IS_SHARED_INFO(synth_functions_state->source->fibered_attr.attr) ? "" : "node"; string node_assign = ATTR_DECL_IS_SHARED_INFO(synth_functions_state->source->fibered_attr.attr) ? "" : "node, "; - // Converge any child cycle that closes here before computing this value, so - // the cached body below reads settled values. This trick replaces a whole-program fixed-point loop. + // converge child cycles first, so the value below sees stable results if (!synth_functions_state->is_fiber_evaluation) { std::vector child_cycle_instances = collect_child_cycle_instances(aug_graph); for (auto it2 = child_cycle_instances.begin(); it2 != child_cycle_instances.end(); it2++) { INSTANCE* cycle_instance = *it2; - // Skipped when already inside an outer fixed point (see helper): nesting - // a do/while per scope would re-converge this child every outer pass, - // which is exponential in nesting depth. The outer loop revisits this - // production each round; here we just do one step and report via `changed`. + // independent = always loop, related = skip if already in outer loop + bool independent = is_child_cycle_independent(aug_graph, cycle_instance); emit_local_fixed_point_loop(os, "localChanged", [&] { dumped_conditional_block_items.clear(); dumped_instances.clear(); os << indent(); synth_impl_ptr->dump_synth_instance(cycle_instance, os); os << ";\n"; - }); + }, /* is_independent= */independent); } dumped_conditional_block_items.clear(); dumped_instances.clear(); @@ -1317,9 +1382,9 @@ static void dump_synth_functions(STATE* s, output_streams& oss) os << indent() << "evaluated_map_" << synth_functions_state->fdecl_name << ".update(node.nodeNumber, true);\n"; } else { if (source_circular) { - os << indent() << instance_to_attr(synth_functions_state->source) << ".assign(node, result, changed);\n"; + os << indent() << instance_to_attr(synth_functions_state->source) << ".assign(node, " << result_var << ", changed);\n"; } else { - os << indent() << instance_to_attr(synth_functions_state->source) << ".assign(node, result);\n"; + os << indent() << instance_to_attr(synth_functions_state->source) << ".assign(node, " << result_var << ");\n"; } os << indent() << instance_to_attr(synth_functions_state->source) << ".get(node);\n"; } @@ -1336,7 +1401,9 @@ static void dump_synth_functions(STATE* s, output_streams& oss) AUG_GRAPH* aug_graph = *ag_it; std::vector field_assigns = collect_object_field_assignments(aug_graph, obj_decl); - if (field_assigns.empty()) continue; + if (field_assigns.empty()) { + continue; + } current_aug_graph = aug_graph; current_blocks.clear(); @@ -1349,14 +1416,20 @@ static void dump_synth_functions(STATE* s, output_streams& oss) for (auto fa = field_assigns.begin(); fa != field_assigns.end(); fa++) { // skip a bare alias of a parent attr (e.g. newEnv.outer := self.block_env): // FiberDependencyDumper handles those and the parent attr isn't in scope here - if (fa->instance == NULL) continue; + if (fa->instance == NULL) { + continue; + } // linearize for this field's instance so its rhs dependencies resolve current_scope_block = linearize_block(aug_graph, fa->instance); dumped_conditional_block_items.clear(); dumped_instances.clear(); os << indent() << "a_" << decl_name(fa->field) << DEREF; - if (debug) os << "assign"; else os << "set"; - os << "(result, " << fa->rhs << ");\n"; + if (debug) { + os << "assign"; + } else { + os << "set"; + } + os << "(" << result_var << ", " << fa->rhs << ");\n"; } nesting_level--; os << indent() << "}\n"; @@ -1370,9 +1443,8 @@ static void dump_synth_functions(STATE* s, output_streams& oss) } } - // TODO: "result" variable needs to be a constant string variable at the beginning of the file. if (!synth_functions_state->is_fiber_evaluation) { - os << indent() << "result\n"; + os << indent() << result_var << "\n"; } nesting_level--; @@ -1451,8 +1523,9 @@ class SynthImpl : public SynthImplementation { for (i = 0; i < start_phy_graph->instances.length; i++) { INSTANCE* in = &start_phy_graph->instances.array[i]; - if (!instance_is_synthesized(in)) + if (!instance_is_synthesized(in)) { continue; + } string eval_name = instance_to_string_with_nodetype(s->start_phylum, &start_phy_graph->instances.array[i]); os << indent() << "eval_" << eval_name << "(root);\n"; @@ -1642,10 +1715,11 @@ void dump_assignment(INSTANCE* in, Expression rhs, ostream& o) { field = USE_DECL(value_use_use(lhs)); #ifdef APS2SCALA o << "a_" << decl_name(field) << "."; - if (debug) + if (debug) { o << "assign"; - else + } else { o << "set"; + } o << "(" << rhs; if (tracking_fiber_convergence) { o << ", changed"; @@ -1666,13 +1740,15 @@ void dump_assignment(INSTANCE* in, Expression rhs, ostream& o) { break; case KEYfuncall: field = field_ref_p(lhs); - if (field == 0) + if (field == 0) { fatal_error("what sort of assignment lhs: %d", tnode_line_number(assign)); + } o << "a_" << decl_name(field) << DEREF; - if (debug) + if (debug) { o << "assign"; - else + } else { o << "set"; + } o << "(" << field_ref_object(lhs) << "," << rhs; if (tracking_fiber_convergence) { o << ", changed"; @@ -1689,10 +1765,11 @@ void dump_assignment(INSTANCE* in, Expression rhs, ostream& o) { if (rhs) { if (Declaration_info(ad)->decl_flags & LOCAL_ATTRIBUTE_FLAG) { o << "a" << LOCAL_UNIQUE_PREFIX(ad) << "_" << asym << DEREF; - if (debug) + if (debug) { o << "assign"; - else + } else { o << "set"; + } o << "(anchor," << rhs << ");\n"; } else { int i = LOCAL_UNIQUE_PREFIX(ad); @@ -1740,17 +1817,19 @@ void dump_assignment(INSTANCE* in, Expression rhs, ostream& o) { o << "v_" << asym << " = somehow_combine(v_" << asym << "," << rhs << ");\n"; } else { int i = LOCAL_UNIQUE_PREFIX(ad); - if (i == 0) + if (i == 0) { o << "v_" << asym << " = " << rhs << "; // function\n"; - else + } else { o << "v" << i << "_" << asym << " = " << rhs << ";\n"; + } } } else { o << "a_" << asym << DEREF; - if (debug) + if (debug) { o << "assign"; - else + } else { o << "set"; + } o << "(v_" << decl_name(in->node) << "," << rhs << ");\n"; } } else { @@ -1766,10 +1845,11 @@ void dump_assignment(INSTANCE* in, Expression rhs, ostream& o) { if (rhs) { // assigning field of object o << "a_" << asym << DEREF; - if (debug) + if (debug) { o << "assign"; - else + } else { o << "set"; + } o << "(v_" << decl_name(in->node) << "," << rhs << ");\n"; } else { if (include_comments) { @@ -1804,7 +1884,9 @@ void dump_rhs_instance_helper(AUG_GRAPH* aug_graph, BlockItem* item, INSTANCE* i // Filter out NULLs first vector valid_rhs; for (auto it = relevant_assignments.begin(); it != relevant_assignments.end(); it++) { - if (*it != NULL) valid_rhs.push_back(*it); + if (*it != NULL) { + valid_rhs.push_back(*it); + } } if (!valid_rhs.empty()) { @@ -1838,8 +1920,7 @@ void dump_rhs_instance_helper(AUG_GRAPH* aug_graph, BlockItem* item, INSTANCE* i } return; } - // TODO: do not use non ASCII characters like — - // valid_rhs is empty (all NULL defaults) — fall through to default handling + // valid_rhs is empty (all NULL defaults) -- fall through to default handling } if (instance->fibered_attr.fiber != NULL) { @@ -2073,7 +2154,9 @@ bool try_dump_funcall(Expression e, ostream& o) override { } Declaration attr = attr_ref_p(e); - if (attr == nullptr) return false; + if (attr == nullptr) { + return false; + } Declaration node = USE_DECL(value_use_use(first_Actual(funcall_actuals(e)))); FIBERED_ATTRIBUTE fiber_attr = {attr, NULL}; INSTANCE* instance; @@ -2097,7 +2180,7 @@ void dump_synth_instance(INSTANCE* instance, ostream& o) { BlockItem* block = find_surrounding_block(current_scope_block, instance); Declaration node = instance->node; - bool is_parent_instance = current_aug_graph->lhs_decl == instance->node; + bool is_parent_instance = instance_is_parent(instance, current_aug_graph); bool is_synthesized = instance_is_synthesized(instance); bool is_inherited = instance_is_inherited(instance); From cae11c20a6311ca9033b73dfcb1bada233405554 Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Sun, 2 Aug 2026 16:33:38 -0500 Subject: [PATCH 26/52] synth run --- examples/scala/Makefile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/examples/scala/Makefile b/examples/scala/Makefile index b3cd7555..b531b017 100644 --- a/examples/scala/Makefile +++ b/examples/scala/Makefile @@ -89,6 +89,10 @@ phony_explicit: ${APS2SCALA} ${APS2SCALAFLAGS} -S -C $* mv $*.scala $@ +%.synth.scala : ../%.aps ${APS2SCALA} + ${APS2SCALA} ${APS2SCALAFLAGS} -F $* + mv $*.scala $@ + %.scala : ../%.aps ${APS2SCALA} ${APS2SCALA} ${APS2SCALAFLAGS} $* From 5bc4a1f0c6b6c508e8d1c7d26020b6f152b2345a Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Mon, 3 Aug 2026 01:20:28 +0000 Subject: [PATCH 27/52] speed improvements --- codegen/synth-impl.cc | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/codegen/synth-impl.cc b/codegen/synth-impl.cc index 1e62db47..69341bf7 100644 --- a/codegen/synth-impl.cc +++ b/codegen/synth-impl.cc @@ -1037,12 +1037,22 @@ static void emit_loop_implicits(ostream& os, const string& flag) { // Emit a local while-loop. If is_independent, no isInsideFixedPoint guard // because independent cycles need their own loop always. +// cycle_instance (optional): when provided for independent cycles, emits a guard +// that skips the loop if the child has already converged (ASSIGNED). static void emit_local_fixed_point_loop(ostream& os, const string& flag, const std::function& emit_body, - bool is_independent = false) { + bool is_independent = false, + INSTANCE* cycle_instance = NULL) { if (is_independent) { os << indent() << "// Independent cycle: always converge locally\n"; + if (cycle_instance != NULL && cycle_instance->node != NULL) { + // Skip the loop if this child cycle already converged + os << indent() << "if (" << instance_to_attr(cycle_instance) + << ".checkNode(v_" << decl_name(cycle_instance->node) + << ").status != Evaluation.ASSIGNED) {\n"; + ++nesting_level; + } } else { os << indent() << "if (!" << LOOP_VAR << ") {\n"; ++nesting_level; @@ -1055,7 +1065,12 @@ static void emit_local_fixed_point_loop(ostream& os, emit_body(); --nesting_level; os << indent() << "}\n"; - if (!is_independent) { + if (is_independent) { + if (cycle_instance != NULL && cycle_instance->node != NULL) { + --nesting_level; + os << indent() << "}\n"; + } + } else { --nesting_level; os << indent() << "}\n"; } @@ -1296,7 +1311,7 @@ static void dump_synth_functions(STATE* s, output_streams& oss) os << indent(); synth_impl_ptr->dump_synth_instance(cycle_instance, os); os << ";\n"; - }, /* is_independent= */independent); + }, /* is_independent= */independent, /* cycle_instance= */independent ? cycle_instance : NULL); } dumped_conditional_block_items.clear(); dumped_instances.clear(); From 0709d4da6fe25390c18c0efa4085f524ca6bf167 Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Mon, 3 Aug 2026 01:50:01 +0000 Subject: [PATCH 28/52] Fix the build failing --- examples/scala/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/scala/Makefile b/examples/scala/Makefile index b531b017..227815e7 100644 --- a/examples/scala/Makefile +++ b/examples/scala/Makefile @@ -87,11 +87,11 @@ phony_explicit: %.static.scala : ../%.aps ${APS2SCALA} ${APS2SCALA} ${APS2SCALAFLAGS} -S -C $* - mv $*.scala $@ + cp $*.scala $@ %.synth.scala : ../%.aps ${APS2SCALA} ${APS2SCALA} ${APS2SCALAFLAGS} -F $* - mv $*.scala $@ + cp $*.scala $@ %.scala : ../%.aps ${APS2SCALA} ${APS2SCALA} ${APS2SCALAFLAGS} $* From 1c80055397fbd3ee7373fc96f96ec8cc4f963f08 Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Mon, 3 Aug 2026 02:00:24 +0000 Subject: [PATCH 29/52] top-level-match doesn't have an implicit node, build will pass now --- codegen/synth-impl.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/codegen/synth-impl.cc b/codegen/synth-impl.cc index 69341bf7..5a5fbf86 100644 --- a/codegen/synth-impl.cc +++ b/codegen/synth-impl.cc @@ -2154,6 +2154,8 @@ bool try_dump_funcall(Expression e, ostream& o) override { Type return_type = value_decl_type(retdecl); Declaration tdecl = USE_DECL(type_use_use(return_type)); if (Declaration_KEY(tdecl) == KEYphylum_decl) { + Declaration tplm; + bool inside_match = check_surrounding_decl(e, KEYtop_level_match, &tplm); dump_Expression(fexpr, o); o << "("; bool start = true; @@ -2161,7 +2163,7 @@ bool try_dump_funcall(Expression e, ostream& o) override { if (start) start = false; else o << ",\n"; dump_Expression(arg, o)); if (first_Actual(funcall_actuals(e)) != NULL) o << ", "; - o << "node)"; + o << (inside_match ? "node" : "null") << ")"; return true; } } From a1cdee7aa1c25a699a0ebb1175b90efd1c62acb1 Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Sun, 9 Aug 2026 15:10:48 -0500 Subject: [PATCH 30/52] unnessary change --- examples/local-fiber-cycle.aps | 2 -- 1 file changed, 2 deletions(-) diff --git a/examples/local-fiber-cycle.aps b/examples/local-fiber-cycle.aps index 3af92fb8..97f78271 100644 --- a/examples/local-fiber-cycle.aps +++ b/examples/local-fiber-cycle.aps @@ -23,8 +23,6 @@ module LOCAL_FIBER_CYCLE[T :: var TINY[]] extends T begin w.scope := c; end; - -- TODO: create an example of local cycle, inside a local cycle - -- more complicated examples match ?this=branch(?w1,?w2) begin this.syn := w1.syn + w2.syn; c1 : Context := context(scope_depth(this.scope)); From e541071e47cf09c84710b5a65ce939430dd93f99 Mon Sep 17 00:00:00 2001 From: Seyedamirhossein Hesamian Date: Sun, 9 Aug 2026 15:19:52 -0500 Subject: [PATCH 31/52] Simplify/refactor examples/scala/Makefile --- examples/scala/Makefile | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/examples/scala/Makefile b/examples/scala/Makefile index eacfbd28..97756825 100644 --- a/examples/scala/Makefile +++ b/examples/scala/Makefile @@ -25,20 +25,20 @@ OUT_BASE = obj OUT = ${OUT_BASE}/${EVALUATOR} $(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 \ +AST_TREE_SCALAGEN = simple.scala tiny.scala grammar.scala \ farrow-lv-tree.scala farrow-ubd-tree.scala - -MISCGEN = nested-cycles.scala SimpleParser.scala SimpleScanner.scala \ +EVALUATOR_EXAMPLES = classic-binding first follow nullable test-coll \ + test-use-coll test-cycle test-fields use-global broad-fiber-cycle \ + below-fiber-cycle below-single-fiber-cycle local-fiber-cycle nested-cycles \ + farrow-lv farrow-ubd farrow-ubd-fiber nested-ubd nested-ubd-fiber +SCALAGEN = ${AST_TREE_SCALAGEN} \ + $(foreach example,${EVALUATOR_EXAMPLES},$(example).scala $(example).static.scala) + +MISCGEN = SimpleParser.scala SimpleScanner.scala \ GrammarTokens.scala SimpleTokens.scala GrammarScanner.scala GrammarParser.scala \ - FarrowLvTokens.scala FarrowLvTokens.scala FarrowLvScanner.scala FarrowLvParser.scala farrow-lv.scala \ - FarrowUbdTokens.scala FarrowUbdTokens.scala FarrowUbdScanner.scala FarrowUbdParser.scala farrow-ubd.scala \ - farrow-ubd-fiber.scala \ - NestedUbdTokens.scala NestedUbdScanner.scala NestedUbdParser.scala nested-ubd.scala \ - nested-ubd-fiber.scala nested-ubd-tree.scala \ + FarrowLvTokens.scala FarrowLvScanner.scala FarrowLvParser.scala \ + FarrowUbdTokens.scala FarrowUbdScanner.scala FarrowUbdParser.scala \ + NestedUbdTokens.scala NestedUbdScanner.scala NestedUbdParser.scala \ *.output *.lex *.y *.scala~ .PHONY: all clean phony_explicit @@ -74,7 +74,7 @@ phony_explicit: %.static.scala : ../%.aps ${APS2SCALA} ${APS2SCALA} ${APS2SCALAFLAGS} -S -C $* - mv $*.scala $@ + cp $*.scala $@ %.scala : ../%.aps ${APS2SCALA} ${APS2SCALA} ${APS2SCALAFLAGS} $* From 9a36a4fe95f8104730125ce0166e8513d7db9f1f Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Sun, 9 Aug 2026 16:28:40 -0500 Subject: [PATCH 32/52] Collect non-local dependencies of the field-assignment instances --- codegen/synth-impl.cc | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/codegen/synth-impl.cc b/codegen/synth-impl.cc index 5a5fbf86..ef30d0de 100644 --- a/codegen/synth-impl.cc +++ b/codegen/synth-impl.cc @@ -583,6 +583,35 @@ static bool should_skip_synth_dependency(INSTANCE* source_instance) { return false; } +// Collect non-local dependencies of the field-assignment instances +// belonging to the same local attribute, e.g. c.ptr1, c.ptr2 for local c. +static std::vector collect_field_assign_dependencies(AUG_GRAPH* aug_graph, + INSTANCE* owner_instance) { + std::vector result; + Declaration attr = owner_instance->fibered_attr.attr; + int n = aug_graph->instances.length; + + for (int k = 0; k < n; k++) { + INSTANCE* field_instance = &aug_graph->instances.array[k]; + if (field_instance->fibered_attr.attr != attr || + field_instance->fibered_attr.fiber == NULL || + field_instance->index == owner_instance->index) { + continue; + } + std::vector field_deps = collect_aug_graph_attr_dependencies(aug_graph, field_instance); + for (auto fd = field_deps.begin(); fd != field_deps.end(); fd++) { + if ((*fd)->index != owner_instance->index && + !should_skip_synth_dependency(*fd) && + instance_direction(*fd) != instance_local && + std::find(result.begin(), result.end(), *fd) == result.end()) { + result.push_back(*fd); + } + } + } + + return result; +} + static std::vector build_synth_functions_state(STATE* s) { std::vector synth_function_states; int i, j; @@ -659,6 +688,14 @@ static std::vector build_synth_functions_state(STATE* s) state->is_fiber_evaluation = is_fiber || is_shared_info; state->regular_dependencies = collect_aug_graph_attr_dependencies(aug_graph, instance); + std::vector field_deps = collect_field_assign_dependencies(aug_graph, instance); + for (auto fd = field_deps.begin(); fd != field_deps.end(); fd++) { + if (std::find(state->regular_dependencies.begin(), + state->regular_dependencies.end(), *fd) == state->regular_dependencies.end()) { + state->regular_dependencies.push_back(*fd); + } + } + vector aug_graphs; aug_graphs.push_back(aug_graph); state->aug_graphs = aug_graphs; From fc5fa450be41046b09360759302b438643aa1077 Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Sun, 9 Aug 2026 16:41:58 -0500 Subject: [PATCH 33/52] increase pipeline stack size --- .github/workflows/test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2d92d605..3708f60c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -64,6 +64,7 @@ jobs: - name: Sanity check run: | + ulimit -s unlimited cd examples/scala make From e05c81b7646927c84705b44a9529583f87d5b56a Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Sun, 9 Aug 2026 21:05:18 -0500 Subject: [PATCH 34/52] small fix up, revert --- .github/workflows/test.yml | 1 - codegen/synth-impl.cc | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3708f60c..2d92d605 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -64,7 +64,6 @@ jobs: - name: Sanity check run: | - ulimit -s unlimited cd examples/scala make diff --git a/codegen/synth-impl.cc b/codegen/synth-impl.cc index ef30d0de..39471afd 100644 --- a/codegen/synth-impl.cc +++ b/codegen/synth-impl.cc @@ -603,6 +603,7 @@ static std::vector collect_field_assign_dependencies(AUG_GRAPH* aug_g if ((*fd)->index != owner_instance->index && !should_skip_synth_dependency(*fd) && instance_direction(*fd) != instance_local && + !((*fd)->node != NULL && (*fd)->node != aug_graph->lhs_decl) && std::find(result.begin(), result.end(), *fd) == result.end()) { result.push_back(*fd); } @@ -2260,7 +2261,6 @@ void dump_synth_instance(INSTANCE* instance, ostream& o) { if (is_parent_instance) { o << "v_" << instance_to_string(instance, false, current_synth_functions_state->is_phylum_instance); } else { - // we need to find the assignment and dump the RHS recursive call dump_rhs_instance_helper(aug_graph, block, instance, o); } } else if (is_synthesized) { From d2aad1df83e193b9fd556fc94a07bd8fc11385b6 Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Mon, 10 Aug 2026 04:09:00 +0000 Subject: [PATCH 35/52] small optimization --- utilities/scc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utilities/scc.c b/utilities/scc.c index 3a339f5c..e3cc20fd 100644 --- a/utilities/scc.c +++ b/utilities/scc.c @@ -302,7 +302,7 @@ SCC_COMPONENTS* scc_graph_components(SccGraph* graph) { } while (changed); if (count_transitive_edges_added > 0) { - printf( + fprintf(stderr, "Graph provided to SCC utility has not gone through " "transitive closure (%d new transitive edges have been added)\n", count_transitive_edges_added); From a7ee1e77b4911ab2fc4d9f674904095461d10078 Mon Sep 17 00:00:00 2001 From: Seyedamirhossein Hesamian Date: Sun, 9 Aug 2026 23:21:14 -0500 Subject: [PATCH 36/52] Update Makefile --- examples/scala/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/scala/Makefile b/examples/scala/Makefile index 97756825..e77765be 100644 --- a/examples/scala/Makefile +++ b/examples/scala/Makefile @@ -74,7 +74,7 @@ phony_explicit: %.static.scala : ../%.aps ${APS2SCALA} ${APS2SCALA} ${APS2SCALAFLAGS} -S -C $* - cp $*.scala $@ + mv $*.scala $@ %.scala : ../%.aps ${APS2SCALA} ${APS2SCALA} ${APS2SCALAFLAGS} $* From 52373029b187bba3953b0dc008756726c198337f Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Mon, 10 Aug 2026 04:24:16 +0000 Subject: [PATCH 37/52] testing --- examples/scala/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/scala/Makefile b/examples/scala/Makefile index bf2a4b5e..42f96de7 100644 --- a/examples/scala/Makefile +++ b/examples/scala/Makefile @@ -89,11 +89,11 @@ phony_explicit: %.static.scala : ../%.aps ${APS2SCALA} ${APS2SCALA} ${APS2SCALAFLAGS} -S -C $* - cp $*.scala $@ + mv $*.scala $@ %.synth.scala : ../%.aps ${APS2SCALA} ${APS2SCALA} ${APS2SCALAFLAGS} -F $* - cp $*.scala $@ + mv $*.scala $@ %.scala : ../%.aps ${APS2SCALA} ${APS2SCALA} ${APS2SCALAFLAGS} $* From 8f4b371a7390abe443641c77bb71b5163fea960b Mon Sep 17 00:00:00 2001 From: Seyedamirhossein Hesamian Date: Mon, 10 Aug 2026 00:51:56 -0500 Subject: [PATCH 38/52] Update scc.c --- utilities/scc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utilities/scc.c b/utilities/scc.c index 3a339f5c..e3cc20fd 100644 --- a/utilities/scc.c +++ b/utilities/scc.c @@ -302,7 +302,7 @@ SCC_COMPONENTS* scc_graph_components(SccGraph* graph) { } while (changed); if (count_transitive_edges_added > 0) { - printf( + fprintf(stderr, "Graph provided to SCC utility has not gone through " "transitive closure (%d new transitive edges have been added)\n", count_transitive_edges_added); From df7e9ee0da809d61cffc1eb20100a182e3daad0a Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Mon, 10 Aug 2026 05:55:34 +0000 Subject: [PATCH 39/52] wip --- examples/scala/Makefile | 42 ++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/examples/scala/Makefile b/examples/scala/Makefile index 42f96de7..b67d3fd1 100644 --- a/examples/scala/Makefile +++ b/examples/scala/Makefile @@ -28,26 +28,26 @@ OUT = ${OUT_BASE}/${EVALUATOR} $(shell mkdir -p ${OUT}) SCALAGEN = simple.scala tiny.scala \ - classic-binding.scala classic-binding.static.scala classic-binding.synth.scala \ + classic-binding.scala \ grammar.scala \ - first.scala first.static.scala first.synth.scala \ - follow.scala follow.static.scala follow.synth.scala \ - nullable.scala nullable.static.scala nullable.synth.scala \ - test-coll.scala test-coll.static.scala test-coll.synth.scala \ - test-use-coll.scala test-use-coll.static.scala test-use-coll.synth.scala \ - test-cycle.scala test-cycle.static.scala test-cycle.synth.scala \ - test-fields.scala test-fields.static.scala test-fields.synth.scala \ - use-global.scala use-global.static.scala use-global.synth.scala \ - broad-fiber-cycle.scala broad-fiber-cycle.static.scala broad-fiber-cycle.synth.scala \ - below-fiber-cycle.scala below-fiber-cycle.static.scala below-fiber-cycle.synth.scala \ - below-single-fiber-cycle.scala below-single-fiber-cycle.static.scala below-single-fiber-cycle.synth.scala \ - local-fiber-cycle.scala local-fiber-cycle.static.scala local-fiber-cycle.synth.scala \ - nested-cycles.scala nested-cycles.static.scala nested-cycles.synth.scala \ - farrow-lv-tree.scala farrow-lv.scala farrow-lv.static.scala farrow-lv.synth.scala \ - farrow-ubd-tree.scala farrow-ubd.scala farrow-ubd.static.scala farrow-ubd.synth.scala \ - farrow-ubd-fiber.scala farrow-ubd-fiber.static.scala farrow-ubd-fiber.synth.scala \ - nested-ubd-tree.scala nested-ubd.scala nested-ubd.static.scala nested-ubd.synth.scala \ - nested-ubd-fiber.scala nested-ubd-fiber.static.scala nested-ubd-fiber.synth.scala + first.scala \ + follow.scala \ + nullable.scala \ + test-coll.scala \ + test-use-coll.scala \ + test-cycle.scala \ + test-fields.scala \ + use-global.scala \ + broad-fiber-cycle.scala \ + below-fiber-cycle.scala \ + below-single-fiber-cycle.scala \ + local-fiber-cycle.scala \ + nested-cycles.scala \ + farrow-lv-tree.scala farrow-lv.scala \ + farrow-ubd-tree.scala farrow-ubd.scala \ + farrow-ubd-fiber.scala \ + nested-ubd-tree.scala nested-ubd.scala \ + nested-ubd-fiber.scala MISCGEN = SimpleParser.scala SimpleScanner.scala \ GrammarTokens.scala SimpleTokens.scala GrammarScanner.scala GrammarParser.scala \ @@ -89,11 +89,11 @@ phony_explicit: %.static.scala : ../%.aps ${APS2SCALA} ${APS2SCALA} ${APS2SCALAFLAGS} -S -C $* - mv $*.scala $@ + cp $*.scala $@ %.synth.scala : ../%.aps ${APS2SCALA} ${APS2SCALA} ${APS2SCALAFLAGS} -F $* - mv $*.scala $@ + cp $*.scala $@ %.scala : ../%.aps ${APS2SCALA} ${APS2SCALA} ${APS2SCALAFLAGS} $* From 9f28531a8919da31e75f252c130041038b617f78 Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Mon, 10 Aug 2026 06:07:36 +0000 Subject: [PATCH 40/52] another try --- examples/scala/Makefile | 1 - 1 file changed, 1 deletion(-) diff --git a/examples/scala/Makefile b/examples/scala/Makefile index e77765be..f98b9625 100644 --- a/examples/scala/Makefile +++ b/examples/scala/Makefile @@ -46,7 +46,6 @@ MISCGEN = SimpleParser.scala SimpleScanner.scala \ # keep generated .scala .SECONDARY: -all : ${SCALAGEN} all : ${OUT}/grammar_implicit.class ${OUT}/simple_implicit.class ${OUT}/classic_binding_implicit.class ${OUT}/Classic.class all : ${OUT}/GrammarScanner.class ${OUT}/GrammarTokens.class ${OUT}/SimpleScanner.class ${OUT}/SimpleTokens.class all : ${OUT}/GrammarParserBase.class ${OUT}/GrammarParser.class ${OUT}/SimpleParserBase.class ${OUT}/SimpleParser.class From 114584af69eaf9117ca56b7aa5867551b6da7118 Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Wed, 12 Aug 2026 15:37:32 +0000 Subject: [PATCH 41/52] add a flag to turn off optimizations we added over Farrow --- aps2scala/aps2scala.cc | 9 +++++++++ codegen/dump.h | 1 + codegen/synth-impl.cc | 10 ++++++---- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/aps2scala/aps2scala.cc b/aps2scala/aps2scala.cc index 1e4245c6..c0c426f2 100644 --- a/aps2scala/aps2scala.cc +++ b/aps2scala/aps2scala.cc @@ -29,6 +29,8 @@ void usage() { fprintf(stderr," -V increase verbosity of generation code\n"); fprintf(stderr," -G add Debug calls for every function\n"); fprintf(stderr," -C SCC chunk static scheduling\n"); + fprintf(stderr," -F, --synth optimized SYNTH evaluation\n"); + fprintf(stderr," -F0, --synth-original generate Farrow-style SYNTH evaluation\n"); fprintf(stderr," -p path set the APSPATH (overriding env. variable)\n"); exit(1); } @@ -41,6 +43,8 @@ Implementation* impl; bool static_schedule = false; bool is_tree_only_program = false; bool synth_implementation = false; +// False runs related child cycles until values reaches fixed-point and always re-runs independent child cycles. +bool farrow_synth_improvements = true; static void* program_is_tree_only(void *scope, void *node) { if (ABSTRACT_APS_tnode_phylum(node) == KEYDeclaration) { @@ -87,6 +91,11 @@ int main(int argc,char **argv) { synth_implementation = true; anc_analysis = true; continue; + } else if (streq(argv[i],"-F0") || streq(argv[i],"--synth-original")) { + synth_implementation = true; + anc_analysis = true; + farrow_synth_improvements = false; + continue; } else if (streq(argv[i],"-V") || streq(argv[i],"--verbose")) { ++verbose; continue; diff --git a/codegen/dump.h b/codegen/dump.h index 9a1f80c6..bc7173ea 100644 --- a/codegen/dump.h +++ b/codegen/dump.h @@ -15,6 +15,7 @@ void impl_module(const char *name, const char *type); extern bool incremental; extern bool static_schedule; +extern bool farrow_synth_improvements; extern int verbose; extern int debug; extern bool include_comments; diff --git a/codegen/synth-impl.cc b/codegen/synth-impl.cc index 39471afd..dc18d7ba 100644 --- a/codegen/synth-impl.cc +++ b/codegen/synth-impl.cc @@ -1084,14 +1084,15 @@ static void emit_local_fixed_point_loop(ostream& os, INSTANCE* cycle_instance = NULL) { if (is_independent) { os << indent() << "// Independent cycle: always converge locally\n"; - if (cycle_instance != NULL && cycle_instance->node != NULL) { + if (farrow_synth_improvements && + cycle_instance != NULL && cycle_instance->node != NULL) { // Skip the loop if this child cycle already converged os << indent() << "if (" << instance_to_attr(cycle_instance) << ".checkNode(v_" << decl_name(cycle_instance->node) << ").status != Evaluation.ASSIGNED) {\n"; ++nesting_level; } - } else { + } else if (farrow_synth_improvements) { os << indent() << "if (!" << LOOP_VAR << ") {\n"; ++nesting_level; } @@ -1104,11 +1105,12 @@ static void emit_local_fixed_point_loop(ostream& os, --nesting_level; os << indent() << "}\n"; if (is_independent) { - if (cycle_instance != NULL && cycle_instance->node != NULL) { + if (farrow_synth_improvements && + cycle_instance != NULL && cycle_instance->node != NULL) { --nesting_level; os << indent() << "}\n"; } - } else { + } else if (farrow_synth_improvements) { --nesting_level; os << indent() << "}\n"; } From a93eb0e03bd875ab6abfdf9f7b31b977a49d1fdd Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Sat, 29 Aug 2026 06:39:33 +0000 Subject: [PATCH 42/52] Simpler code --- codegen/synth-impl.cc | 132 +++++++++++++++++++++++++++++------------- 1 file changed, 93 insertions(+), 39 deletions(-) diff --git a/codegen/synth-impl.cc b/codegen/synth-impl.cc index dc18d7ba..77a70a50 100644 --- a/codegen/synth-impl.cc +++ b/codegen/synth-impl.cc @@ -1,7 +1,6 @@ #include #include -#include #include #include extern "C" { @@ -1073,13 +1072,8 @@ static void emit_loop_implicits(ostream& os, const string& flag) { os << indent() << "implicit val changed: AtomicBoolean = " << flag << ";\n"; } -// Emit a local while-loop. If is_independent, no isInsideFixedPoint guard -// because independent cycles need their own loop always. -// cycle_instance (optional): when provided for independent cycles, emits a guard -// that skips the loop if the child has already converged (ASSIGNED). -static void emit_local_fixed_point_loop(ostream& os, +static void emit_fixed_point_loop_start(ostream& os, const string& flag, - const std::function& emit_body, bool is_independent = false, INSTANCE* cycle_instance = NULL) { if (is_independent) { @@ -1101,7 +1095,11 @@ static void emit_local_fixed_point_loop(ostream& os, ++nesting_level; os << indent() << flag << ".set(false);\n"; emit_loop_implicits(os, flag); - emit_body(); +} + +static void emit_fixed_point_loop_end(ostream& os, + bool is_independent = false, + INSTANCE* cycle_instance = NULL) { --nesting_level; os << indent() << "}\n"; if (is_independent) { @@ -1116,6 +1114,84 @@ static void emit_local_fixed_point_loop(ostream& os, } } +static vector synthesized_component_instances(SCC_COMPONENT* component) { + vector result; + for (int i = 0; i < component->length; i++) { + INSTANCE* instance = (INSTANCE*)component->array[i]; + if (instance_is_synthesized(instance)) { + result.push_back(instance); + } + } + return result; +} + +static void emit_root_evaluations(ostream& os, + Declaration start_phylum, + const vector& instances) { + os << indent() << "for (root <- t_" << decl_name(start_phylum) << ".nodes) {\n"; + ++nesting_level; + for (auto instance = instances.begin(); instance != instances.end(); instance++) { + string eval_name = instance_to_string_with_nodetype(start_phylum, *instance); + os << indent() << "eval_" << eval_name << "(root);\n"; + } + --nesting_level; + os << indent() << "}\n"; +} + +static void emit_start_phylum_evaluations(ostream& os, STATE* state) { + PHY_GRAPH* start_graph = summary_graph_for(state, state->start_phylum); + bool needs_fixed_point = state->loop_required; + + if (!needs_fixed_point) { + vector synthesized_instances; + for (int i = 0; i < start_graph->instances.length; i++) { + INSTANCE* instance = &start_graph->instances.array[i]; + if (instance_is_synthesized(instance)) { + synthesized_instances.push_back(instance); + } + } + if (include_comments) { + os << indent() << "// non-circular root evaluation\n"; + } + emit_root_evaluations(os, state->start_phylum, synthesized_instances); + return; + } + + os << indent() << "implicit val changed: AtomicBoolean = new AtomicBoolean(false);\n"; + os << indent() << "implicit val " << LOOP_VAR << ": Boolean = false;\n"; + + set_phylum_graph_components(start_graph); + + // SCC components are dependency-first. Acyclic components run once; only the + // mutually dependent evaluations within a circular component iterate together. + // Child dependencies remain demand-driven inside each generated eval function. + for (int component_index = 0; component_index < start_graph->components->length; component_index++) { + SCC_COMPONENT* component = start_graph->components->array[component_index]; + vector synthesized_instances = synthesized_component_instances(component); + if (synthesized_instances.empty()) { + continue; + } + + if (start_graph->component_cycle[component_index]) { + if (include_comments) { + os << indent() << "// circular root component " << component_index << "\n"; + } + os << indent() << "{\n"; + ++nesting_level; + emit_fixed_point_loop_start(os, "componentChanged" + std::to_string(component_index)); + emit_root_evaluations(os, state->start_phylum, synthesized_instances); + emit_fixed_point_loop_end(os); + --nesting_level; + os << indent() << "}\n"; + } else { + if (include_comments) { + os << indent() << "// non-circular root component " << component_index << "\n"; + } + emit_root_evaluations(os, state->start_phylum, synthesized_instances); + } + } +} + // Collects the field assignments of a locally-built object, e.g. for // `c : Context := context(...)` it returns c.ptr1 := ..., c.ptr2 := ... . // Each entry keeps the field, the rhs, and the instance the rhs computes (used to @@ -1345,13 +1421,14 @@ static void dump_synth_functions(STATE* s, output_streams& oss) INSTANCE* cycle_instance = *it2; // independent = always loop, related = skip if already in outer loop bool independent = is_child_cycle_independent(aug_graph, cycle_instance); - emit_local_fixed_point_loop(os, "localChanged", [&] { - dumped_conditional_block_items.clear(); - dumped_instances.clear(); - os << indent(); - synth_impl_ptr->dump_synth_instance(cycle_instance, os); - os << ";\n"; - }, /* is_independent= */independent, /* cycle_instance= */independent ? cycle_instance : NULL); + INSTANCE* guarded_cycle = independent ? cycle_instance : NULL; + emit_fixed_point_loop_start(os, "localChanged", independent, guarded_cycle); + dumped_conditional_block_items.clear(); + dumped_instances.clear(); + os << indent(); + synth_impl_ptr->dump_synth_instance(cycle_instance, os); + os << ";\n"; + emit_fixed_point_loop_end(os, independent, guarded_cycle); } dumped_conditional_block_items.clear(); dumped_instances.clear(); @@ -1566,27 +1643,7 @@ class SynthImpl : public SynthImplementation { #endif /* APS2SCALA */ ++nesting_level; - PHY_GRAPH* start_phy_graph = summary_graph_for(s, s->start_phylum); - - if (needs_fixed_point) { - os << indent() << "implicit val changed: AtomicBoolean = new AtomicBoolean(false);\n"; - os << indent() << "implicit val " << LOOP_VAR << ": Boolean = false;\n"; - } - os << indent() << "for (root <- t_" << decl_name(s->start_phylum) << ".nodes) {\n"; - ++nesting_level; - int i; - for (i = 0; i < start_phy_graph->instances.length; i++) { - INSTANCE* in = &start_phy_graph->instances.array[i]; - - if (!instance_is_synthesized(in)) { - continue; - } - - string eval_name = instance_to_string_with_nodetype(s->start_phylum, &start_phy_graph->instances.array[i]); - os << indent() << "eval_" << eval_name << "(root);\n"; - } - --nesting_level; - os << indent() << "}\n"; + emit_start_phylum_evaluations(os, s); #ifdef APS2SCALA os << indent() << "super.finish();\n"; @@ -1933,7 +1990,6 @@ void dump_rhs_instance_helper(AUG_GRAPH* aug_graph, BlockItem* item, INSTANCE* i vector > all_assignments = make_instance_assignment(); std::set relevant_assignments = all_assignments[instance->index]; - bool any_assignment_dump = false; if (!relevant_assignments.empty()) { // Filter out NULLs first @@ -1945,8 +2001,6 @@ void dump_rhs_instance_helper(AUG_GRAPH* aug_graph, BlockItem* item, INSTANCE* i } if (!valid_rhs.empty()) { - any_assignment_dump = true; - if (instance->fibered_attr.fiber != NULL) { for (auto it = valid_rhs.begin(); it != valid_rhs.end(); it++) { dump_assignment(instance, *it, o); From 0642e9bd6523d26d30cfa3cc7c7f1471be071f29 Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Mon, 31 Aug 2026 04:19:00 +0000 Subject: [PATCH 43/52] Added farrow original as an option --- aps2scala/aps2scala.cc | 4 +-- codegen/synth-impl.cc | 76 +++++++++++++++++++++++++++++++++++++++++ examples/scala/Makefile | 8 ++++- 3 files changed, 85 insertions(+), 3 deletions(-) diff --git a/aps2scala/aps2scala.cc b/aps2scala/aps2scala.cc index c0c426f2..80e1aac5 100644 --- a/aps2scala/aps2scala.cc +++ b/aps2scala/aps2scala.cc @@ -30,7 +30,7 @@ void usage() { fprintf(stderr," -G add Debug calls for every function\n"); fprintf(stderr," -C SCC chunk static scheduling\n"); fprintf(stderr," -F, --synth optimized SYNTH evaluation\n"); - fprintf(stderr," -F0, --synth-original generate Farrow-style SYNTH evaluation\n"); + fprintf(stderr," -F0, --synth-pure-farrow generate pure Farrow-style SYNTH evaluation\n"); fprintf(stderr," -p path set the APSPATH (overriding env. variable)\n"); exit(1); } @@ -91,7 +91,7 @@ int main(int argc,char **argv) { synth_implementation = true; anc_analysis = true; continue; - } else if (streq(argv[i],"-F0") || streq(argv[i],"--synth-original")) { + } else if (streq(argv[i],"-F0") || streq(argv[i],"--synth-pure-farrow")) { synth_implementation = true; anc_analysis = true; farrow_synth_improvements = false; diff --git a/codegen/synth-impl.cc b/codegen/synth-impl.cc index 77a70a50..e1f6f7ef 100644 --- a/codegen/synth-impl.cc +++ b/codegen/synth-impl.cc @@ -735,6 +735,11 @@ class FiberDependencyDumper { public: static void dump(AUG_GRAPH* aug_graph, INSTANCE* sink, ostream& os) { + if (!farrow_synth_improvements) { + dump_pure_farrow(aug_graph, sink, os); + return; + } + int i, j; int n = aug_graph->instances.length; @@ -816,6 +821,77 @@ class FiberDependencyDumper { } private: + static void dump_pure_farrow_helper(AUG_GRAPH* aug_graph, + const vector& relevant_instances, + bool* scheduled, + int& count_scheduled, + ostream& os) { + int n = aug_graph->instances.length; + + if (count_scheduled == static_cast(relevant_instances.size())) { + return; + } + + for (auto it1 = relevant_instances.begin(); it1 != relevant_instances.end(); it1++) { + INSTANCE* in = *it1; + if (scheduled[in->index]) { + continue; + } + + bool dependency_ready = true; + for (auto it2 = relevant_instances.begin(); it2 != relevant_instances.end(); it2++) { + INSTANCE* dependency_instance = *it2; + if (scheduled[dependency_instance->index] || + !edgeset_kind(aug_graph->graph[dependency_instance->index * n + in->index])) { + continue; + } + dependency_ready = false; + } + + if (!dependency_ready) { + continue; + } + + scheduled[in->index] = true; + os << indent(); + synth_impl_ptr->dump_synth_instance(in, os); + dumped_conditional_block_items.clear(); + dumped_instances.clear(); + os << "\n"; + count_scheduled++; + dump_pure_farrow_helper(aug_graph, relevant_instances, scheduled, count_scheduled, os); + } + + if (count_scheduled != static_cast(relevant_instances.size())) { + fatal_error("failed to find next dependency to schedule count_scheduled: %d, count_relevant_instances: %d", + count_scheduled, static_cast(relevant_instances.size())); + } + } + + static void dump_pure_farrow(AUG_GRAPH* aug_graph, INSTANCE* sink, ostream& os) { + int n = aug_graph->instances.length; + vector relevant_instances; + + for (int i = 0; i < n; i++) { + INSTANCE* in = &aug_graph->instances.array[i]; + if (in->node != NULL && Declaration_KEY(in->node) == KEYpragma_call) { + continue; + } + + if (edgeset_kind(aug_graph->graph[in->index * n + sink->index]) && + in->fibered_attr.fiber != NULL && + (instance_is_synthesized(in) || instance_is_local(in))) { + relevant_instances.push_back(in); + } + } + + bool* scheduled = (bool*)alloca(sizeof(bool) * n); + memset(scheduled, 0, sizeof(bool) * n); + + int count_scheduled = 0; + dump_pure_farrow_helper(aug_graph, relevant_instances, scheduled, count_scheduled, os); + } + static void dump_scc_helper(AUG_GRAPH* aug_graph, SCC_COMPONENTS* components, bool* scheduled, ostream& os) { int component_count = components->length; int i; diff --git a/examples/scala/Makefile b/examples/scala/Makefile index 06532fc4..7c085376 100644 --- a/examples/scala/Makefile +++ b/examples/scala/Makefile @@ -19,6 +19,8 @@ ifeq (${EVALUATOR},STATIC) IMPL_SUFFIX = .static.scala else ifeq (${EVALUATOR},SYNTH) IMPL_SUFFIX = .synth.scala +else ifeq (${EVALUATOR},SYNTH_F0) +IMPL_SUFFIX = .synth-f0.scala else IMPL_SUFFIX = .scala endif @@ -34,7 +36,7 @@ EVALUATOR_EXAMPLES = classic-binding first follow nullable test-coll \ below-fiber-cycle below-single-fiber-cycle local-fiber-cycle nested-cycles \ farrow-lv farrow-ubd farrow-ubd-fiber nested-ubd nested-ubd-fiber SCALAGEN = ${AST_TREE_SCALAGEN} \ - $(foreach example,${EVALUATOR_EXAMPLES},$(example).scala $(example).static.scala $(example).synth.scala) + $(foreach example,${EVALUATOR_EXAMPLES},$(example).scala $(example).static.scala $(example).synth.scala $(example).synth-f0.scala) MISCGEN = SimpleParser.scala SimpleScanner.scala \ GrammarTokens.scala SimpleTokens.scala GrammarScanner.scala GrammarParser.scala \ @@ -81,6 +83,10 @@ phony_explicit: ${APS2SCALA} ${APS2SCALAFLAGS} -F $* cp $*.scala $@ +%.synth-f0.scala : ../%.aps ${APS2SCALA} + ${APS2SCALA} ${APS2SCALAFLAGS} -F0 $* + cp $*.scala $@ + %.scala : ../%.aps ${APS2SCALA} ${APS2SCALA} ${APS2SCALAFLAGS} $* From 874d1194c887e1137a3c094d09edb2c94704c38d Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Mon, 7 Sep 2026 11:34:25 -0500 Subject: [PATCH 44/52] Should get built now --- aps2scala/aps2scala.cc | 1 - codegen/dump.h | 1 - codegen/synth-impl.cc | 15 ++++----------- 3 files changed, 4 insertions(+), 13 deletions(-) diff --git a/aps2scala/aps2scala.cc b/aps2scala/aps2scala.cc index deef5d6b..66c93e2e 100644 --- a/aps2scala/aps2scala.cc +++ b/aps2scala/aps2scala.cc @@ -89,7 +89,6 @@ int main(int argc,char **argv) { } else if (streq(argv[i],"-A") || streq(argv[i],"--synth")) { synth_implementation = true; anc_analysis = true; - farrow_synth_improvements = false; } else if (streq(argv[i],"-F") || streq(argv[i],"--farrow")) { farrow_implementation = true; anc_analysis = true; diff --git a/codegen/dump.h b/codegen/dump.h index 3353a7f1..6a090954 100644 --- a/codegen/dump.h +++ b/codegen/dump.h @@ -15,7 +15,6 @@ void impl_module(const char *name, const char *type); extern bool incremental; extern bool static_schedule; -extern bool farrow_synth_improvements; extern int verbose; extern int debug; extern bool include_comments; diff --git a/codegen/synth-impl.cc b/codegen/synth-impl.cc index e1f6f7ef..1291efd3 100644 --- a/codegen/synth-impl.cc +++ b/codegen/synth-impl.cc @@ -735,11 +735,6 @@ class FiberDependencyDumper { public: static void dump(AUG_GRAPH* aug_graph, INSTANCE* sink, ostream& os) { - if (!farrow_synth_improvements) { - dump_pure_farrow(aug_graph, sink, os); - return; - } - int i, j; int n = aug_graph->instances.length; @@ -1154,15 +1149,14 @@ static void emit_fixed_point_loop_start(ostream& os, INSTANCE* cycle_instance = NULL) { if (is_independent) { os << indent() << "// Independent cycle: always converge locally\n"; - if (farrow_synth_improvements && - cycle_instance != NULL && cycle_instance->node != NULL) { + if (cycle_instance != NULL && cycle_instance->node != NULL) { // Skip the loop if this child cycle already converged os << indent() << "if (" << instance_to_attr(cycle_instance) << ".checkNode(v_" << decl_name(cycle_instance->node) << ").status != Evaluation.ASSIGNED) {\n"; ++nesting_level; } - } else if (farrow_synth_improvements) { + } else { os << indent() << "if (!" << LOOP_VAR << ") {\n"; ++nesting_level; } @@ -1179,12 +1173,11 @@ static void emit_fixed_point_loop_end(ostream& os, --nesting_level; os << indent() << "}\n"; if (is_independent) { - if (farrow_synth_improvements && - cycle_instance != NULL && cycle_instance->node != NULL) { + if (cycle_instance != NULL && cycle_instance->node != NULL) { --nesting_level; os << indent() << "}\n"; } - } else if (farrow_synth_improvements) { + } else { --nesting_level; os << indent() << "}\n"; } From dead5a1bcfe15c21f45cbfe5bdd3b16d8a3f1612 Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Mon, 7 Sep 2026 11:47:38 -0500 Subject: [PATCH 45/52] Synth works but need to double checkn utilities --- aps2scala/aps2scala.cc | 1 + examples/simple-snc-fiber.aps | 9 +++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/aps2scala/aps2scala.cc b/aps2scala/aps2scala.cc index 66c93e2e..ee126e9c 100644 --- a/aps2scala/aps2scala.cc +++ b/aps2scala/aps2scala.cc @@ -89,6 +89,7 @@ int main(int argc,char **argv) { } else if (streq(argv[i],"-A") || streq(argv[i],"--synth")) { synth_implementation = true; anc_analysis = true; + continue; } else if (streq(argv[i],"-F") || streq(argv[i],"--farrow")) { farrow_implementation = true; anc_analysis = true; diff --git a/examples/simple-snc-fiber.aps b/examples/simple-snc-fiber.aps index e07cc561..a9e7496f 100644 --- a/examples/simple-snc-fiber.aps +++ b/examples/simple-snc-fiber.aps @@ -23,15 +23,16 @@ module SIMPLE_SNC_FIBER[T :: var SIMPLE[]] extends T begin attribute Stmts.stmts_ok : Boolean; attribute Block.block_ok : Boolean; attribute Program.program_ok : Boolean; - attribute Program.program_env : Env; + attribute Program.program_names : Names; pragma inherited(block_env,decl_env,stmts_env,stmt_env,expr_env1,expr_env2); - pragma synthesized(expr_found1,expr_found2,stmt_ok,stmts_ok,block_ok,program_ok); + pragma synthesized(expr_found1,expr_found2,stmt_ok,stmts_ok,block_ok,program_ok,program_names); match ?p:Program=program(?b:Block) begin - b.block_env := Env$nil; + scope : Env := contour(); + b.block_env := scope; p.program_ok := b.block_ok; - p.program_env := b.block_env; + p.program_names := scope.names; end; match ?b:Block=block(?ds:Decls,?ss:Stmts) begin From c7b471901d3fcae94325cddf2596a005bd958246 Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Mon, 7 Sep 2026 14:52:58 -0500 Subject: [PATCH 46/52] refactorings --- codegen/synth-impl.cc | 394 +----------------------------------------- codegen/synth-util.cc | 6 + 2 files changed, 8 insertions(+), 392 deletions(-) diff --git a/codegen/synth-impl.cc b/codegen/synth-impl.cc index 1291efd3..a7c0e070 100644 --- a/codegen/synth-impl.cc +++ b/codegen/synth-impl.cc @@ -77,53 +77,6 @@ static vector dumped_conditional_block_items; static vector dumped_instances; static bool tracking_fiber_convergence = false; -// Given a block, it prints its linearized schedule as comments in the output stream. -static void print_linearized_block(BlockItem* block, ostream& os) { - if (block != NULL) { - os << indent() << block->instance << "\n"; - if (block->key == KEY_BLOCK_ITEM_CONDITION) { - struct block_item_condition* cond = (struct block_item_condition*)block; - - if (cond->prev != NULL && cond->prev->key != KEY_BLOCK_ITEM_CONDITION) { - os << indent() << cond->prev->instance << "\n"; - } - - os << indent() << "IF\n"; - nesting_level++; - print_linearized_block(cond->next_positive, os); - nesting_level--; - os << indent() << "ELSE\n"; - nesting_level++; - print_linearized_block(cond->next_negative, os); - nesting_level--; - } else { - print_linearized_block(((struct block_item_instance*)block)->next, os); - } - } -} - -static vector sort_instances(AUG_GRAPH* aug_graph) { - vector result; - - int n = aug_graph->instances.length; - int i; - for (i = 0; i < n; i++) { - INSTANCE* instance = &aug_graph->instances.array[i]; - if (!if_rule_p(instance->fibered_attr.attr)) { - result.push_back(instance); - } - } - - for (i = 0; i < n; i++) { - INSTANCE* instance = &aug_graph->instances.array[i]; - if (if_rule_p(instance->fibered_attr.attr)) { - result.push_back(instance); - } - } - - return result; -} - // Strongly-connected components of the direct-edge subgraph. Each cycle becomes // one group; everything else is a singleton. linearize_block uses these to break // direct dependency cycles (e.g. c1.ptr2:=c2; c2.ptr1:=c1) that a plain topological @@ -161,166 +114,6 @@ static std::vector > direct_cycle_groups(AUG_GRAPH* aug_g return groups; } -// Given an augmented dependency graph, it linearize it recursively -static BlockItem* linearize_block_helper(AUG_GRAPH* aug_graph, - const vector& sorted_instances, - bool* scheduled, - CONDITION* cond, - BlockItem* prev, - int remaining, - INSTANCE* aug_graph_instance, - const std::vector& component_of) { - // impossible merge condition - if (CONDITION_IS_IMPOSSIBLE(*cond)) { - return NULL; - } - - int j; - int n = aug_graph->instances.length; - - for (auto it = sorted_instances.begin(); it != sorted_instances.end(); it++) { - INSTANCE* instance = *it; - int i = instance->index; - - if (scheduled[i]) { - continue; - } - - // impossible merge condition, cannot schedule this instance - if (MERGED_CONDITION_IS_IMPOSSIBLE(*cond, instance_condition(instance))) { - scheduled[i] = true; - BlockItem* result = linearize_block_helper(aug_graph, sorted_instances, scheduled, cond, prev, remaining - 1, aug_graph_instance, component_of); - scheduled[i] = false; - return result; - } - - // if there is no dependency between this instance and the augmented dependency instance that we want to linearize for, - // then this instance should not be included in the linearization linked-list - if (aug_graph_instance != instance && !edgeset_kind(aug_graph->graph[instance->index * n + aug_graph_instance->index])) { - scheduled[i] = true; - BlockItem* result = linearize_block_helper(aug_graph, sorted_instances, scheduled, cond, prev, remaining - 1, aug_graph_instance, component_of); - scheduled[i] = false; - return result; - } - - bool ready_to_schedule = true; - for (j = 0; j < n && ready_to_schedule; j++) { - INSTANCE* other_instance = &aug_graph->instances.array[j]; - - // already scheduled dependency - if (scheduled[j]) { - continue; - } - - // impossible merge condition, ignore this dependency - if (MERGED_CONDITION_IS_IMPOSSIBLE(instance_condition(instance), instance_condition(other_instance))) { - continue; - } - - // not a direct dependency - if (!(edgeset_kind(aug_graph->graph[j * n + i]) & DEPENDENCY_MAYBE_DIRECT)) { - continue; - } - - // don't wait on a dependency in the same cycle group, that's the cycle we - // break here; cross-group edges still enforce the order - if (component_of[j] == component_of[i]) { - continue; - } - - ready_to_schedule = false; - break; - } - - // if all dependencies are ready to schedule - if (!ready_to_schedule) { - continue; - } - - BlockItem* item_base; - scheduled[i] = true; - - if (if_rule_p(instance->fibered_attr.attr)) { - struct block_item_condition* item = (struct block_item_condition*)malloc(sizeof(struct block_item_condition)); - item_base = (BlockItem*)item; - - item->key = KEY_BLOCK_ITEM_CONDITION; - item->instance = instance; - item->condition = instance->fibered_attr.attr; - item->prev = prev; - - int cmask = 1 << (if_rule_index(instance->fibered_attr.attr)); - cond->positive |= cmask; - item->next_positive = linearize_block_helper(aug_graph, sorted_instances, scheduled, cond, item_base, remaining - 1, aug_graph_instance, component_of); - cond->positive &= ~cmask; - cond->negative |= cmask; - item->next_negative = linearize_block_helper(aug_graph, sorted_instances, scheduled, cond, item_base, remaining - 1, aug_graph_instance, component_of); - cond->negative &= ~cmask; - } else { - struct block_item_instance* item = (struct block_item_instance*)malloc(sizeof(struct block_item_instance)); - item_base = (BlockItem*)item; - item->key = KEY_BLOCK_ITEM_INSTANCE; - item->instance = instance; - item->prev = prev; - item->next = linearize_block_helper(aug_graph, sorted_instances, scheduled, cond, item_base, remaining - 1, aug_graph_instance, component_of); - } - - scheduled[i] = false; - - return item_base; - } - - if (remaining != 0) { - fatal_error("failed to schedule some instances, remaining: %d", remaining); - } - - return NULL; -} - -// Given an augmented dependency graph, it linearizes -// the direct dependency schedule. -static BlockItem* linearize_block(AUG_GRAPH* aug_graph, INSTANCE* aug_graph_instance) { - int n = aug_graph->instances.length; - bool* scheduled = (bool*)alloca(sizeof(bool) * n); - memset(scheduled, 0, sizeof(bool) * n); - - CONDITION cond = {0, 0}; - vector sorted_instances = sort_instances(aug_graph); - - // map each instance to its cycle group so the schedule can skip same-group edges - std::vector > groups = direct_cycle_groups(aug_graph); - - // -1 = singleton (not part of any multi-node cycle), so the - // same-group check in the scheduler won't match anything. - std::vector component_of(n, -1); - for (size_t g = 0; g < groups.size(); g++) { - for (auto it = groups[g].begin(); it != groups[g].end(); it++) { - component_of[(*it)->index] = (int)g; - } - } - - return linearize_block_helper(aug_graph, sorted_instances, scheduled, &cond, NULL, n, aug_graph_instance, component_of); -} - -// Given an instance it traverses the direct dependency schedule -// trying to find the instance and if it sees the condition -// along the way, it returns that condition. -static BlockItem* find_surrounding_block(BlockItem* block, INSTANCE* instance) { - while (block != NULL) { - if (block->key == KEY_BLOCK_ITEM_CONDITION) { - return block; - } else if (block->key == KEY_BLOCK_ITEM_INSTANCE) { - if (block->instance == instance) { - return block; - } else { - block = ((struct block_item_instance*)block)->next; - } - } - } - - return NULL; -} - // Used only by instance_is_local, instance_is_synthesized and instance_is_inherited // to determine the direction of an instance that does not have a fiber. static enum instance_direction custom_instance_direction(INSTANCE* i) { @@ -347,151 +140,6 @@ static bool instance_is_local(INSTANCE* instance) { } } -static bool instance_is_synthesized(INSTANCE* instance) { - if (instance->fibered_attr.fiber == NULL) { - return custom_instance_direction(instance) == instance_outward; - } else { - return fibered_attr_direction(&instance->fibered_attr) == instance_outward; - } -} - -static bool instance_is_inherited(INSTANCE* instance) { - if (instance->fibered_attr.fiber == NULL) { - return custom_instance_direction(instance) == instance_inward; - } else { - return fibered_attr_direction(&instance->fibered_attr) == instance_inward; - } -} - -static bool instance_is_pure_shared_info(INSTANCE* instance) { - return instance->fibered_attr.fiber == NULL && ATTR_DECL_IS_SHARED_INFO(instance->fibered_attr.attr); -} - -static std::vector collect_phylum_graph_attr_dependencies(PHY_GRAPH* phylum_graph, - INSTANCE* sink_instance) { - std::vector result; - - int i; - int n = phylum_graph->instances.length; - - for (i = 0; i < n; i++) { - INSTANCE* source_instance = &phylum_graph->instances.array[i]; - if (!instance_is_pure_shared_info(source_instance) && source_instance->index != sink_instance->index && - phylum_graph->mingraph[source_instance->index * n + sink_instance->index]) { - result.push_back(source_instance); - } - } - - return result; -} - -static bool is_function_decl_attribute(INSTANCE* instance) { - if (instance->node != NULL && ABSTRACT_APS_tnode_phylum(instance->node) == KEYDeclaration) { - switch (Declaration_KEY(instance->node)) { - case KEYpragma_call: { - Declaration fdecl = Declaration_info(instance->node)->proxy_fdecl; - switch (Declaration_KEY(fdecl)) { - case KEYfunction_decl: - return true; - default: - break; - } - break; - } - default: - break; - } - } - - return false; -} - -static std::vector collect_aug_graph_attr_dependencies(AUG_GRAPH* aug_graph, - INSTANCE* sink_instance) { - std::vector result; - - int i; - int n = aug_graph->instances.length; - - for (i = 0; i < n; i++) { - INSTANCE* source_instance = &aug_graph->instances.array[i]; - if (!instance_is_pure_shared_info(source_instance) && source_instance->index != sink_instance->index && - !is_function_decl_attribute(source_instance) && - edgeset_kind(aug_graph->graph[source_instance->index * n + sink_instance->index])) { - result.push_back(source_instance); - } - } - - return result; -} - -static vector collect_lhs_aug_graphs(STATE* state, PHY_GRAPH* pgraph) { - vector result; - - int i; - int n = state->match_rules.length; - for (i = 0; i < n; i++) { - AUG_GRAPH* aug_graph = &state->aug_graphs[i]; - PHY_GRAPH* aug_graph_pgraph = Declaration_info(aug_graph->lhs_decl)->node_phy_graph; - - if (aug_graph_pgraph == pgraph) { - switch (Declaration_KEY(aug_graph->lhs_decl)) { - case KEYsome_function_decl: - continue; - default: - break; - } - - result.push_back(aug_graph); - } - } - - return result; -} - -static bool find_instance(AUG_GRAPH* aug_graph, - Declaration node, - FIBERED_ATTRIBUTE& fiber_attr, - INSTANCE** instance_out) { - int i; - for (i = 0; i < aug_graph->instances.length; i++) { - INSTANCE* instance = &aug_graph->instances.array[i]; - if (instance->node == node && instance->fibered_attr.attr == fiber_attr.attr) { - if (fibered_attr_equal(&instance->fibered_attr, &fiber_attr)) { - *instance_out = instance; - return true; - } - } - } - - return false; -} - -static string attr_to_string(Declaration attr) { - if (ATTR_DECL_IS_SHARED_INFO(attr)) { - return "sharedinfo"; - } else { - return decl_name(attr); - } -} - -static string fiber_to_string(FIBER fiber) { - std::stringstream ss; - - while (fiber != NULL && fiber->field != NULL) { - std::string field = decl_name(fiber->field); - field.erase(std::remove(field.begin(), field.end(), '!'), field.end()); - - ss << field; - fiber = fiber->shorter; - if (fiber->field != NULL) { - ss << "_"; - } - } - - return ss.str(); -} - static string instance_to_string(INSTANCE* in, bool force_include_node_type = false, bool trim_node = false) { vector result; @@ -520,43 +168,6 @@ static string instance_to_string(INSTANCE* in, bool force_include_node_type = fa [](std::string a, std::string b) { return a + "_" + b; }); } -static string instance_to_string_with_nodetype(Declaration polymorphic, INSTANCE* in) { - Declaration attr = in->fibered_attr.attr; - std::stringstream ss; - - if (Declaration_KEY(attr) == KEYvalue_decl && LOCAL_UNIQUE_PREFIX(attr) != 0) { - ss << "a" << LOCAL_UNIQUE_PREFIX(attr) << "_"; - } - - ss << decl_name(polymorphic) << "_" << instance_to_string(in, false, false); - - return ss.str(); -} - -static string instance_to_attr(INSTANCE* in) { - Declaration attr = in->fibered_attr.attr; - Declaration field = in->fibered_attr.fiber != NULL ? in->fibered_attr.fiber->field : NULL; - std::stringstream ss; - - if (Declaration_KEY(attr) == KEYvalue_decl && LOCAL_UNIQUE_PREFIX(attr) != 0) { - ss << "a" << LOCAL_UNIQUE_PREFIX(attr); - } else { - ss << "a"; - } - - if (attr != NULL && !ATTR_DECL_IS_SHARED_INFO(attr)) { - ss << "_" << decl_name(attr); - } - - if (field != NULL) { - std::string field_str = decl_name(field); - field_str.erase(std::remove(field_str.begin(), field_str.end(), '!'), field_str.end()); - ss << "_" << field_str; - } - - return ss.str(); -} - static bool check_is_match_formal(void* node) { Declaration formal_decl = NULL; bool is_formal = check_surrounding_decl(node, KEYnormal_formal, &formal_decl); @@ -1285,7 +896,7 @@ collect_object_field_assignments(AUG_GRAPH* aug_graph, Declaration obj_decl) { continue; } Declaration field = field_ref_p(lhs); - if (field == 0) { + if (field == NULL) { continue; } Expression obj = field_ref_object(lhs); @@ -2358,10 +1969,9 @@ void dump_synth_instance(INSTANCE* instance, ostream& o) { AUG_GRAPH* aug_graph = current_aug_graph; BlockItem* block = find_surrounding_block(current_scope_block, instance); - Declaration node = instance->node; - bool is_parent_instance = instance_is_parent(instance, current_aug_graph); + bool is_parent_instance = instance_is_parent(instance, current_aug_graph); bool is_synthesized = instance_is_synthesized(instance); bool is_inherited = instance_is_inherited(instance); bool is_circular = edgeset_kind(current_aug_graph->graph[instance->index * current_aug_graph->instances.length + instance->index]); diff --git a/codegen/synth-util.cc b/codegen/synth-util.cc index a5776be7..4bd3b019 100644 --- a/codegen/synth-util.cc +++ b/codegen/synth-util.cc @@ -560,6 +560,7 @@ std::vector> make_instance_assignments(AUG_GRAPH* graph, co return assignments; } +// We prefer to have IF statements at the beginning static std::vector sort_instances(AUG_GRAPH* graph) { std::vector result; int instance_count = graph->instances.length; @@ -653,6 +654,8 @@ static BlockItem* linearize_block_helper(AUG_GRAPH* graph, const std::vectorinstances.length; bool* scheduled = static_cast(alloca(sizeof(bool) * instance_count)); @@ -688,6 +691,9 @@ void print_linearized_block(BlockItem* block, std::ostream& output) { } } +// Given an instance it traverses the direct dependency schedule +// trying to find the instance and if it sees the condition +// along the way, it returns that condition. BlockItem* find_surrounding_block(BlockItem* block, INSTANCE* instance) { while (block != NULL) { if (block->key == KEY_BLOCK_ITEM_CONDITION) { From 2a2ae3fa9a6678b8b90290f600d6670bb2ed7708 Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Mon, 7 Sep 2026 20:31:30 +0000 Subject: [PATCH 47/52] bug fixes --- aps2scala/Makefile | 2 +- codegen/synth-impl.cc | 1981 +++++++++++------------------------------ codegen/synth-util.cc | 160 +++- codegen/synth-util.h | 4 + 4 files changed, 678 insertions(+), 1469 deletions(-) diff --git a/aps2scala/Makefile b/aps2scala/Makefile index 78b88c69..7512f34d 100644 --- a/aps2scala/Makefile +++ b/aps2scala/Makefile @@ -11,7 +11,7 @@ ${APS2SCALAOBJS} : dump-scala.h install: aps2scala mv aps2scala ../bin/. -synth-impl.o : ../codegen/synth-impl.cc +synth-impl.o : ../codegen/synth-impl.cc ../codegen/synth-util.h ${CPP} -c ${CPPFLAGS} $< -o $@ static-impl.o : ../codegen/static-impl.cc diff --git a/codegen/synth-impl.cc b/codegen/synth-impl.cc index a7c0e070..59c4bcae 100644 --- a/codegen/synth-impl.cc +++ b/codegen/synth-impl.cc @@ -2,372 +2,54 @@ #include #include -#include extern "C" { #include #include "aps-ag.h" } #include -#include #include #include #include "dump.h" #include "implement.h" +#include "synth-util.h" -typedef struct synth_function_state { - std::string fdecl_name; - INSTANCE* source; - PHY_GRAPH* source_phy_graph; - std::vector regular_dependencies; - std::vector aug_graphs; - bool is_phylum_instance; - bool is_fiber_evaluation; -} SYNTH_FUNCTION_STATE; +#ifdef APS2SCALA static AUG_GRAPH* current_aug_graph = NULL; -static std::vector synth_functions_states; -static SYNTH_FUNCTION_STATE* current_synth_functions_state = NULL; - -#define LOCAL_VALUE_FLAG (1 << 28) +static std::vector synth_functions_states; +static synth_util::SynthFunctionState* current_synth_functions_state = NULL; -#ifdef APS2SCALA #define DEREF "." -#else -#define DEREF "->" -#endif - -static const string LOOP_VAR = "isInsideFixedPoint"; -static const string PREV_LOOP_VAR = "prevIsInsideFixedPoint"; -static const string RESULT_VAR_PREFIX = "result"; static SynthImplementation* synth_impl_ptr; -#define KEY_BLOCK_ITEM_CONDITION 1 -#define KEY_BLOCK_ITEM_INSTANCE 2 - -struct block_item_base { - int key; - INSTANCE* instance; - struct block_item_base* prev; -}; - -typedef struct block_item_base BlockItem; - -struct block_item_condition { - int key; /* KEY_BLOCK_ITEM_CONDITION */ - INSTANCE* instance; - BlockItem* prev; - Declaration condition; - BlockItem* next_positive; - BlockItem* next_negative; -}; - -struct block_item_instance { - int key; /* KEY_BLOCK_ITEM_INSTANCE */ - INSTANCE* instance; - BlockItem* prev; - BlockItem* next; -}; - static vector current_blocks; -static BlockItem* current_scope_block; -static vector dumped_conditional_block_items; +static synth_util::BlockItem* current_scope_block; +static vector dumped_conditional_block_items; static vector dumped_instances; static bool tracking_fiber_convergence = false; -// Strongly-connected components of the direct-edge subgraph. Each cycle becomes -// one group; everything else is a singleton. linearize_block uses these to break -// direct dependency cycles (e.g. c1.ptr2:=c2; c2.ptr1:=c1) that a plain topological -// sort cannot order. Only direct edges count here; indirect ones must not affect -// the schedule. -static std::vector > direct_cycle_groups(AUG_GRAPH* aug_graph) { - int n = aug_graph->instances.length; - - SccGraph scc_graph; - scc_graph_initialize(&scc_graph, n); - for (int i = 0; i < n; i++) { - scc_graph_add_vertex(&scc_graph, &aug_graph->instances.array[i]); - } - for (int i = 0; i < n; i++) { - for (int j = 0; j < n; j++) { - if (i != j && (edgeset_kind(aug_graph->graph[i * n + j]) & DEPENDENCY_MAYBE_DIRECT)) { - scc_graph_add_edge(&scc_graph, &aug_graph->instances.array[i], - &aug_graph->instances.array[j]); - } - } - } - - SCC_COMPONENTS* components = scc_graph_components(&scc_graph); - std::vector > groups; - for (int c = 0; c < components->length; c++) { - SCC_COMPONENT* comp = components->array[c]; - std::vector group; - for (int k = 0; k < comp->length; k++) { - group.push_back((INSTANCE*)comp->array[k]); - } - groups.push_back(group); - } - scc_graph_destroy(&scc_graph); - - return groups; -} - -// Used only by instance_is_local, instance_is_synthesized and instance_is_inherited -// to determine the direction of an instance that does not have a fiber. -static enum instance_direction custom_instance_direction(INSTANCE* i) { - enum instance_direction dir = fibered_attr_direction(&i->fibered_attr); - if (i->node == NULL) { - return dir; - } else if (DECL_IS_LHS(i->node)) { - return dir; - } else if (DECL_IS_RHS(i->node)) { - return dir; - } else if (DECL_IS_LOCAL(i->node)) { - return instance_local; - } else { - fatal_error("%d: unknown attributed node", tnode_line_number(i->node)); - return dir; /* keep CC happy */ - } -} - -static bool instance_is_local(INSTANCE* instance) { - if (instance->fibered_attr.fiber == NULL) { - return custom_instance_direction(instance) == instance_local; - } else { - return fibered_attr_direction(&instance->fibered_attr) == instance_local; - } -} - -static string instance_to_string(INSTANCE* in, bool force_include_node_type = false, bool trim_node = false) { - vector result; - - Declaration node = in->node; - if (force_include_node_type && node == NULL) { - node = current_aug_graph->lhs_decl; - } - - if (!trim_node && node != NULL) { - if (Declaration_KEY(node) == KEYpragma_call) { - result.push_back(symbol_name(pragma_call_name(node))); - } else { - result.push_back(decl_name(node)); - } - } - - if (in->fibered_attr.attr != NULL) { - result.push_back(attr_to_string(in->fibered_attr.attr)); - } - - if (in->fibered_attr.fiber != NULL) { - result.push_back(fiber_to_string(in->fibered_attr.fiber)); - } - - return std::accumulate(std::next(result.begin()), result.end(), result[0], - [](std::string a, std::string b) { return a + "_" + b; }); -} - -static bool check_is_match_formal(void* node) { - Declaration formal_decl = NULL; - bool is_formal = check_surrounding_decl(node, KEYnormal_formal, &formal_decl); - - void* match = NULL; - bool is_inside_match = check_surrounding_node(node, KEYMatch, &match); - - return is_formal && is_inside_match; -} - -// Unified filter for determining which dependencies should be included -// as function parameters and call arguments in synthesized eval functions. -static bool should_skip_synth_dependency(INSTANCE* source_instance) { - if (source_instance->fibered_attr.fiber != NULL) { - return true; - } - if (if_rule_p(source_instance->fibered_attr.attr)) { - return true; - } - if (check_is_match_formal(source_instance->fibered_attr.attr)) { - return true; - } - return false; -} - -// Collect non-local dependencies of the field-assignment instances -// belonging to the same local attribute, e.g. c.ptr1, c.ptr2 for local c. -static std::vector collect_field_assign_dependencies(AUG_GRAPH* aug_graph, - INSTANCE* owner_instance) { - std::vector result; - Declaration attr = owner_instance->fibered_attr.attr; - int n = aug_graph->instances.length; - - for (int k = 0; k < n; k++) { - INSTANCE* field_instance = &aug_graph->instances.array[k]; - if (field_instance->fibered_attr.attr != attr || - field_instance->fibered_attr.fiber == NULL || - field_instance->index == owner_instance->index) { - continue; - } - std::vector field_deps = collect_aug_graph_attr_dependencies(aug_graph, field_instance); - for (auto fd = field_deps.begin(); fd != field_deps.end(); fd++) { - if ((*fd)->index != owner_instance->index && - !should_skip_synth_dependency(*fd) && - instance_direction(*fd) != instance_local && - !((*fd)->node != NULL && (*fd)->node != aug_graph->lhs_decl) && - std::find(result.begin(), result.end(), *fd) == result.end()) { - result.push_back(*fd); - } - } - } - - return result; -} - -static std::vector build_synth_functions_state(STATE* s) { - std::vector synth_function_states; - int i, j; - int aug_graph_count = s->match_rules.length; - - for (i = 0; i < s->phyla.length; i++) { - PHY_GRAPH* pg = &s->phy_graphs[i]; - if (Declaration_KEY(pg->phylum) != KEYphylum_decl) { - continue; - } - - for (j = 0; j < pg->instances.length; j++) { - INSTANCE* in = &pg->instances.array[j]; - bool is_fiber = in->fibered_attr.fiber != NULL; - bool is_shared_info = ATTR_DECL_IS_SHARED_INFO(in->fibered_attr.attr); - - if (!instance_is_synthesized(in)) { - continue; - } - - SYNTH_FUNCTION_STATE* state = new SYNTH_FUNCTION_STATE(); - state->fdecl_name = instance_to_string_with_nodetype(pg->phylum, in); - state->source = in; - state->is_phylum_instance = true; - state->source_phy_graph = pg; - state->is_fiber_evaluation = is_fiber || is_shared_info; - - if (state->is_fiber_evaluation && state->source->node != NULL) { - printf("Warning: Synthesizing fiber evaluation for instance with attributed node, which is not supported yet. Instance: "); - print_instance(in, stdout); - printf("\n"); - } - - state->regular_dependencies = collect_phylum_graph_attr_dependencies(pg, in); - state->aug_graphs = collect_lhs_aug_graphs(s, pg); - - synth_function_states.push_back(state); - } - } - - for (i = 0; i < aug_graph_count; i++) { - AUG_GRAPH* aug_graph = &s->aug_graphs[i]; - - switch (Declaration_KEY(aug_graph->lhs_decl)) { - case KEYsome_function_decl: - continue; - default: - break; - } - - for (j = 0; j < aug_graph->instances.length; j++) { - INSTANCE* instance = &aug_graph->instances.array[j]; - bool is_local = instance_direction(instance) == instance_local; - bool is_fiber = instance->fibered_attr.fiber != NULL; - bool is_shared_info = ATTR_DECL_IS_SHARED_INFO(instance->fibered_attr.attr); - - if (is_local && !is_fiber && !if_rule_p(instance->fibered_attr.attr)) { - switch (Declaration_KEY(instance->fibered_attr.attr)) { - case KEYformal: - continue; - default: - break; - } - - Declaration attr = instance->fibered_attr.attr; - PHY_GRAPH* pg = Declaration_info(aug_graph->lhs_decl)->node_phy_graph; - Declaration tdecl = canonical_type_decl(canonical_type(value_decl_type(attr))); - - SYNTH_FUNCTION_STATE* state = new SYNTH_FUNCTION_STATE(); - state->fdecl_name = instance_to_string_with_nodetype(tdecl, instance); - state->source = instance; - state->is_phylum_instance = false; - state->source_phy_graph = pg; - state->is_fiber_evaluation = is_fiber || is_shared_info; - state->regular_dependencies = collect_aug_graph_attr_dependencies(aug_graph, instance); - - std::vector field_deps = collect_field_assign_dependencies(aug_graph, instance); - for (auto fd = field_deps.begin(); fd != field_deps.end(); fd++) { - if (std::find(state->regular_dependencies.begin(), - state->regular_dependencies.end(), *fd) == state->regular_dependencies.end()) { - state->regular_dependencies.push_back(*fd); - } - } - - vector aug_graphs; - aug_graphs.push_back(aug_graph); - state->aug_graphs = aug_graphs; - - synth_function_states.push_back(state); - } - } - } - - return synth_function_states; -} - -static void destroy_synth_function_states(const vector& states) { - for (auto it = states.begin(); it != states.end(); it++) { - delete (*it); - } -} - -static void dump_attribute_type(INSTANCE* in, ostream& os) { - CanonicalType* ctype = canonical_type(infer_some_value_decl_type(in->fibered_attr.attr)); - switch (ctype->key) { - case KEY_CANONICAL_USE: { - os << "T_" << decl_name(canonical_type_decl(ctype)); - break; - } - case KEY_CANONICAL_FUNC: { - struct Canonical_function_type* fdecl_ctype = (struct Canonical_function_type*)ctype; - os << "T_" << decl_name(canonical_type_decl(fdecl_ctype->return_type)); - break; - } - default: - break; - } -} +static const string PREV_LOOP_VAR = "prevIsInsideFixedPoint"; class FiberDependencyDumper { -public: + public: static void dump(AUG_GRAPH* aug_graph, INSTANCE* sink, ostream& os) { - - int i, j; int n = aug_graph->instances.length; - vector relevant_instances; - // collect relevant fiber dependencies - for (i = 0; i < n; i++) { + for (int i = 0; i < n; i++) { INSTANCE* in = &aug_graph->instances.array[i]; if (in->node != NULL && Declaration_KEY(in->node) == KEYpragma_call) { continue; } - if (in->index == sink->index) { continue; } - - if (edgeset_kind(aug_graph->graph[in->index * n + sink->index])) { - if (in->fibered_attr.fiber != NULL) { - if (instance_is_synthesized(in) || instance_is_local(in)) { - relevant_instances.push_back(in); - } - } + if (edgeset_kind(aug_graph->graph[in->index * n + sink->index]) && in->fibered_attr.fiber != NULL && + (synth_util::instance_is_synthesized(in) || fibered_attr_direction(&in->fibered_attr) == instance_local)) { + relevant_instances.push_back(in); } } @@ -381,13 +63,10 @@ class FiberDependencyDumper { SccGraph scc_graph; scc_graph_initialize(&scc_graph, static_cast(relevant_instances.size())); - // add vertices to the SCC graph for (auto it = relevant_instances.begin(); it != relevant_instances.end(); it++) { - INSTANCE* in = *it; - scc_graph_add_vertex(&scc_graph, in); + scc_graph_add_vertex(&scc_graph, *it); } - // add edges to the SCC graph for (auto it1 = relevant_instances.begin(); it1 != relevant_instances.end(); it1++) { INSTANCE* in1 = *it1; for (auto it2 = relevant_instances.begin(); it2 != relevant_instances.end(); it2++) { @@ -395,7 +74,6 @@ class FiberDependencyDumper { if (in1->index == in2->index) { continue; } - if (edgeset_kind(aug_graph->graph[in1->index * n + in2->index])) { scc_graph_add_edge(&scc_graph, in1, in2); } @@ -404,132 +82,69 @@ class FiberDependencyDumper { SCC_COMPONENTS* components = scc_graph_components(&scc_graph); - if (include_comments) { - os << indent() << "/* Fiber dependency SCC components:\n"; - nesting_level++; - for (i = 0; i < components->length; i++) { - SCC_COMPONENT* component = components->array[i]; - os << indent() << "Component " << i << ":\n"; - nesting_level++; - for (j = 0; j < component->length; j++) { - INSTANCE* in = (INSTANCE*)component->array[j]; - os << indent() << in << "\n"; - } - nesting_level--; - } - nesting_level--; - os << indent() << "*/\n"; - } - dump_scc_helper(aug_graph, components, scheduled, os); scc_graph_destroy(&scc_graph); } -private: - static void dump_pure_farrow_helper(AUG_GRAPH* aug_graph, - const vector& relevant_instances, - bool* scheduled, - int& count_scheduled, - ostream& os) { - int n = aug_graph->instances.length; - - if (count_scheduled == static_cast(relevant_instances.size())) { - return; - } - - for (auto it1 = relevant_instances.begin(); it1 != relevant_instances.end(); it1++) { - INSTANCE* in = *it1; - if (scheduled[in->index]) { - continue; - } - - bool dependency_ready = true; - for (auto it2 = relevant_instances.begin(); it2 != relevant_instances.end(); it2++) { - INSTANCE* dependency_instance = *it2; - if (scheduled[dependency_instance->index] || - !edgeset_kind(aug_graph->graph[dependency_instance->index * n + in->index])) { - continue; - } - dependency_ready = false; - } - - if (!dependency_ready) { - continue; + private: + static bool already_scheduled(SCC_COMPONENT* component, bool* scheduled) { + for (int i = 0; i < component->length; i++) { + INSTANCE* in = (INSTANCE*)component->array[i]; + if (!scheduled[in->index]) { + return false; } - - scheduled[in->index] = true; - os << indent(); - synth_impl_ptr->dump_synth_instance(in, os); - dumped_conditional_block_items.clear(); - dumped_instances.clear(); - os << "\n"; - count_scheduled++; - dump_pure_farrow_helper(aug_graph, relevant_instances, scheduled, count_scheduled, os); - } - - if (count_scheduled != static_cast(relevant_instances.size())) { - fatal_error("failed to find next dependency to schedule count_scheduled: %d, count_relevant_instances: %d", - count_scheduled, static_cast(relevant_instances.size())); } + return true; } - static void dump_pure_farrow(AUG_GRAPH* aug_graph, INSTANCE* sink, ostream& os) { + static SCC_COMPONENT* find_next_ready_component(AUG_GRAPH* aug_graph, SCC_COMPONENTS* components, bool* scheduled) { int n = aug_graph->instances.length; - vector relevant_instances; - for (int i = 0; i < n; i++) { - INSTANCE* in = &aug_graph->instances.array[i]; - if (in->node != NULL && Declaration_KEY(in->node) == KEYpragma_call) { + for (int i = 0; i < components->length; i++) { + SCC_COMPONENT* component = components->array[i]; + if (already_scheduled(component, scheduled)) { continue; } - if (edgeset_kind(aug_graph->graph[in->index * n + sink->index]) && - in->fibered_attr.fiber != NULL && - (instance_is_synthesized(in) || instance_is_local(in))) { - relevant_instances.push_back(in); - } - } - - bool* scheduled = (bool*)alloca(sizeof(bool) * n); - memset(scheduled, 0, sizeof(bool) * n); - - int count_scheduled = 0; - dump_pure_farrow_helper(aug_graph, relevant_instances, scheduled, count_scheduled, os); - } + bool component_ready = true; + for (int j = 0; j < component->length && component_ready; j++) { + INSTANCE* in = (INSTANCE*)component->array[j]; - static void dump_scc_helper(AUG_GRAPH* aug_graph, SCC_COMPONENTS* components, bool* scheduled, ostream& os) { - int component_count = components->length; - int i; - for (i = 0; i < component_count; i++) { - SCC_COMPONENT* component = find_next_ready_component(aug_graph, components, scheduled); + for (int k = 0; k < components->length && component_ready; k++) { + SCC_COMPONENT* other_component = components->array[k]; + if (other_component == component || already_scheduled(other_component, scheduled)) { + continue; + } - dump_scc_helper_dump(aug_graph, component, scheduled, os); - } + for (int l = 0; l < other_component->length; l++) { + INSTANCE* other_in = (INSTANCE*)other_component->array[l]; + if (edgeset_kind(aug_graph->graph[other_in->index * n + in->index])) { + component_ready = false; + break; + } + } + } + } - for (i = 0; i < component_count; i++) { - SCC_COMPONENT* component = components->array[i]; - if (!already_scheduled(aug_graph, component, scheduled)) { - fatal_error("some instances were not scheduled"); + if (component_ready) { + return component; } } - } - - static void dump_scc_helper_dump(AUG_GRAPH* aug_graph, SCC_COMPONENT* component, bool* scheduled, ostream& os) { - int i; - if (already_scheduled(aug_graph, component, scheduled)) { - return; - } + fatal_error("no more components to schedule"); + return NULL; + } + static void dump_component(AUG_GRAPH* aug_graph, SCC_COMPONENT* component, bool* scheduled, ostream& os) { int n = aug_graph->instances.length; - if (component->length == 0) { + + if (component->length == 0 || already_scheduled(component, scheduled)) { return; } - for (i = 0; i < component->length; i++) { + for (int i = 0; i < component->length; i++) { INSTANCE* in = (INSTANCE*)component->array[i]; - if (scheduled[in->index]) { continue; } @@ -540,13 +155,10 @@ class FiberDependencyDumper { if (dependency_instance == in) { continue; } - - if (!scheduled[dependency_instance->index] && - edgeset_kind(aug_graph->graph[dependency_instance->index * n + in->index]) & DEPENDENCY_MAYBE_DIRECT) { + if (!scheduled[dependency_instance->index] && (edgeset_kind(aug_graph->graph[dependency_instance->index * n + in->index]) & DEPENDENCY_MAYBE_DIRECT)) { dependency_ready = false; } } - if (!dependency_ready) { continue; } @@ -558,260 +170,70 @@ class FiberDependencyDumper { dumped_instances.clear(); os << ";\n"; - dump_scc_helper_dump(aug_graph, component, scheduled, os); + dump_component(aug_graph, component, scheduled, os); } } - static bool already_scheduled(AUG_GRAPH* aug_graph, SCC_COMPONENT* component, bool* scheduled) { - for (int i = 0; i < component->length; i++) { - INSTANCE* in = (INSTANCE*)component->array[i]; - if (!scheduled[in->index]) { - return false; + static void dump_scc_helper(AUG_GRAPH* aug_graph, SCC_COMPONENTS* components, bool* scheduled, ostream& os) { + int component_count = components->length; + + for (int i = 0; i < component_count; i++) { + SCC_COMPONENT* component = find_next_ready_component(aug_graph, components, scheduled); + dump_component(aug_graph, component, scheduled, os); + } + + for (int i = 0; i < component_count; i++) { + if (!already_scheduled(components->array[i], scheduled)) { + fatal_error("some instances were not scheduled"); } } - return true; } +}; - static SCC_COMPONENT* find_next_ready_component(AUG_GRAPH* aug_graph, - SCC_COMPONENTS* components, - bool* scheduled) { - - int n = aug_graph->instances.length; - - for (int i = 0; i < components->length; i++) { - SCC_COMPONENT* component = components->array[i]; +static void emit_fixed_point_loop_start(ostream& os, const string& flag, bool is_independent = false, INSTANCE* cycle_instance = NULL) { + if (is_independent) { + if (cycle_instance != NULL && cycle_instance->node != NULL) { + os << indent() << "if (" << synth_util::instance_to_attr(cycle_instance) << ".checkNode(v_" << decl_name(cycle_instance->node) << ").status != Evaluation.ASSIGNED) {\n"; + ++nesting_level; + } + } else { + os << indent() << "if (!" << synth_util::LOOP_VAR << ") {\n"; + ++nesting_level; + } - // if all instances in the component are scheduled, skip it - if (already_scheduled(aug_graph, component, scheduled)) { - continue; - } + synth_util::emit_fixed_point_loop_start(os, flag); +} - bool component_ready = true; - for (int j = 0; j < component->length && component_ready; j++) { - INSTANCE* in = (INSTANCE*)component->array[j]; +static void emit_fixed_point_loop_end(ostream& os, bool is_independent = false, INSTANCE* cycle_instance = NULL) { + synth_util::emit_fixed_point_loop_end(os); - for (int k = 0; k < components->length && component_ready; k++) { - SCC_COMPONENT* other_component = components->array[k]; - if (other_component == component) { - continue; - } - - if (already_scheduled(aug_graph, other_component, scheduled)) { - continue; - } - - for (int l = 0; l < other_component->length; l++) { - INSTANCE* other_in = (INSTANCE*)other_component->array[l]; - if (edgeset_kind(aug_graph->graph[other_in->index * n + in->index])) { - component_ready = false; - break; - } - } - } - } - - if (component_ready) { - return component; - } - } - - fatal_error("no more components to schedule"); - return NULL; - } -}; - -// True if this synth function computes a circular attribute. Such attributes -// assign through the change-tracking overload so the fixed-point loop can detect -// when they stop changing. -static bool synth_function_is_circular(SYNTH_FUNCTION_STATE* st) { - if (st->is_fiber_evaluation) { - return false; - } - if (instance_is_pure_shared_info(st->source)) { - return false; - } - for (auto it = st->aug_graphs.begin(); it != st->aug_graphs.end(); it++) { - AUG_GRAPH* aug_graph = *it; - INSTANCE* inst = NULL; - if (st->is_phylum_instance) { - if (!find_instance(aug_graph, aug_graph->lhs_decl, st->source->fibered_attr, &inst)) { - continue; - } - } else { - inst = st->source; - } - if (instance_circular(inst)) { - return true; - } - } - return false; -} - -static bool instance_is_child(INSTANCE* instance, AUG_GRAPH* aug_graph) { - return instance->node != NULL && instance->node != aug_graph->lhs_decl; -} - -static bool instance_is_parent(INSTANCE* instance, AUG_GRAPH* aug_graph) { - return instance->node != NULL && instance->node == aug_graph->lhs_decl; -} - -// Can this instance participate in a local cycle? -// Must be: on a child node, synthesized, circular, non-fiber, not an if-rule. -// -// Example: in `match ?self:Block = scope(?ds:Declarations)`, ds.decls_defs -// passes this check if it is declared circular. -static bool is_local_cycle_candidate(INSTANCE* instance, AUG_GRAPH* aug_graph) { - bool on_child_node = instance_is_child(instance, aug_graph); - return on_child_node && - instance->fibered_attr.fiber == NULL && - !if_rule_p(instance->fibered_attr.attr) && - instance_is_synthesized(instance) && - instance_circular(instance); -} - -// Is `inherited` in the same cycle as `instance`? -// Same child node, inherited direction, circular, and `instance` feeds it directly. -// -// Pattern: child.synth -> parent -> child.inherited -> child.synth (loop) -// If we find this pair we can iterate locally at this production. -static bool is_in_same_cycle(INSTANCE* inherited, INSTANCE* instance, AUG_GRAPH* aug_graph) { - int n = aug_graph->instances.length; - bool instance_feeds_inherited = - edgeset_kind(aug_graph->graph[instance->index * n + inherited->index]) & DEPENDENCY_MAYBE_DIRECT; - return inherited != instance && - inherited->node == instance->node && - inherited->fibered_attr.fiber == NULL && - instance_is_inherited(inherited) && - instance_circular(inherited) && - instance_feeds_inherited; -} - -// Check if child cycle has no connection to any fiber/shared-info cycle. -// If no edge exists (both directions) between child cycle and fiber instances, -// then it is independent. aug_graph edges are transitive so one check is enough. -static bool is_child_cycle_independent(AUG_GRAPH* aug_graph, INSTANCE* cycle_instance) { - int n = aug_graph->instances.length; - - // collect instances in this child cycle (synth instance + inherited it feeds) - std::vector child_cycle_indices; - child_cycle_indices.push_back(cycle_instance->index); - for (int i = 0; i < n; i++) { - INSTANCE* inst = &aug_graph->instances.array[i]; - if (is_in_same_cycle(inst, cycle_instance, aug_graph)) { - child_cycle_indices.push_back(inst->index); - } - } - - // if any fiber/shared-info circular instance has edge to/from our cycle, - // then they are related -> not independent - for (int i = 0; i < n; i++) { - INSTANCE* inst = &aug_graph->instances.array[i]; - // Only consider fiber or shared-info instances that are circular - if (inst->fibered_attr.fiber == NULL && !ATTR_DECL_IS_SHARED_INFO(inst->fibered_attr.attr)) { - continue; - } - if (!instance_circular(inst)) { - continue; - } - for (size_t k = 0; k < child_cycle_indices.size(); k++) { - int idx = child_cycle_indices[k]; - if (edgeset_kind(aug_graph->graph[i * n + idx]) || - edgeset_kind(aug_graph->graph[idx * n + i])) { - return false; // related to a fiber/shared-info cycle - } - } - } - - return true; -} - -// Find child instances that have a cycle at this production. -// A synth circular child that feeds its own inherited circular attr = local cycle. -static std::vector collect_child_cycle_instances(AUG_GRAPH* aug_graph) { - std::vector result; - int n = aug_graph->instances.length; - for (int i = 0; i < n; i++) { - INSTANCE* instance = &aug_graph->instances.array[i]; - if (!is_local_cycle_candidate(instance, aug_graph)) { - continue; - } - - for (int j = 0; j < n; j++) { - INSTANCE* inherited = &aug_graph->instances.array[j]; - if (is_in_same_cycle(inherited, instance, aug_graph)) { - result.push_back(instance); - break; - } - } - } - return result; -} - -// Emits the two implicits every fixed-point loop body opens with: isInsideFixedPoint -// (disables caching) and `changed` bound to this loop's convergence flag. -static void emit_loop_implicits(ostream& os, const string& flag) { - os << indent() << "implicit val " << LOOP_VAR << ": Boolean = true;\n"; - os << indent() << "implicit val changed: AtomicBoolean = " << flag << ";\n"; -} - -static void emit_fixed_point_loop_start(ostream& os, - const string& flag, - bool is_independent = false, - INSTANCE* cycle_instance = NULL) { - if (is_independent) { - os << indent() << "// Independent cycle: always converge locally\n"; - if (cycle_instance != NULL && cycle_instance->node != NULL) { - // Skip the loop if this child cycle already converged - os << indent() << "if (" << instance_to_attr(cycle_instance) - << ".checkNode(v_" << decl_name(cycle_instance->node) - << ").status != Evaluation.ASSIGNED) {\n"; - ++nesting_level; - } - } else { - os << indent() << "if (!" << LOOP_VAR << ") {\n"; - ++nesting_level; - } - os << indent() << "val " << flag << " = new AtomicBoolean(true);\n"; - os << indent() << "while (" << flag << ".get) {\n"; - ++nesting_level; - os << indent() << flag << ".set(false);\n"; - emit_loop_implicits(os, flag); -} - -static void emit_fixed_point_loop_end(ostream& os, - bool is_independent = false, - INSTANCE* cycle_instance = NULL) { - --nesting_level; - os << indent() << "}\n"; - if (is_independent) { - if (cycle_instance != NULL && cycle_instance->node != NULL) { - --nesting_level; - os << indent() << "}\n"; - } - } else { - --nesting_level; - os << indent() << "}\n"; - } -} + if (is_independent) { + if (cycle_instance != NULL && cycle_instance->node != NULL) { + --nesting_level; + os << indent() << "}\n"; + } + } else { + --nesting_level; + os << indent() << "}\n"; + } +} static vector synthesized_component_instances(SCC_COMPONENT* component) { vector result; for (int i = 0; i < component->length; i++) { INSTANCE* instance = (INSTANCE*)component->array[i]; - if (instance_is_synthesized(instance)) { + if (synth_util::instance_is_synthesized(instance)) { result.push_back(instance); } } return result; } -static void emit_root_evaluations(ostream& os, - Declaration start_phylum, - const vector& instances) { +static void emit_root_evaluations(ostream& os, Declaration start_phylum, const vector& instances) { os << indent() << "for (root <- t_" << decl_name(start_phylum) << ".nodes) {\n"; ++nesting_level; for (auto instance = instances.begin(); instance != instances.end(); instance++) { - string eval_name = instance_to_string_with_nodetype(start_phylum, *instance); + string eval_name = synth_util::instance_to_string_with_nodetype(start_phylum, *instance); os << indent() << "eval_" << eval_name << "(root);\n"; } --nesting_level; @@ -826,25 +248,19 @@ static void emit_start_phylum_evaluations(ostream& os, STATE* state) { vector synthesized_instances; for (int i = 0; i < start_graph->instances.length; i++) { INSTANCE* instance = &start_graph->instances.array[i]; - if (instance_is_synthesized(instance)) { + if (synth_util::instance_is_synthesized(instance)) { synthesized_instances.push_back(instance); } } - if (include_comments) { - os << indent() << "// non-circular root evaluation\n"; - } emit_root_evaluations(os, state->start_phylum, synthesized_instances); return; } os << indent() << "implicit val changed: AtomicBoolean = new AtomicBoolean(false);\n"; - os << indent() << "implicit val " << LOOP_VAR << ": Boolean = false;\n"; - + os << indent() << "implicit val " << synth_util::LOOP_VAR << ": Boolean = false;\n"; + set_phylum_graph_components(start_graph); - // SCC components are dependency-first. Acyclic components run once; only the - // mutually dependent evaluations within a circular component iterate together. - // Child dependencies remain demand-driven inside each generated eval function. for (int component_index = 0; component_index < start_graph->components->length; component_index++) { SCC_COMPONENT* component = start_graph->components->array[component_index]; vector synthesized_instances = synthesized_component_instances(component); @@ -853,38 +269,26 @@ static void emit_start_phylum_evaluations(ostream& os, STATE* state) { } if (start_graph->component_cycle[component_index]) { - if (include_comments) { - os << indent() << "// circular root component " << component_index << "\n"; - } os << indent() << "{\n"; ++nesting_level; - emit_fixed_point_loop_start(os, "componentChanged" + std::to_string(component_index)); - emit_root_evaluations(os, state->start_phylum, synthesized_instances); - emit_fixed_point_loop_end(os); + emit_fixed_point_loop_start(os, "componentChanged" + std::to_string(component_index)); + emit_root_evaluations(os, state->start_phylum, synthesized_instances); + emit_fixed_point_loop_end(os); --nesting_level; os << indent() << "}\n"; } else { - if (include_comments) { - os << indent() << "// non-circular root component " << component_index << "\n"; - } emit_root_evaluations(os, state->start_phylum, synthesized_instances); } } } -// Collects the field assignments of a locally-built object, e.g. for -// `c : Context := context(...)` it returns c.ptr1 := ..., c.ptr2 := ... . -// Each entry keeps the field, the rhs, and the instance the rhs computes (used to -// linearize the rhs). These fields are read directly via a_field.get by remote -// access (index_scope), so we have to assign them while evaluating the object. struct ObjectFieldAssign { Declaration field; Expression rhs; INSTANCE* instance; }; -static std::vector -collect_object_field_assignments(AUG_GRAPH* aug_graph, Declaration obj_decl) { +static std::vector collect_object_field_assignments(AUG_GRAPH* aug_graph, Declaration obj_decl) { std::vector result; Block body = matcher_body(top_level_match_m(aug_graph->match_rule)); for (Declaration d = first_Declaration(block_body(body)); d; d = DECL_NEXT(d)) { @@ -915,136 +319,95 @@ collect_object_field_assignments(AUG_GRAPH* aug_graph, Declaration obj_decl) { return result; } -#ifdef APS2SCALA -static void dump_synth_functions(STATE* s, ostream& os) -#else /* APS2SCALA */ -static void dump_synth_functions(STATE* s, output_streams& oss) -#endif /* APS2SCALA */ -{ -#ifdef APS2SCALA - ostream& oss = os; -#else /* !APS2SCALA */ - ostream& hs = oss.hs; - ostream& cpps = oss.cpps; - ostream& os = inline_definitions ? hs : cpps; - -#endif /* APS2SCALA */ - // first dump all visit functions for each phylum: - +static void dump_synth_functions(STATE* s, ostream& os) { os << "\n"; - synth_functions_states = build_synth_functions_state(s); + synth_functions_states = synth_util::build_synth_function_states(s); bool needs_fixed_point = s->loop_required; for (auto state_it = synth_functions_states.begin(); state_it != synth_functions_states.end(); state_it++) { - SYNTH_FUNCTION_STATE* synth_functions_state = *state_it; + synth_util::SynthFunctionState* synth_functions_state = *state_it; current_synth_functions_state = synth_functions_state; - - // result var has instance index suffix so each function has unique name - string result_var = RESULT_VAR_PREFIX + std::to_string(synth_functions_state->source->index); + string result_var = synth_util::RESULT_VAR_PREFIX + std::to_string(synth_functions_state->source->index); if (include_comments) { - os << indent() << "// " << synth_functions_state->source << " (" - << (synth_functions_state->is_phylum_instance ? "phylum" : "aug-graph") << ")\n"; + os << indent() << "// " << synth_functions_state->source << " (" << (synth_functions_state->is_phylum_instance ? "phylum" : "aug-graph") << ")\n"; } - if (synth_functions_state->is_fiber_evaluation) { - os << indent() << "val evaluated_map_" << synth_functions_state->fdecl_name - << " = scala.collection.mutable.Map[Int" - << ", Boolean]()" - << "\n\n"; + if (synth_functions_state->is_side_effect_evaluation) { + os << indent() << "val evaluated_map_" << synth_functions_state->fdecl_name << " = scala.collection.mutable.Map[Int, Boolean]()\n\n"; } os << indent() << "def eval_" << synth_functions_state->fdecl_name << "("; os << "node: T_" << decl_name(synth_functions_state->source_phy_graph->phylum); - for (auto it = synth_functions_state->regular_dependencies.begin(); - it != synth_functions_state->regular_dependencies.end(); it++) { + for (auto it = synth_functions_state->regular_dependencies.begin(); it != synth_functions_state->regular_dependencies.end(); it++) { INSTANCE* source_instance = *it; - if (should_skip_synth_dependency(source_instance)) { + if (synth_util::should_skip_synth_dependency(source_instance)) { continue; } - - // for locals, it needs prefix in formals, not for fibers or regular attributes - - os << ",\n"; - os << indent(nesting_level+1); - os << "v_"; - + os << ",\n" << indent(nesting_level + 1) << "v_"; if (!synth_functions_state->is_phylum_instance) { - os << instance_to_string(source_instance, false, false) << ": "; + os << synth_util::instance_to_string(source_instance) << ": "; } else { - os << instance_to_string(source_instance, false, true) << ": "; + os << synth_util::instance_to_string(source_instance, true) << ": "; } - - dump_attribute_type(source_instance, os); + synth_util::dump_attribute_type(source_instance, os); } os << ")"; - if (needs_fixed_point) { - os << "(implicit " << LOOP_VAR << ": Boolean, changed: AtomicBoolean)"; + os << "(implicit " << synth_util::LOOP_VAR << ": Boolean, changed: AtomicBoolean)"; } os << ": "; - - if (synth_functions_state->is_fiber_evaluation) { + if (synth_functions_state->is_side_effect_evaluation) { os << "Unit"; } else { - dump_attribute_type(synth_functions_state->source, os); + synth_util::dump_attribute_type(synth_functions_state->source, os); } os << " = {\n"; nesting_level++; - // don't cache if we are in the loop. if (needs_fixed_point) { - os << indent() << "if (!" << LOOP_VAR << ") {\n"; + os << indent() << "if (!" << synth_util::LOOP_VAR << ") {\n"; nesting_level++; } - if (synth_functions_state->is_fiber_evaluation) { - os << indent() << "evaluated_map_" << synth_functions_state->fdecl_name - << ".getOrElse(node.nodeNumber, false) match {\n"; - os << indent(nesting_level + 1) << "case true => "; - os << "return ()\n"; + if (synth_functions_state->is_side_effect_evaluation) { + os << indent() << "evaluated_map_" << synth_functions_state->fdecl_name << ".getOrElse(node.nodeNumber, false) match {\n"; + os << indent(nesting_level + 1) << "case true => return ()\n"; } else { - os << indent() << instance_to_attr(synth_functions_state->source) - << ".checkNode(node).status match {\n"; + os << indent() << synth_util::instance_to_attr(synth_functions_state->source) << ".checkNode(node).status match {\n"; os << indent(nesting_level + 1) << "case Evaluation.ASSIGNED => "; if (include_comments) { os << "{\n"; nesting_level++; - os << indent(nesting_level + 1) << "Debug.out(\"cache hit for \" + node + \" with value \" + " << instance_to_attr(synth_functions_state->source) << ".get(node));\n"; + os << indent(nesting_level + 1) << "Debug.out(\"cache hit for \" + node + \" with value \" + " << synth_util::instance_to_attr(synth_functions_state->source) << ".get(node));\n"; os << indent(nesting_level + 1); } - - os << "return " << instance_to_attr(synth_functions_state->source) << ".get(node)\n"; - + os << "return " << synth_util::instance_to_attr(synth_functions_state->source) << ".get(node)\n"; if (include_comments) { nesting_level--; os << indent(nesting_level + 1) << "}\n"; } } - + os << indent(nesting_level + 1) << "case _ => ()\n"; os << indent() << "};\n"; if (needs_fixed_point) { nesting_level--; - os << indent() << "}"; - os << "\n"; + os << indent() << "}\n"; } - if (synth_functions_state->is_fiber_evaluation) { + if (synth_functions_state->is_side_effect_evaluation) { os << indent() << "node match {\n"; } else { os << indent() << "val " << result_var << " = node match {\n"; } nesting_level++; - // True if this attribute is circular anywhere. Then every assignment uses the - // change-tracking overload so the closure-site loop can see it settle; only - // the closure site emits the do/while. - bool source_circular = needs_fixed_point && synth_function_is_circular(synth_functions_state); + bool source_circular = needs_fixed_point && synth_util::synth_function_is_circular(synth_functions_state); for (auto it = synth_functions_state->aug_graphs.begin(); it != synth_functions_state->aug_graphs.end(); it++) { AUG_GRAPH* aug_graph = *it; @@ -1058,49 +421,41 @@ static void dump_synth_functions(STATE* s, output_streams& oss) INSTANCE* aug_graph_instance = NULL; if (synth_functions_state->is_phylum_instance) { - if (!find_instance(aug_graph, aug_graph->lhs_decl, synth_functions_state->source->fibered_attr, &aug_graph_instance)) { + if (!synth_util::find_instance(aug_graph, aug_graph->lhs_decl, synth_functions_state->source->fibered_attr, &aug_graph_instance)) { fatal_error("something is wrong with instances in aug graph %s", aug_graph_name(aug_graph)); } } else { aug_graph_instance = synth_functions_state->source; } - // Linearize the current scope block but make sure IF statements or conditional instances - // that have nothing to do with this instance don't appear in linearization - current_scope_block = linearize_block(aug_graph, aug_graph_instance); + current_scope_block = synth_util::linearize_block(aug_graph, aug_graph_instance); if (include_comments) { os << indent() << "/* Linearized schedule:\n"; nesting_level++; - print_linearized_block(current_scope_block, os); + synth_util::print_linearized_block(current_scope_block, os); nesting_level--; os << indent() << "*/\n"; } int src_idx = synth_functions_state->source->index; - string src_attr = instance_to_attr(synth_functions_state->source); + string src_attr = synth_util::instance_to_attr(synth_functions_state->source); bool declared_is_circular = instance_circular(aug_graph_instance); bool depends_on_itself = edgeset_kind(aug_graph->graph[src_idx * n + src_idx]) != 0; - if (!declared_is_circular && depends_on_itself) { - aps_warning(aug_graph_instance->node, "Instance %s depends on itself but is not declared circular", instance_to_string(aug_graph_instance).c_str()); + aps_warning(aug_graph_instance->node, "Instance %s depends on itself but is not declared circular", synth_util::instance_to_string(aug_graph_instance).c_str()); } - // Non-fiber cycles: we iterate at the child level (collect_child_cycle_instances). - // We do NOT emit per-attribute do/while because that would nest loops - // down the tree and become exponential. Fiber cycles are different, they loop here. - bool dump_fixed_point_loop = synth_functions_state->is_fiber_evaluation && declared_is_circular && !instance_is_pure_shared_info(synth_functions_state->source); + bool dump_fixed_point_loop = synth_functions_state->is_side_effect_evaluation && declared_is_circular && !synth_util::instance_is_pure_shared_info(synth_functions_state->source); string node_get = ATTR_DECL_IS_SHARED_INFO(synth_functions_state->source->fibered_attr.attr) ? "" : "node"; string node_assign = ATTR_DECL_IS_SHARED_INFO(synth_functions_state->source->fibered_attr.attr) ? "" : "node, "; - // converge child cycles first, so the value below sees stable results - if (!synth_functions_state->is_fiber_evaluation) { - std::vector child_cycle_instances = collect_child_cycle_instances(aug_graph); + if (!synth_functions_state->is_side_effect_evaluation) { + std::vector child_cycle_instances = synth_util::collect_child_cycle_instances(aug_graph); for (auto it2 = child_cycle_instances.begin(); it2 != child_cycle_instances.end(); it2++) { INSTANCE* cycle_instance = *it2; - // independent = always loop, related = skip if already in outer loop - bool independent = is_child_cycle_independent(aug_graph, cycle_instance); + bool independent = synth_util::child_cycle_is_independent(aug_graph, cycle_instance); INSTANCE* guarded_cycle = independent ? cycle_instance : NULL; emit_fixed_point_loop_start(os, "localChanged", independent, guarded_cycle); dumped_conditional_block_items.clear(); @@ -1114,11 +469,10 @@ static void dump_synth_functions(STATE* s, output_streams& oss) dumped_instances.clear(); } - // Open fixed-point loop using shared changed flag for convergence tracking if (dump_fixed_point_loop) { os << indent() << "{\n"; nesting_level++; - os << indent() << "val " << PREV_LOOP_VAR << src_idx << " = " << LOOP_VAR << ";\n"; + os << indent() << "val " << PREV_LOOP_VAR << src_idx << " = " << synth_util::LOOP_VAR << ";\n"; os << indent() << "val prevChanged" << src_idx << " = changed;\n"; os << indent() << "val newChanged" << src_idx << " = new AtomicBoolean(false);\n"; if (include_comments) { @@ -1127,14 +481,11 @@ static void dump_synth_functions(STATE* s, output_streams& oss) os << indent() << "do {\n"; nesting_level++; os << indent() << "newChanged" << src_idx << ".set(false);\n"; - if (synth_functions_state->is_fiber_evaluation) { - tracking_fiber_convergence = true; - } - emit_loop_implicits(os, "newChanged" + std::to_string(src_idx)); + tracking_fiber_convergence = true; + synth_util::emit_loop_implicits(os, "newChanged" + std::to_string(src_idx)); } - // Fiber dependencies (inside loop when looping) - if (synth_functions_state->is_fiber_evaluation) { + if (synth_functions_state->is_side_effect_evaluation) { if (include_comments && !dump_fixed_point_loop) { os << "\n"; } @@ -1146,8 +497,7 @@ static void dump_synth_functions(STATE* s, output_streams& oss) dumped_instances.clear(); } - // Non-fiber instance computation - if (!synth_functions_state->is_fiber_evaluation) { + if (!synth_functions_state->is_side_effect_evaluation) { if (dump_fixed_point_loop) { os << indent() << src_attr << ".assign(" << node_assign; synth_impl_ptr->dump_synth_instance(aug_graph_instance, os); @@ -1159,18 +509,16 @@ static void dump_synth_functions(STATE* s, output_streams& oss) } } - // Close fixed-point loop if (dump_fixed_point_loop) { tracking_fiber_convergence = false; if (include_comments) { os << indent() << "iterCount" << src_idx << " += 1;\n"; - os << indent() << "Debug.out(\"fixed-point " << synth_functions_state->fdecl_name - << " node=\" + node + \" iteration=\" + iterCount" << src_idx << ");\n"; + os << indent() << "Debug.out(\"fixed-point " << synth_functions_state->fdecl_name << " node=\" + node + \" iteration=\" + iterCount" << src_idx << ");\n"; } nesting_level--; os << indent() << "} while (newChanged" << src_idx << ".get && !" << PREV_LOOP_VAR << src_idx << ")\n"; os << indent() << "prevChanged" << src_idx << ".compareAndSet(false, newChanged" << src_idx << ".get);\n"; - if (!synth_functions_state->is_fiber_evaluation) { + if (!synth_functions_state->is_side_effect_evaluation) { os << indent() << src_attr << ".get(" << node_get << ")\n"; } nesting_level--; @@ -1190,29 +538,22 @@ static void dump_synth_functions(STATE* s, output_streams& oss) nesting_level--; os << indent() << "};\n"; - if (synth_functions_state->is_fiber_evaluation) { - os << indent() << "evaluated_map_" << synth_functions_state->fdecl_name << ".update(node.nodeNumber, true);\n"; + if (synth_functions_state->is_side_effect_evaluation) { + os << indent() << "evaluated_map_" << synth_functions_state->fdecl_name << ".update(node.nodeNumber, true);\n"; } else { if (source_circular) { - os << indent() << instance_to_attr(synth_functions_state->source) << ".assign(node, " << result_var << ", changed);\n"; + os << indent() << synth_util::instance_to_attr(synth_functions_state->source) << ".assign(node, " << result_var << ", changed);\n"; } else { - os << indent() << instance_to_attr(synth_functions_state->source) << ".assign(node, " << result_var << ");\n"; + os << indent() << synth_util::instance_to_attr(synth_functions_state->source) << ".assign(node, " << result_var << ");\n"; } - os << indent() << instance_to_attr(synth_functions_state->source) << ".get(node);\n"; + os << indent() << synth_util::instance_to_attr(synth_functions_state->source) << ".get(node);\n"; } - // Assign a locally-built object's fields (c.ptr1 := ..., c.ptr2 := ...) once - // the object itself is in `result`. Done after the cache write so a rhs that - // refers back to this object reuses the cached value. Re-assigning is fine: - // the attribute is ASSIGNED, not EVALUATED, so set() won't throw. - if (!synth_functions_state->is_fiber_evaluation && - !synth_functions_state->is_phylum_instance) { + if (!synth_functions_state->is_side_effect_evaluation && !synth_functions_state->is_phylum_instance) { Declaration obj_decl = synth_functions_state->source->fibered_attr.attr; - for (auto ag_it = synth_functions_state->aug_graphs.begin(); - ag_it != synth_functions_state->aug_graphs.end(); ag_it++) { + for (auto ag_it = synth_functions_state->aug_graphs.begin(); ag_it != synth_functions_state->aug_graphs.end(); ag_it++) { AUG_GRAPH* aug_graph = *ag_it; - std::vector field_assigns = - collect_object_field_assignments(aug_graph, obj_decl); + std::vector field_assigns = collect_object_field_assignments(aug_graph, obj_decl); if (field_assigns.empty()) { continue; } @@ -1225,14 +566,12 @@ static void dump_synth_functions(STATE* s, output_streams& oss) nesting_level++; os << indent() << "case " << matcher_pat(top_level_match_m(aug_graph->match_rule)) << " => {\n"; nesting_level++; + for (auto fa = field_assigns.begin(); fa != field_assigns.end(); fa++) { - // skip a bare alias of a parent attr (e.g. newEnv.outer := self.block_env): - // FiberDependencyDumper handles those and the parent attr isn't in scope here if (fa->instance == NULL) { continue; } - // linearize for this field's instance so its rhs dependencies resolve - current_scope_block = linearize_block(aug_graph, fa->instance); + current_scope_block = synth_util::linearize_block(aug_graph, fa->instance); dumped_conditional_block_items.clear(); dumped_instances.clear(); os << indent() << "a_" << decl_name(fa->field) << DEREF; @@ -1241,8 +580,11 @@ static void dump_synth_functions(STATE* s, output_streams& oss) } else { os << "set"; } - os << "(" << result_var << ", " << fa->rhs << ");\n"; + os << "(" << result_var << ", "; + dump_Expression(fa->rhs, os); + os << ");\n"; } + nesting_level--; os << indent() << "}\n"; os << indent() << "case _ => ()\n"; @@ -1255,7 +597,7 @@ static void dump_synth_functions(STATE* s, output_streams& oss) } } - if (!synth_functions_state->is_fiber_evaluation) { + if (!synth_functions_state->is_side_effect_evaluation) { os << indent() << result_var << "\n"; } @@ -1263,7 +605,7 @@ static void dump_synth_functions(STATE* s, output_streams& oss) os << indent() << "}\n\n"; } - destroy_synth_function_states(synth_functions_states); + synth_util::destroy_synth_function_states(synth_functions_states); synth_functions_states.clear(); } @@ -1288,460 +630,253 @@ class SynthImpl : public SynthImplementation { void note_var_value_decl(Declaration vd, GEN_OUTPUT& oss) { Super::note_var_value_decl(vd, oss); } -#ifdef APS2SCALA - void implement(ostream& os){ -#else /* APS2SCALA */ - void implement(output_streams& oss) { -#endif /* APS2SCALA */ - STATE* s = (STATE*)Declaration_info(module_decl) -> analysis_state; - -#ifdef APS2SCALA - ostream& oss = os; -#else - ostream& hs = oss.hs; - ostream& cpps = oss.cpps; - ostream& os = inline_definitions ? hs : cpps; -#endif /* APS2SCALA */ - - dump_synth_functions(s, oss); - - // same flag dump_synth_functions uses to gate the implicit params, so finish() - // brings the matching implicit into scope for the eval calls below - bool needs_fixed_point = s->loop_required; + void implement(ostream& os) { + STATE* s = (STATE*)Declaration_info(module_decl)->analysis_state; + dump_synth_functions(s, os); - // Implement finish routine: -#ifdef APS2SCALA - os << indent() << "override def finish() : Unit = {\n"; -#else /* APS2SCALA */ - hs << indent() << "void finish()"; - if (!inline_definitions) { - hs << ";\n"; - cpps << "void " << oss.prefix << "finish()"; - } - INDEFINITION; - os << " {\n"; -#endif /* APS2SCALA */ - ++nesting_level; + os << indent() << "override def finish() : Unit = {\n"; + ++nesting_level; + emit_start_phylum_evaluations(os, s); + os << indent() << "super.finish();\n"; + --nesting_level; + os << indent() << "};\n"; - emit_start_phylum_evaluations(os, s); + clear_implementation_marks(module_decl); + } + }; -#ifdef APS2SCALA - os << indent() << "super.finish();\n"; -#endif /* ! APS2SCALA */ - --nesting_level; - os << indent() << "};\n"; + Super* get_module_info(Declaration m) { return new ModuleInfo(m); } - clear_implementation_marks(module_decl); - } -}; + void implement_function_body(Declaration f, ostream& os) { dynamic_impl->implement_function_body(f, os); } -Super* get_module_info(Declaration m) { - return new ModuleInfo(m); -} + void implement_value_use(Declaration vd, ostream& os) { synth_util::implement_value_use(vd, current_aug_graph, synth_functions_states, this, os); } -void implement_function_body(Declaration f, ostream& os) { - dynamic_impl->implement_function_body(f, os); -} + void dump_assignment(INSTANCE* in, Expression rhs, ostream& o) { + Declaration ad = in != NULL ? in->fibered_attr.attr : NULL; + Symbol asym = ad ? def_name(declaration_def(ad)) : 0; + bool node_is_syntax = in->node == current_aug_graph->lhs_decl; -void implement_value_use(Declaration vd, ostream& os) { - int flags = Declaration_info(vd)->decl_flags; - if (flags & LOCAL_ATTRIBUTE_FLAG) { - int instance_index = Declaration_info(vd)->instance_index; - INSTANCE* instance = ¤t_aug_graph->instances.array[instance_index]; - - Type ty = value_decl_type(vd); - Declaration ctype_decl = canonical_type_decl(canonical_type(ty)); - string target_name = instance_to_string_with_nodetype(ctype_decl, instance); - - os << "eval_" << target_name << "(\n"; - int saved_nesting = nesting_level; - nesting_level = std::max(nesting_level + 2, 1); - os << indent() << "node"; - - // Find matching synth function state and use its dependencies - // for consistent parameter passing with the function signature - for (auto state_it = synth_functions_states.begin(); state_it != synth_functions_states.end(); state_it++) { - SYNTH_FUNCTION_STATE* synth_function_state = *state_it; - if (synth_function_state->fdecl_name == target_name) { - for (auto dep_it = synth_function_state->regular_dependencies.begin(); - dep_it != synth_function_state->regular_dependencies.end(); dep_it++) { - INSTANCE* source_instance = *dep_it; - if (should_skip_synth_dependency(source_instance)) { - continue; - } - os << ",\n" << indent(); - synth_impl_ptr->dump_synth_instance(source_instance, os); + if (in->fibered_attr.fiber != NULL) { + if (rhs == NULL) { + if (include_comments) { + o << "// " << in << "\n"; } - break; + return; } - } - - nesting_level = saved_nesting; - os << "\n" << indent() << ")"; - } else if (flags & ATTRIBUTE_DECL_FLAG) { - if (ATTR_DECL_IS_INH(vd)) { - os << "v_" << decl_name(vd); - } else { - os << "a" << "_" << decl_name(vd) << DEREF << "get"; - } - } else if (flags & LOCAL_VALUE_FLAG) { - os << "v" << LOCAL_UNIQUE_PREFIX(vd) << "_" << decl_name(vd); - } else { - aps_error(vd, "internal_error: What is special about this?"); - } -} - -static Expression default_init(Default def) { - switch (Default_KEY(def)) { - case KEYsimple: - return simple_value(def); - case KEYcomposite: - return composite_initial(def); - default: - return 0; - } -} - -// Collects instance assignments from the current block scope. -static vector > make_instance_assignment() { - int n = current_aug_graph->instances.length; - - vector > from(n); - for (int i = 0; i < n; ++i) { - INSTANCE* in = ¤t_aug_graph->instances.array[i]; - Declaration ad = in->fibered_attr.attr; - if (ad != 0 && in->fibered_attr.fiber == 0 && ABSTRACT_APS_tnode_phylum(ad) == KEYDeclaration) { - // get default! - switch (Declaration_KEY(ad)) { - case KEYattribute_decl: - from[in->index].insert(default_init(attribute_decl_default(ad))); + Declaration assign = (Declaration)tnode_parent(rhs); + Expression lhs = assign_lhs(assign); + Declaration field = 0; + switch (Expression_KEY(lhs)) { + case KEYvalue_use: + field = USE_DECL(value_use_use(lhs)); + o << "a_" << decl_name(field) << "."; + if (debug) { + o << "assign"; + } else { + o << "set"; + } + o << "("; + dump_Expression(rhs, o); + if (tracking_fiber_convergence) { + o << ", changed"; + } + o << ")"; break; - case KEYvalue_decl: - from[in->index].insert(default_init(value_decl_default(ad))); + case KEYfuncall: + field = field_ref_p(lhs); + if (field == 0) { + fatal_error("what sort of assignment lhs: %d", tnode_line_number(assign)); + } + o << "a_" << decl_name(field) << DEREF; + if (debug) { + o << "assign"; + } else { + o << "set"; + } + o << "("; + dump_Expression(field_ref_object(lhs), o); + o << ", "; + dump_Expression(rhs, o); + if (tracking_fiber_convergence) { + o << ", changed"; + } + o << ");\n"; break; default: - break; + fatal_error("what sort of assignment lhs: %d", tnode_line_number(assign)); } + return; } - } - - // start from the outer-most and override it with the most inner scope - for (auto it = current_blocks.begin(); it != current_blocks.end(); it++) { - Block block = *it; - bool is_outermost = (it == current_blocks.begin()); - vector > array(from); - - // Step #1 clear any existing assignments and insert normal assignments - // Step #2 insert collection assignments - int step = 1; - while (step <= 2) { - Declarations ds = block_body(block); - for (Declaration d = first_Declaration(ds); d; d = DECL_NEXT(d)) { - switch (Declaration_KEY(d)) { - case KEYnormal_assign: { - if (INSTANCE* in = Expression_info(assign_rhs(d))->value_for) { - if (in->index >= n) { - fatal_error("bad index [normal_assign] for instance"); - } - array[in->index].clear(); - if (assign_rhs(d) == NULL) { - printf("Warning: assignment to %s is empty\n", instance_to_string(in).c_str()); - } - array[in->index].insert(assign_rhs(d)); - } - break; + if (in->node == 0 && ad != NULL) { + if (rhs) { + if (Declaration_info(ad)->decl_flags & LOCAL_ATTRIBUTE_FLAG) { + o << "a" << LOCAL_UNIQUE_PREFIX(ad) << "_" << asym << DEREF; + if (debug) { + o << "assign"; + } else { + o << "set"; } - case KEYcollect_assign: { - if (INSTANCE* in = Expression_info(assign_rhs(d))->value_for) { - if (in->index >= n) { - fatal_error("bad index [collection_assign] for instance"); + o << "(anchor,"; + dump_Expression(rhs, o); + o << ");\n"; + } else { + int i = LOCAL_UNIQUE_PREFIX(ad); + if (i == 0) { + if (!def_is_constant(value_decl_def(ad))) { + if (include_comments) { + o << "// v_" << asym << " is assigned/initialized by default.\n"; } - - // TODO: anything we can learn from this PR: - // https://github.com/boyland/aps/pull/166 - if (step == 1 && is_outermost) { - array[in->index].clear(); - } else if (step == 2) { - array[in->index].insert(assign_rhs(d)); + } else { + if (include_comments) { + o << "// v_" << asym << " is initialized in module.\n"; } } - break; + } else { + o << "v" << i << "_" << asym << " = "; + dump_Expression(rhs, o); + o << "; // local\n"; } - default: - break; } - } - - step++; - } - - // and repeat if any - from = array; - } - - return from; -} - -void dump_assignment(INSTANCE* in, Expression rhs, ostream& o) { - Declaration ad = in != NULL ? in->fibered_attr.attr : NULL; - Symbol asym = ad ? def_name(declaration_def(ad)) : 0; - bool node_is_syntax = in->node == current_aug_graph->lhs_decl; - - if (in->fibered_attr.fiber != NULL) { - if (rhs == NULL) { - if (include_comments) { - o << "// " << in << "\n"; - } - return; - } - - Declaration assign = (Declaration)tnode_parent(rhs); - Expression lhs = assign_lhs(assign); - Declaration field = 0; - // dump the object containing the field - switch (Expression_KEY(lhs)) { - case KEYvalue_use: - // shared global collection - field = USE_DECL(value_use_use(lhs)); -#ifdef APS2SCALA - o << "a_" << decl_name(field) << "."; - if (debug) { - o << "assign"; - } else { - o << "set"; - } - o << "(" << rhs; - if (tracking_fiber_convergence) { - o << ", changed"; - } - o << ")"; -#else /* APS2SCALA */ - o << "v_" << decl_name(field) << "="; - switch (Default_KEY(value_decl_default(field))) { - case KEYcomposite: - o << composite_combiner(value_decl_default(field)); - break; - default: - o << as_val(value_decl_type(field)) << "->v_combine"; - break; - } - o << "(v_" << decl_name(field) << "," << rhs << ");\n"; -#endif /* APS2SCALA */ - break; - case KEYfuncall: - field = field_ref_p(lhs); - if (field == 0) { - fatal_error("what sort of assignment lhs: %d", tnode_line_number(assign)); + } else { + if (!direction_is_collection(some_value_decl_direction(ad))) { + aps_warning(ad, "Local attribute %s is apparently undefined", decl_name(ad)); } - o << "a_" << decl_name(field) << DEREF; - if (debug) { - o << "assign"; - } else { - o << "set"; + if (include_comments) { + o << "// " << in << " is ready now\n"; } - o << "(" << field_ref_object(lhs) << "," << rhs; - if (tracking_fiber_convergence) { - o << ", changed"; + } + return; + } else if (node_is_syntax) { + if (ATTR_DECL_IS_SHARED_INFO(ad)) { + if (include_comments) { + o << "// shared info for " << decl_name(in->node) << " is ready.\n"; } - o << ");\n"; - break; - default: - fatal_error("what sort of assignment lhs: %d", tnode_line_number(assign)); - } - return; - } - - if (in->node == 0 && ad != NULL) { - if (rhs) { - if (Declaration_info(ad)->decl_flags & LOCAL_ATTRIBUTE_FLAG) { - o << "a" << LOCAL_UNIQUE_PREFIX(ad) << "_" << asym << DEREF; - if (debug) { - o << "assign"; - } else { - o << "set"; + } else if (ATTR_DECL_IS_UP_DOWN(ad)) { + if (include_comments) { + o << "// " << decl_name(in->node) << "." << decl_name(ad) << " implicit.\n"; } - o << "(anchor," << rhs << ");\n"; - } else { - int i = LOCAL_UNIQUE_PREFIX(ad); - if (i == 0) { -#ifdef APS2SCALA - if (!def_is_constant(value_decl_def(ad))) { - if (include_comments) { - o << "// v_" << asym << " is assigned/initialized by default.\n"; - } + } else if (rhs) { + if (Declaration_KEY(in->node) == KEYfunction_decl) { + Direction ad_dir = some_value_decl_direction(ad); + if (direction_is_collection(ad_dir)) { + std::cout << "Not expecting collection here!\n"; + o << "v_" << asym << " = somehow_combine(v_" << asym << ","; + dump_Expression(rhs, o); + o << ");\n"; } else { - if (include_comments) { - o << "// v_" << asym << " is initialized in module.\n"; + int i = LOCAL_UNIQUE_PREFIX(ad); + if (i == 0) { + o << "v_" << asym << " = "; + dump_Expression(rhs, o); + o << "; // function\n"; + } else { + o << "v" << i << "_" << asym << " = "; + dump_Expression(rhs, o); + o << ";\n"; } } -#else - o << "v_" << asym << " = " << rhs << ";\n"; -#endif } else { - o << "v" << i << "_" << asym << " = " << rhs << "; // local\n"; - } - } - } else { - if (!direction_is_collection(some_value_decl_direction(ad))) { - aps_warning(ad, "Local attribute %s is apparently undefined", decl_name(ad)); - } - if (include_comments) { - o << "// " << in << " is ready now\n"; - } - } - return; - } else if (node_is_syntax) { - if (ATTR_DECL_IS_SHARED_INFO(ad)) { - if (include_comments) { - o << "// shared info for " << decl_name(in->node) << " is ready.\n"; - } - } else if (ATTR_DECL_IS_UP_DOWN(ad)) { - if (include_comments) { - o << "// " << decl_name(in->node) << "." << decl_name(ad) << " implicit.\n"; - } - } else if (rhs) { - if (Declaration_KEY(in->node) == KEYfunction_decl) { - Direction ad_dir = some_value_decl_direction(ad); - if (direction_is_collection(ad_dir)) { - std::cout << "Not expecting collection here!\n"; - o << "v_" << asym << " = somehow_combine(v_" << asym << "," << rhs << ");\n"; - } else { - int i = LOCAL_UNIQUE_PREFIX(ad); - if (i == 0) { - o << "v_" << asym << " = " << rhs << "; // function\n"; + o << "a_" << asym << DEREF; + if (debug) { + o << "assign"; } else { - o << "v" << i << "_" << asym << " = " << rhs << ";\n"; + o << "set"; } + o << "(v_" << decl_name(in->node) << ","; + dump_Expression(rhs, o); + o << ");\n"; } } else { + aps_warning(in->node, "Attribute %s.%s is apparently undefined", decl_name(in->node), symbol_name(asym)); + if (include_comments) { + o << "// " << in << " is ready.\n"; + } + } + return; + } else if (Declaration_KEY(in->node) == KEYvalue_decl) { + if (rhs) { o << "a_" << asym << DEREF; if (debug) { o << "assign"; } else { o << "set"; } - o << "(v_" << decl_name(in->node) << "," << rhs << ");\n"; - } - } else { - aps_warning(in->node, "Attribute %s.%s is apparently undefined", decl_name(in->node), - symbol_name(asym)); - - if (include_comments) { - o << "// " << in << " is ready.\n"; - } - } - return; - } else if (Declaration_KEY(in->node) == KEYvalue_decl) { - if (rhs) { - // assigning field of object - o << "a_" << asym << DEREF; - if (debug) { - o << "assign"; + o << "(v_" << decl_name(in->node) << ","; + dump_Expression(rhs, o); + o << ");\n"; } else { - o << "set"; - } - o << "(v_" << decl_name(in->node) << "," << rhs << ");\n"; - } else { - if (include_comments) { - o << "// " << in << " is ready now.\n"; + if (include_comments) { + o << "// " << in << " is ready now.\n"; + } } + return; } - return; - } -} - -void dump_rhs_instance_helper(AUG_GRAPH* aug_graph, BlockItem* item, INSTANCE* instance, ostream& o) { - if (item == NULL) { - if (include_comments) { - o << "// " << instance << " is ready now.\n"; - } - return; } - if (item->key == KEY_BLOCK_ITEM_INSTANCE) { - struct block_item_instance* bi = (struct block_item_instance*)item; - - if (bi->instance != instance && bi->next != NULL) { - dump_rhs_instance_helper(aug_graph, bi->next, instance, o); + void dump_rhs_instance_helper(AUG_GRAPH* aug_graph, synth_util::BlockItem* item, INSTANCE* instance, ostream& o) { + if (item == NULL) { + if (include_comments) { + o << "// " << instance << " is ready now.\n"; + } return; } - vector > all_assignments = make_instance_assignment(); - std::set relevant_assignments = all_assignments[instance->index]; + if (item->key == synth_util::KEY_BLOCK_ITEM_INSTANCE) { + synth_util::BlockItemInstance* bi = reinterpret_cast(item); - if (!relevant_assignments.empty()) { - // Filter out NULLs first - vector valid_rhs; - for (auto it = relevant_assignments.begin(); it != relevant_assignments.end(); it++) { - if (*it != NULL) { - valid_rhs.push_back(*it); - } + if (bi->instance != instance && bi->next != NULL) { + dump_rhs_instance_helper(aug_graph, bi->next, instance, o); + return; } - if (!valid_rhs.empty()) { - if (instance->fibered_attr.fiber != NULL) { - for (auto it = valid_rhs.begin(); it != valid_rhs.end(); it++) { - dump_assignment(instance, *it, o); - } - } else if (valid_rhs.size() == 1) { - dump_Expression(valid_rhs[0], o); - } else { - // Multiple RHS entries only occur from collect_assign (:>) contributions. - // Combine them pairwise using the type's v_combine. - Declaration attr = instance->fibered_attr.attr; - Direction attr_dir = some_value_decl_direction(attr); - if (!direction_is_collection(attr_dir)) { - fatal_error("Multiple RHS for non-collection attribute %s", decl_name(attr)); - } - Type vt = Declaration_KEY(attr) == KEYattribute_decl ? function_type_return_type(attribute_decl_type(attr)) : value_decl_type(attr); - // Nest v_combine calls for all contributions - for (size_t i = 0; i < valid_rhs.size() - 1; i++) { - o << as_val(vt) << ".v_combine("; + vector> all_assignments = synth_util::make_instance_assignments(current_aug_graph, current_blocks); + std::set relevant_assignments = all_assignments[instance->index]; + + if (!relevant_assignments.empty()) { + vector valid_rhs; + for (auto it = relevant_assignments.begin(); it != relevant_assignments.end(); it++) { + if (*it != NULL) { + valid_rhs.push_back(*it); } - dump_Expression(valid_rhs[0], o); - for (size_t i = 1; i < valid_rhs.size(); i++) { - o << ", "; - dump_Expression(valid_rhs[i], o); - o << ")"; + } + + if (!valid_rhs.empty()) { + if (instance->fibered_attr.fiber != NULL) { + for (auto it = valid_rhs.begin(); it != valid_rhs.end(); it++) { + dump_assignment(instance, *it, o); + } + } else if (valid_rhs.size() == 1) { + dump_Expression(valid_rhs[0], o); + } else { + Declaration attr = instance->fibered_attr.attr; + Direction attr_dir = some_value_decl_direction(attr); + if (!direction_is_collection(attr_dir)) { + fatal_error("Multiple RHS for non-collection attribute %s", decl_name(attr)); + } + Type vt = Declaration_KEY(attr) == KEYattribute_decl ? function_type_return_type(attribute_decl_type(attr)) : value_decl_type(attr); + for (size_t i = 0; i < valid_rhs.size() - 1; i++) { + o << as_val(vt) << ".v_combine("; + } + dump_Expression(valid_rhs[0], o); + for (size_t i = 1; i < valid_rhs.size(); i++) { + o << ", "; + dump_Expression(valid_rhs[i], o); + o << ")"; + } } + return; } - return; } - // valid_rhs is empty (all NULL defaults) -- fall through to default handling - } - if (instance->fibered_attr.fiber != NULL) { - // Shared info attribute wasn't assigned in this block, dump its default - auto direction = fibered_attr_direction(&instance->fibered_attr); - auto directionStr = ""; - switch (direction) - { - case instance_inward: - directionStr = "instance_inward"; - break; - case instance_outward: - directionStr = "instance_outward"; - break; - case instance_local: - directionStr = "instance_local"; - break; - default: - break; + if (instance->fibered_attr.fiber != NULL) { + return; } - o << "/* did not find any assignment for this fiber attribute " << instance << " -> " << directionStr << " <-" <<" */"; - return; - } else { - // A local collection attribute may be assigned only inside a case/match - // block, which make_instance_assignment() doesn't see at this level. Declaration attr = instance->fibered_attr.attr; bool is_local_collection = direction_is_collection(some_value_decl_direction(attr)); if (is_local_collection) { - // Check the type is combinable: look for a "combine" declaration in any - // class in its canonical signature set. This covers COMBINABLE, - // MAKE_LATTICE, etc. without walking parent signature chains. Type vt = infer_some_value_decl_type(attr); CanonicalType* ctype = canonical_type(vt); CanonicalSignatureSet csig_set = infer_canonical_signatures(ctype); @@ -1757,8 +892,6 @@ void dump_rhs_instance_helper(AUG_GRAPH* aug_graph, BlockItem* item, INSTANCE* i } } if (is_combinable) { - // No direct assignment in this block (it's inside a conditional/case), - // so this branch contributes the type's initial/bottom value. o << as_val(vt) << ".v_initial"; if (include_comments) { o << " /* local collection " << decl_name(attr) << ": no direct assignment, using initial */"; @@ -1766,283 +899,209 @@ void dump_rhs_instance_helper(AUG_GRAPH* aug_graph, BlockItem* item, INSTANCE* i return; } } + print_instance(instance, stdout); printf(" is a non-fiber instance, but no assignment found in this block. %d\n", if_rule_p(instance->fibered_attr.attr)); fatal_error("crashed since non-fiber instance is missing an assignment"); - } - } else if (item->key == KEY_BLOCK_ITEM_CONDITION) { - struct block_item_condition* cond = (struct block_item_condition*)item; - bool visited_if_stmt = std::find(dumped_conditional_block_items.begin(), dumped_conditional_block_items.end(), item) != dumped_conditional_block_items.end(); - dumped_conditional_block_items.push_back(item); - - switch (ABSTRACT_APS_tnode_phylum(cond->condition)) - { - case KEYDeclaration: - { - Declaration if_stmt = (Declaration)cond->condition; - if (Declaration_KEY(if_stmt) != KEYif_stmt) { - fatal_error("expected if statement, got %s %d", decl_name(if_stmt), Declaration_info(if_stmt)); - } - - if (!edgeset_kind(current_aug_graph->graph[cond->instance->index * current_aug_graph->instances.length + instance->index])) { - printf("\n"); - print_instance(cond->instance, stdout); - printf(" does not affect "); - print_instance(instance, stdout); - printf("\n"); - fatal_error("crashed since instance not affected by condition"); - } - - if (!visited_if_stmt) { - o << "if ("; - dump_Expression(if_stmt_cond(if_stmt), o); - o << ") {\n"; - nesting_level++; - } - current_blocks.push_back(if_stmt_if_true(if_stmt)); - if (!visited_if_stmt) { - o << indent(); - } - - vector dumped_instanced_positive(dumped_instances); - dump_rhs_instance_helper(aug_graph, cond->next_positive, instance, o); - dumped_instances = dumped_instanced_positive; - - if (!visited_if_stmt) { - current_blocks.pop_back(); - o << "\n"; - nesting_level--; - o << indent() << "} else {\n"; - nesting_level++; - } - current_blocks.push_back(if_stmt_if_false(if_stmt)); - if (!visited_if_stmt) { - o << indent(); - } + } else if (item->key == synth_util::KEY_BLOCK_ITEM_CONDITION) { + synth_util::BlockItemCondition* cond = reinterpret_cast(item); + bool visited_if_stmt = std::find(dumped_conditional_block_items.begin(), dumped_conditional_block_items.end(), item) != dumped_conditional_block_items.end(); + dumped_conditional_block_items.push_back(item); + + switch (ABSTRACT_APS_tnode_phylum(cond->condition)) { + case KEYDeclaration: { + Declaration if_stmt = (Declaration)cond->condition; + if (Declaration_KEY(if_stmt) != KEYif_stmt) { + fatal_error("expected if statement, got %s %d", decl_name(if_stmt), Declaration_info(if_stmt)); + } - vector dumped_instanced_negative(dumped_instances); - dump_rhs_instance_helper(aug_graph, cond->next_negative, instance, o); - dumped_instances = dumped_instanced_negative; + if (!edgeset_kind(current_aug_graph->graph[cond->instance->index * current_aug_graph->instances.length + instance->index])) { + printf("\n"); + print_instance(cond->instance, stdout); + printf(" does not affect "); + print_instance(instance, stdout); + printf("\n"); + fatal_error("crashed since instance not affected by condition"); + } - current_blocks.pop_back(); - if (!visited_if_stmt) { - nesting_level--; - o << "\n"; - o << indent() << "}"; - } - break; - } - case KEYMatch: - { - Match m = (Match)cond->condition; - Pattern p = matcher_pat(m); - Declaration header = Match_info(m)->header; - // if first match in case, we evaluate variable: - if (m == first_Match(case_stmt_matchers(header))) { - Expression e = case_stmt_expr(header); -#ifdef APS2SCALA - o << "{\n"; - nesting_level++; - o << indent() << "val node" << instance->index << " = " << e << ";\n"; -#else /* APS2SCALA */ - Type ty = infer_expr_type(e); - o << indent() << ty << " node" << instance->index << " = " << e << ";\n"; -#endif /* APS2SCALA */ - } -#ifdef APS2SCALA - o << indent() << "node" << instance->index << " match {\n"; - nesting_level++; - o << indent() << "case " << p << " => {\n"; -#else /* APS2SCALA */ - o << indent() << "if ("; - dump_Pattern_cond(p, "node" + std::to_string(instance->index), o); - o << ") {\n"; -#endif /* APS2SCALA */ - nesting_level += 1; -#ifndef APS2SCALA - dump_Pattern_bindings(p, o); -#endif /* APS2SCALA */ - Block if_true; - Block if_false; - if_true = matcher_body(m); - if (MATCH_NEXT(m)) { - if_false = 0; //? Why not the nxt match ? - } else { - if_false = case_stmt_default(header); - } + if (!visited_if_stmt) { + o << "if ("; + dump_Expression(if_stmt_cond(if_stmt), o); + o << ") {\n"; + nesting_level++; + } + current_blocks.push_back(if_stmt_if_true(if_stmt)); + if (!visited_if_stmt) { + o << indent(); + } - current_blocks.push_back(if_true); - o << indent(); - dump_rhs_instance_helper(aug_graph, cond->next_positive, instance, o); - o << "\n"; - current_blocks.pop_back(); + vector dumped_instanced_positive(dumped_instances); + dump_rhs_instance_helper(aug_graph, cond->next_positive, instance, o); + dumped_instances = dumped_instanced_positive; -#ifdef APS2SCALA - nesting_level--; - o << indent() << "}\n"; - o << indent() << "case _ => {\n"; - nesting_level++; -#else /* APS2SCALA */ - o << "} else {\n"; -#endif /* APS2SCALA */ - current_blocks.push_back(if_false); - o << indent(); - dump_rhs_instance_helper(aug_graph, cond->next_negative, instance, o); - o << "\n"; - current_blocks.pop_back(); + if (!visited_if_stmt) { + current_blocks.pop_back(); + o << "\n"; + nesting_level--; + o << indent() << "} else {\n"; + nesting_level++; + } + current_blocks.push_back(if_stmt_if_false(if_stmt)); + if (!visited_if_stmt) { + o << indent(); + } - nesting_level--; -#ifdef APS2SCALA - o << indent() << "}\n"; - nesting_level--; - o << indent() << "}\n"; - if (m == first_Match(case_stmt_matchers(header))) { - nesting_level--; - o << indent() << "}"; - } -#else /* APS2SCALA */ - o << indent() << "}\n"; -#endif /* APS2SCALA */ - - break; - } - default: - fatal_error("unhandled if statement type"); - break; - } - } -} + vector dumped_instanced_negative(dumped_instances); + dump_rhs_instance_helper(aug_graph, cond->next_negative, instance, o); + dumped_instances = dumped_instanced_negative; -bool try_dump_funcall(Expression e, ostream& o) override { - // In synth mode, phylum constructor calls use "node" as the AST anchor - // (the eval function parameter), not "anchor" (which is the Evaluation class field). - // Replicate the logic from dump-scala.cc's dump_anchor_actual check but emit "node". - { - Expression fexpr = funcall_f(e); - if (Expression_KEY(fexpr) == KEYvalue_use) { - Declaration udecl = USE_DECL(value_use_use(fexpr)); - if (Declaration_KEY(udecl) == KEYconstructor_decl) { - // Inline constructor_decl_base_type_decl to get the base type decl - Type ct = constructor_decl_type(udecl); - Declaration retdecl = first_Declaration(function_type_return_values(ct)); - Type return_type = value_decl_type(retdecl); - Declaration tdecl = USE_DECL(type_use_use(return_type)); - if (Declaration_KEY(tdecl) == KEYphylum_decl) { - Declaration tplm; - bool inside_match = check_surrounding_decl(e, KEYtop_level_match, &tplm); - dump_Expression(fexpr, o); - o << "("; - bool start = true; - FOR_SEQUENCE(Expression, arg, Actuals, funcall_actuals(e), - if (start) start = false; else o << ",\n"; - dump_Expression(arg, o)); - if (first_Actual(funcall_actuals(e)) != NULL) o << ", "; - o << (inside_match ? "node" : "null") << ")"; - return true; + current_blocks.pop_back(); + if (!visited_if_stmt) { + nesting_level--; + o << "\n"; + o << indent() << "}"; + } + break; + } + case KEYMatch: { + Match m = (Match)cond->condition; + Pattern p = matcher_pat(m); + Declaration header = Match_info(m)->header; + if (m == first_Match(case_stmt_matchers(header))) { + Expression e = case_stmt_expr(header); + o << "{\n"; + nesting_level++; + o << indent() << "val node" << instance->index << " = "; + dump_Expression(e, o); + o << ";\n"; + } + o << indent() << "node" << instance->index << " match {\n"; + nesting_level++; + o << indent() << "case " << p << " => {\n"; + nesting_level += 1; + + Block if_true = matcher_body(m); + Block if_false = MATCH_NEXT(m) ? 0 : case_stmt_default(header); + + current_blocks.push_back(if_true); + o << indent(); + dump_rhs_instance_helper(aug_graph, cond->next_positive, instance, o); + o << "\n"; + current_blocks.pop_back(); + + nesting_level--; + o << indent() << "}\n"; + o << indent() << "case _ => {\n"; + nesting_level++; + + current_blocks.push_back(if_false); + o << indent(); + dump_rhs_instance_helper(aug_graph, cond->next_negative, instance, o); + o << "\n"; + current_blocks.pop_back(); + + nesting_level--; + o << indent() << "}\n"; + nesting_level--; + o << indent() << "}\n"; + if (m == first_Match(case_stmt_matchers(header))) { + nesting_level--; + o << indent() << "}"; + } + break; } + default: + fatal_error("unhandled if statement type"); + break; } } } - Declaration attr = attr_ref_p(e); - if (attr == nullptr) { - return false; - } - Declaration node = USE_DECL(value_use_use(first_Actual(funcall_actuals(e)))); - FIBERED_ATTRIBUTE fiber_attr = {attr, NULL}; - INSTANCE* instance; - if (find_instance(current_aug_graph, node, fiber_attr, &instance)) { - dump_synth_instance(instance, o); - return true; - } - fatal_error("failed to find instance"); - return false; -} + bool try_dump_funcall(Expression e, ostream& o) override { return synth_util::try_dump_funcall(e, current_aug_graph, this, o); } -void dump_synth_instance(INSTANCE* instance, ostream& o) { - bool already_dumped = false; - if (std::find(dumped_instances.begin(), dumped_instances.end(), instance) != dumped_instances.end()) { - already_dumped = true; - } else { - dumped_instances.push_back(instance); - } + void dump_synth_instance(INSTANCE* instance, ostream& o) override { + bool already_dumped = false; + if (std::find(dumped_instances.begin(), dumped_instances.end(), instance) != dumped_instances.end()) { + already_dumped = true; + } else { + dumped_instances.push_back(instance); + } - AUG_GRAPH* aug_graph = current_aug_graph; - BlockItem* block = find_surrounding_block(current_scope_block, instance); - Declaration node = instance->node; + AUG_GRAPH* aug_graph = current_aug_graph; + synth_util::BlockItem* block = synth_util::find_surrounding_block(current_scope_block, instance); - bool is_parent_instance = instance_is_parent(instance, current_aug_graph); - bool is_synthesized = instance_is_synthesized(instance); - bool is_inherited = instance_is_inherited(instance); - bool is_circular = edgeset_kind(current_aug_graph->graph[instance->index * current_aug_graph->instances.length + instance->index]); - bool is_match_formal = check_is_match_formal(instance->fibered_attr.attr); - bool is_available = is_match_formal || is_inherited; + Declaration node = instance->node; + bool is_parent_instance = synth_util::instance_is_parent(instance, current_aug_graph); - if (is_circular && already_dumped && !is_available) { - o << "/* circular dependency detected for " << instance << ", dumping as attribute access */ "; + bool is_synthesized = synth_util::instance_is_synthesized(instance); + bool is_inherited = synth_util::instance_is_inherited(instance); + bool is_circular = edgeset_kind(current_aug_graph->graph[instance->index * current_aug_graph->instances.length + instance->index]); + bool is_match_formal = synth_util::is_match_formal(instance->fibered_attr.attr); + bool is_available = is_match_formal || is_inherited; - o << instance_to_attr(instance) << ".get("; - if (instance->node == NULL) { - o << "node"; - } else { - o << "v_" << decl_name(instance->node); - } - - o << ")"; - return; - } else if (is_match_formal) { - o << "v_" << instance_to_string(instance, false, current_synth_functions_state->is_phylum_instance); - } else if (is_inherited) { - if (is_parent_instance) { - o << "v_" << instance_to_string(instance, false, current_synth_functions_state->is_phylum_instance); - } else { - dump_rhs_instance_helper(aug_graph, block, instance, o); - } - } else if (is_synthesized) { - if (is_parent_instance) { - dump_rhs_instance_helper(aug_graph, block, instance, o); - } else { - for (auto it = synth_functions_states.begin(); it != synth_functions_states.end(); it++) { - SYNTH_FUNCTION_STATE* synth_function_state = *it; - if (fibered_attr_equal(&synth_function_state->source->fibered_attr, &instance->fibered_attr)) { - o << "eval_" << synth_function_state->fdecl_name << "(\n"; - int saved_nesting = nesting_level; - nesting_level = std::max(nesting_level + 2, 2); - o << indent() << "v_" << decl_name(node); - - const std::vector& dependencies = synth_function_state->regular_dependencies; - for (auto it = dependencies.begin(); it != dependencies.end(); it++) { - INSTANCE* source_instance = *it; - - if (should_skip_synth_dependency(source_instance)) { - continue; - } + if (is_circular && already_dumped && !is_available) { + o << "/* circular dependency detected for " << instance << ", dumping as attribute access */ "; + o << synth_util::instance_to_attr(instance) << ".get("; + if (instance->node == NULL) { + o << "node"; + } else { + o << "v_" << decl_name(instance->node); + } + o << ")"; + return; + } else if (is_match_formal) { + o << "v_" << synth_util::instance_to_string(instance, current_synth_functions_state->is_phylum_instance); + } else if (is_inherited) { + if (is_parent_instance) { + o << "v_" << synth_util::instance_to_string(instance, current_synth_functions_state->is_phylum_instance); + } else { + dump_rhs_instance_helper(aug_graph, block, instance, o); + } + } else if (is_synthesized) { + if (is_parent_instance) { + dump_rhs_instance_helper(aug_graph, block, instance, o); + } else { + for (auto it = synth_functions_states.begin(); it != synth_functions_states.end(); it++) { + synth_util::SynthFunctionState* synth_function_state = *it; + if (fibered_attr_equal(&synth_function_state->source->fibered_attr, &instance->fibered_attr)) { + o << "eval_" << synth_function_state->fdecl_name << "(\n"; + int saved_nesting = nesting_level; + nesting_level = std::max(nesting_level + 2, 2); + o << indent() << "v_" << decl_name(node); + + const std::vector& dependencies = synth_function_state->regular_dependencies; + for (auto dep_it = dependencies.begin(); dep_it != dependencies.end(); dep_it++) { + INSTANCE* source_instance = *dep_it; + if (synth_util::should_skip_synth_dependency(source_instance)) { + continue; + } - for (int i = 0; i < current_aug_graph->instances.length; i++) { - INSTANCE* in = ¤t_aug_graph->instances.array[i]; - if (in->node == node && fibered_attr_equal(&in->fibered_attr, &source_instance->fibered_attr)) { - o << ",\n" << indent(); - dump_synth_instance(in, o); + for (int i = 0; i < current_aug_graph->instances.length; i++) { + INSTANCE* in = ¤t_aug_graph->instances.array[i]; + if (in->node == node && fibered_attr_equal(&in->fibered_attr, &source_instance->fibered_attr)) { + o << ",\n" << indent(); + dump_synth_instance(in, o); + } } } - } - nesting_level = saved_nesting; + nesting_level = saved_nesting; - o << "\n" << indent() << ")"; - return; + o << "\n" << indent() << ")"; + return; + } } - } - printf("failed to find synth function for instance "); - print_instance(instance, stdout); - printf("\n"); - fatal_error("internal error: failed to find synth function for instance"); + printf("failed to find synth function for instance "); + print_instance(instance, stdout); + printf("\n"); + fatal_error("internal error: failed to find synth function for instance"); + } + } else { + dump_rhs_instance_helper(aug_graph, block, instance, o); } - } else { - dump_rhs_instance_helper(aug_graph, block, instance, o); } -} -} -; +}; Implementation* synth_impl = synth_impl_ptr = new SynthImpl(); + +#endif // APS2SCALA diff --git a/codegen/synth-util.cc b/codegen/synth-util.cc index 4bd3b019..ec5a82d4 100644 --- a/codegen/synth-util.cc +++ b/codegen/synth-util.cc @@ -207,6 +207,34 @@ static std::vector collect_aug_graph_attr_dependencies(AUG_GRAPH* aug return result; } +static std::vector collect_field_assign_dependencies(AUG_GRAPH* graph, + INSTANCE* owner) { + std::vector result; + Declaration attribute = owner->fibered_attr.attr; + int instance_count = graph->instances.length; + + for (int index = 0; index < instance_count; ++index) { + INSTANCE* field_instance = &graph->instances.array[index]; + if (field_instance->fibered_attr.attr != attribute || + field_instance->fibered_attr.fiber == NULL || + field_instance->index == owner->index) { + continue; + } + std::vector dependencies = + collect_aug_graph_attr_dependencies(graph, field_instance); + for (INSTANCE* dependency_instance : dependencies) { + if (dependency_instance->index != owner->index && + !should_skip_synth_dependency(dependency_instance) && + instance_direction_for(dependency_instance) != instance_local && + !(dependency_instance->node != NULL && dependency_instance->node != graph->lhs_decl) && + std::find(result.begin(), result.end(), dependency_instance) == result.end()) { + result.push_back(dependency_instance); + } + } + } + return result; +} + static std::vector collect_lhs_aug_graphs(STATE* state, PHY_GRAPH* phylum_graph) { std::vector result; for (int index = 0; index < state->match_rules.length; ++index) { @@ -269,6 +297,15 @@ std::vector build_synth_function_states(STATE* state) { function_state->is_phylum_instance = false; function_state->is_side_effect_evaluation = ATTR_DECL_IS_SHARED_INFO(instance->fibered_attr.attr); function_state->regular_dependencies = collect_aug_graph_attr_dependencies(aug_graph, instance); + std::vector field_dependencies = + collect_field_assign_dependencies(aug_graph, instance); + for (INSTANCE* dependency_instance : field_dependencies) { + if (std::find(function_state->regular_dependencies.begin(), + function_state->regular_dependencies.end(), dependency_instance) == + function_state->regular_dependencies.end()) { + function_state->regular_dependencies.push_back(dependency_instance); + } + } function_state->aug_graphs.push_back(aug_graph); result.push_back(function_state); } @@ -407,6 +444,71 @@ static bool instance_is_child(INSTANCE* instance, AUG_GRAPH* graph) { return ins bool instance_is_parent(INSTANCE* instance, AUG_GRAPH* graph) { return instance->node != NULL && instance->node == graph->lhs_decl; } +static bool is_local_cycle_candidate(INSTANCE* instance, AUG_GRAPH* graph) { + return instance_is_child(instance, graph) && + instance->fibered_attr.fiber == NULL && + !if_rule_p(instance->fibered_attr.attr) && + instance_is_synthesized(instance) && instance_circular(instance); +} + +static bool is_in_same_cycle(INSTANCE* inherited, INSTANCE* instance, + AUG_GRAPH* graph) { + int instance_count = graph->instances.length; + bool instance_feeds_inherited = + edgeset_kind(graph->graph[instance->index * instance_count + inherited->index]) & + DEPENDENCY_MAYBE_DIRECT; + return inherited != instance && inherited->node == instance->node && + inherited->fibered_attr.fiber == NULL && + instance_is_inherited(inherited) && instance_circular(inherited) && + instance_feeds_inherited; +} + +std::vector collect_child_cycle_instances(AUG_GRAPH* graph) { + std::vector result; + int instance_count = graph->instances.length; + for (int index = 0; index < instance_count; ++index) { + INSTANCE* instance = &graph->instances.array[index]; + if (!is_local_cycle_candidate(instance, graph)) { + continue; + } + for (int inherited_index = 0; inherited_index < instance_count; + ++inherited_index) { + if (is_in_same_cycle(&graph->instances.array[inherited_index], instance, graph)) { + result.push_back(instance); + break; + } + } + } + return result; +} + +bool child_cycle_is_independent(AUG_GRAPH* graph, INSTANCE* cycle_instance) { + int instance_count = graph->instances.length; + std::vector cycle_indices; + cycle_indices.push_back(cycle_instance->index); + for (int index = 0; index < instance_count; ++index) { + if (is_in_same_cycle(&graph->instances.array[index], cycle_instance, graph)) { + cycle_indices.push_back(index); + } + } + + for (int index = 0; index < instance_count; ++index) { + INSTANCE* instance = &graph->instances.array[index]; + if ((instance->fibered_attr.fiber == NULL && + !ATTR_DECL_IS_SHARED_INFO(instance->fibered_attr.attr)) || + !instance_circular(instance)) { + continue; + } + for (int cycle_index : cycle_indices) { + if (edgeset_kind(graph->graph[index * instance_count + cycle_index]) || + edgeset_kind(graph->graph[cycle_index * instance_count + index])) { + return false; + } + } + } + return true; +} + static bool component_precedes(AUG_GRAPH* graph, SCC_COMPONENT* source, SCC_COMPONENT* sink) { int instance_count = graph->instances.length; for (int source_index = 0; source_index < source->length; ++source_index) { @@ -581,7 +683,40 @@ static std::vector sort_instances(AUG_GRAPH* graph) { return result; } -static BlockItem* linearize_block_helper(AUG_GRAPH* graph, const std::vector& sorted_instances, bool* scheduled, CONDITION* condition, BlockItem* previous, int remaining, INSTANCE* sink) { +static std::vector> direct_cycle_groups(AUG_GRAPH* graph) { + int instance_count = graph->instances.length; + SccGraph scc_graph; + scc_graph_initialize(&scc_graph, instance_count); + for (int index = 0; index < instance_count; ++index) { + scc_graph_add_vertex(&scc_graph, &graph->instances.array[index]); + } + for (int source = 0; source < instance_count; ++source) { + for (int sink = 0; sink < instance_count; ++sink) { + if (source != sink && + (edgeset_kind(graph->graph[source * instance_count + sink]) & + DEPENDENCY_MAYBE_DIRECT)) { + scc_graph_add_edge(&scc_graph, &graph->instances.array[source], + &graph->instances.array[sink]); + } + } + } + + SCC_COMPONENTS* components = scc_graph_components(&scc_graph); + std::vector> groups; + for (int component_index = 0; component_index < components->length; + ++component_index) { + SCC_COMPONENT* component = components->array[component_index]; + std::vector group; + for (int index = 0; index < component->length; ++index) { + group.push_back(static_cast(component->array[index])); + } + groups.push_back(group); + } + scc_graph_destroy(&scc_graph); + return groups; +} + +static BlockItem* linearize_block_helper(AUG_GRAPH* graph, const std::vector& sorted_instances, bool* scheduled, CONDITION* condition, BlockItem* previous, int remaining, INSTANCE* sink, const std::vector& component_of) { if (CONDITION_IS_IMPOSSIBLE(*condition)) { return NULL; } @@ -596,13 +731,13 @@ static BlockItem* linearize_block_helper(AUG_GRAPH* graph, const std::vectorgraph[index * instance_count + sink->index])) { scheduled[index] = true; - BlockItem* result = linearize_block_helper(graph, sorted_instances, scheduled, condition, previous, remaining - 1, sink); + BlockItem* result = linearize_block_helper(graph, sorted_instances, scheduled, condition, previous, remaining - 1, sink, component_of); scheduled[index] = false; return result; } @@ -613,6 +748,9 @@ static BlockItem* linearize_block_helper(AUG_GRAPH* graph, const std::vectorgraph[dependency_index * instance_count + index]) & DEPENDENCY_MAYBE_DIRECT)) { continue; } + if (component_of[dependency_index] == component_of[index]) { + continue; + } ready = false; } if (!ready) { @@ -631,10 +769,10 @@ static BlockItem* linearize_block_helper(AUG_GRAPH* graph, const std::vectorfibered_attr.attr); condition->positive |= condition_mask; - conditional->next_positive = linearize_block_helper(graph, sorted_instances, scheduled, condition, item, remaining - 1, sink); + conditional->next_positive = linearize_block_helper(graph, sorted_instances, scheduled, condition, item, remaining - 1, sink, component_of); condition->positive &= ~condition_mask; condition->negative |= condition_mask; - conditional->next_negative = linearize_block_helper(graph, sorted_instances, scheduled, condition, item, remaining - 1, sink); + conditional->next_negative = linearize_block_helper(graph, sorted_instances, scheduled, condition, item, remaining - 1, sink, component_of); condition->negative &= ~condition_mask; } else { BlockItemInstance* linear = static_cast(std::malloc(sizeof(BlockItemInstance))); @@ -642,7 +780,7 @@ static BlockItem* linearize_block_helper(AUG_GRAPH* graph, const std::vectorkey = KEY_BLOCK_ITEM_INSTANCE; linear->instance = instance; linear->prev = previous; - linear->next = linearize_block_helper(graph, sorted_instances, scheduled, condition, item, remaining - 1, sink); + linear->next = linearize_block_helper(graph, sorted_instances, scheduled, condition, item, remaining - 1, sink, component_of); } scheduled[index] = false; return item; @@ -663,7 +801,15 @@ BlockItem* linearize_block(AUG_GRAPH* graph, INSTANCE* sink) { CONDITION condition = {0, 0}; std::vector sorted_instances = sort_instances(graph); - return linearize_block_helper(graph, sorted_instances, scheduled, &condition, NULL, instance_count, sink); + std::vector> groups = direct_cycle_groups(graph); + std::vector component_of(instance_count, -1); + for (size_t group_index = 0; group_index < groups.size(); ++group_index) { + for (INSTANCE* instance : groups[group_index]) { + component_of[instance->index] = static_cast(group_index); + } + } + return linearize_block_helper(graph, sorted_instances, scheduled, &condition, + NULL, instance_count, sink, component_of); } void print_linearized_block(BlockItem* block, std::ostream& output) { diff --git a/codegen/synth-util.h b/codegen/synth-util.h index e5c2a1de..a777a18b 100644 --- a/codegen/synth-util.h +++ b/codegen/synth-util.h @@ -93,6 +93,10 @@ void dump_attribute_type(INSTANCE* instance, std::ostream& output); bool synth_function_is_circular(SynthFunctionState* state); +std::vector collect_child_cycle_instances(AUG_GRAPH* graph); + +bool child_cycle_is_independent(AUG_GRAPH* graph, INSTANCE* cycle_instance); + std::vector> collect_child_cycle_components(AUG_GRAPH* graph, INSTANCE* sink); std::vector> make_instance_assignments(AUG_GRAPH* graph, const std::vector& blocks); From 276bfdbcb4601f74db59c7f535d0bf945f9e753c Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Mon, 7 Sep 2026 21:34:00 +0000 Subject: [PATCH 48/52] Fixes --- JFlex.jar | Bin 663473 -> 0 bytes aps2scala/aps2scala.cc | 1 + aps2scala/dump-scala.cc | 1 + aps2scala/dump-scala.h | 1 - codegen/dump.h | 6 ------ codegen/synth-impl.cc | 9 +++++---- examples/scala/Makefile | 19 +++++++++++++++++-- examples/scala/compare-evaluators.sh | 2 +- 8 files changed, 25 insertions(+), 14 deletions(-) delete mode 100644 JFlex.jar diff --git a/JFlex.jar b/JFlex.jar deleted file mode 100644 index 2f563281f43d27b7aea49bd94b44562e0b169bbc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 663473 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%0DFQ< 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

fv|TtF%o%KEa~k$$LTX)m$1+Y?YLP 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�uxkB?68zg;EW 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 z

L?;mL_wpV$#I%LBT$G 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�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 diff --git a/aps2scala/aps2scala.cc b/aps2scala/aps2scala.cc index ee126e9c..40c8bec7 100644 --- a/aps2scala/aps2scala.cc +++ b/aps2scala/aps2scala.cc @@ -5,6 +5,7 @@ extern "C" { #include #include #include "aps-ag.h" +#include "aps-analyze.h" } #include #include diff --git a/aps2scala/dump-scala.cc b/aps2scala/dump-scala.cc index d2030b55..d148f886 100644 --- a/aps2scala/dump-scala.cc +++ b/aps2scala/dump-scala.cc @@ -11,6 +11,7 @@ extern "C" { #include #include "string.h" #include "aps-ag.h" +#include "aps-analyze.h" String get_code_name(Symbol); } diff --git a/aps2scala/dump-scala.h b/aps2scala/dump-scala.h index 7fdc8fd7..5a17eb3c 100644 --- a/aps2scala/dump-scala.h +++ b/aps2scala/dump-scala.h @@ -17,7 +17,6 @@ extern int verbose; extern int debug; extern bool include_comments; extern bool static_scc_schedule; -extern bool anc_analysis; class Implementation; diff --git a/codegen/dump.h b/codegen/dump.h index 6a090954..a345c370 100644 --- a/codegen/dump.h +++ b/codegen/dump.h @@ -1,8 +1,6 @@ #ifndef DUMP_H -#include "implement.h" #include #include -#include using std::ostream; using std::string; @@ -201,8 +199,4 @@ inline const output_streams& operator<< } #endif /* APS2SCALA */ -// Common code generation utility functions -extern bool check_surrounding_decl(void* node, KEYTYPE_Declaration decl_key, Declaration* result_decl); -extern bool check_surrounding_node(void* node, KEYTYPE_ABSTRACT_APS_Phylum ast_key, void** result_node); - #endif diff --git a/codegen/synth-impl.cc b/codegen/synth-impl.cc index 59c4bcae..7a397aee 100644 --- a/codegen/synth-impl.cc +++ b/codegen/synth-impl.cc @@ -485,11 +485,12 @@ static void dump_synth_functions(STATE* s, ostream& os) { synth_util::emit_loop_implicits(os, "newChanged" + std::to_string(src_idx)); } + if (include_comments && synth_functions_state->is_side_effect_evaluation && !dump_fixed_point_loop) { + os << "\n"; + } + FiberDependencyDumper::dump(aug_graph, aug_graph_instance, os); + if (synth_functions_state->is_side_effect_evaluation) { - if (include_comments && !dump_fixed_point_loop) { - os << "\n"; - } - FiberDependencyDumper::dump(aug_graph, aug_graph_instance, os); os << indent(); synth_impl_ptr->dump_synth_instance(aug_graph_instance, os); os << "\n"; diff --git a/examples/scala/Makefile b/examples/scala/Makefile index 192e96ce..34b5ce8c 100644 --- a/examples/scala/Makefile +++ b/examples/scala/Makefile @@ -17,7 +17,7 @@ EVALUATOR ?= DYNAMIC ifeq (${EVALUATOR},STATIC) IMPL_SUFFIX = .static.scala -else ifeq (${EVALUATOR},SYNTH) +else ifeq (${EVALUATOR},SYNTH_F1) IMPL_SUFFIX = .synth.scala else ifeq (${EVALUATOR},SYNTH_F0) IMPL_SUFFIX = .synth-f0.scala @@ -34,7 +34,8 @@ AST_TREE_SCALAGEN = simple.scala tiny.scala grammar.scala \ EVALUATOR_EXAMPLES = classic-binding first follow nullable test-coll \ test-use-coll test-cycle test-fields use-global broad-fiber-cycle \ below-fiber-cycle below-single-fiber-cycle local-fiber-cycle nested-cycles \ - farrow-lv farrow-ubd farrow-ubd-fiber nested-ubd nested-ubd-fiber simple-snc + farrow-lv farrow-ubd farrow-ubd-fiber nested-ubd nested-ubd-fiber simple-snc \ + simple-snc-fiber SCALAGEN = ${AST_TREE_SCALAGEN} \ $(foreach example,${EVALUATOR_EXAMPLES},$(example).scala $(example).static.scala $(example).synth.scala $(example).synth-f0.scala) @@ -69,6 +70,7 @@ all : ${OUT}/below_single_fiber_cycle_implicit.class ${OUT}/BelowSingleFiberCycl all : ${OUT}/local_fiber_cycle_implicit.class ${OUT}/LocalFiberCycleDriver.class all : ${OUT}/test_fields_implicit.class ${OUT}/TestFieldsDriver.class all : ${OUT}/simple_snc_implicit.class ${OUT}/SimpleSncDriver.class +all : ${OUT}/simple_snc_fiber_implicit.class ${OUT}/SimpleSncFiberDriver.class .PHONY: run @@ -88,6 +90,10 @@ phony_explicit: ${APS2SCALA} ${APS2SCALAFLAGS} -A $* mv $*.scala $@ +%.synth-f0.scala : ../%.aps ${APS2SCALA} + ${APS2SCALA} ${APS2SCALAFLAGS} -F $* + mv $*.scala $@ + %.scala : ../%.aps ${APS2SCALA} ${APS2SCALA} ${APS2SCALAFLAGS} $* @@ -375,9 +381,18 @@ ${OUT}/simple-snc.class: simple-snc${IMPL_SUFFIX} ${OUT}/simple_implicit.class .PHONY: ${OUT}/simple_snc_implicit.class ${OUT}/simple_snc_implicit.class : ${OUT}/simple-snc.class ${OUT}/simple_implicit.class ; +${OUT}/simple-snc-fiber.class: simple-snc-fiber${IMPL_SUFFIX} ${OUT}/simple_implicit.class + ${SCALAC} ${SCALACFLAGS} $< + +.PHONY: ${OUT}/simple_snc_fiber_implicit.class +${OUT}/simple_snc_fiber_implicit.class : ${OUT}/simple-snc-fiber.class ${OUT}/simple_implicit.class ; + ${OUT}/SimpleSncDriver.class: ${OUT}/simple_snc_implicit.class ${OUT}/SimpleParser.class ${SCALAC} ${SCALACFLAGS} simple-snc-driver.scala +${OUT}/SimpleSncFiberDriver.class: ${OUT}/simple_snc_fiber_implicit.class ${OUT}/SimpleParser.class + ${SCALAC} ${SCALACFLAGS} simple-snc-fiber-driver.scala + .PHONY: %.run %.run : ${OUT}/%.class diff --git a/examples/scala/compare-evaluators.sh b/examples/scala/compare-evaluators.sh index 24d4c490..ad41465d 100755 --- a/examples/scala/compare-evaluators.sh +++ b/examples/scala/compare-evaluators.sh @@ -117,7 +117,7 @@ TESTS=( "FollowDriver|grammar.cfg|$DEFAULT_EVALUATORS" "NullableDriver|grammar.cfg|$DEFAULT_EVALUATORS" "SimpleSncDriver|simple.program|$DYNAMIC_EVALUATOR,$ORIGINAL_FARROW_EVALUATOR,$EXTENDED_FARROW_EVALUATOR" - "SimpleSncFiberDriver|simple.program|$DYNAMIC_EVALUATOR,$ORIGINAL_FARROW_EVALUATOR,$EXTENDED_FARROW_EVALUATOR" + "SimpleSncFiberDriver|simple.program|$DYNAMIC_EVALUATOR,$EXTENDED_FARROW_EVALUATOR" ) failures=0 From f97b7a58884cc8232547251d1a4fedebdcc06752 Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Tue, 8 Sep 2026 21:10:33 +0000 Subject: [PATCH 49/52] small bug fixes --- codegen/farrow-impl.cc | 2 +- codegen/synth-impl.cc | 2 +- codegen/synth-util.cc | 19 +++++++++++-------- codegen/synth-util.h | 3 ++- examples/scala/Makefile | 16 ++++++---------- examples/scala/compare-evaluators.sh | 14 +++++++------- 6 files changed, 28 insertions(+), 28 deletions(-) diff --git a/codegen/farrow-impl.cc b/codegen/farrow-impl.cc index 10af43cf..acfbf72b 100644 --- a/codegen/farrow-impl.cc +++ b/codegen/farrow-impl.cc @@ -64,7 +64,7 @@ static void dump_farrow_functions(STATE* s, ostream& os) { ostream& oss = os; os << "\n"; - synth_functions_states = synth_util::build_synth_function_states(s); + synth_functions_states = synth_util::build_synth_function_states(s, false); bool needs_fixed_point = s->loop_required; for (auto state_it = synth_functions_states.begin(); state_it != synth_functions_states.end(); state_it++) { diff --git a/codegen/synth-impl.cc b/codegen/synth-impl.cc index 7a397aee..28238ef9 100644 --- a/codegen/synth-impl.cc +++ b/codegen/synth-impl.cc @@ -322,7 +322,7 @@ static std::vector collect_object_field_assignments(AUG_GRAPH static void dump_synth_functions(STATE* s, ostream& os) { os << "\n"; - synth_functions_states = synth_util::build_synth_function_states(s); + synth_functions_states = synth_util::build_synth_function_states(s, true); bool needs_fixed_point = s->loop_required; for (auto state_it = synth_functions_states.begin(); state_it != synth_functions_states.end(); state_it++) { diff --git a/codegen/synth-util.cc b/codegen/synth-util.cc index ec5a82d4..da35a2be 100644 --- a/codegen/synth-util.cc +++ b/codegen/synth-util.cc @@ -247,7 +247,8 @@ static std::vector collect_lhs_aug_graphs(STATE* state, PHY_GRAPH* p return result; } -std::vector build_synth_function_states(STATE* state) { +std::vector build_synth_function_states( + STATE* state, bool include_field_assign_dependencies) { std::vector result; for (int phylum_index = 0; phylum_index < state->phyla.length; ++phylum_index) { @@ -297,13 +298,15 @@ std::vector build_synth_function_states(STATE* state) { function_state->is_phylum_instance = false; function_state->is_side_effect_evaluation = ATTR_DECL_IS_SHARED_INFO(instance->fibered_attr.attr); function_state->regular_dependencies = collect_aug_graph_attr_dependencies(aug_graph, instance); - std::vector field_dependencies = - collect_field_assign_dependencies(aug_graph, instance); - for (INSTANCE* dependency_instance : field_dependencies) { - if (std::find(function_state->regular_dependencies.begin(), - function_state->regular_dependencies.end(), dependency_instance) == - function_state->regular_dependencies.end()) { - function_state->regular_dependencies.push_back(dependency_instance); + if (include_field_assign_dependencies) { + std::vector field_dependencies = + collect_field_assign_dependencies(aug_graph, instance); + for (INSTANCE* dependency_instance : field_dependencies) { + if (std::find(function_state->regular_dependencies.begin(), + function_state->regular_dependencies.end(), dependency_instance) == + function_state->regular_dependencies.end()) { + function_state->regular_dependencies.push_back(dependency_instance); + } } } function_state->aug_graphs.push_back(aug_graph); diff --git a/codegen/synth-util.h b/codegen/synth-util.h index a777a18b..d55a4e84 100644 --- a/codegen/synth-util.h +++ b/codegen/synth-util.h @@ -81,7 +81,8 @@ bool should_skip_synth_dependency(INSTANCE* instance); bool find_instance(AUG_GRAPH* graph, Declaration node, const FIBERED_ATTRIBUTE& attribute, INSTANCE** result); -std::vector build_synth_function_states(STATE* state); +std::vector build_synth_function_states( + STATE* state, bool include_field_assign_dependencies); void destroy_synth_function_states(const std::vector& states); diff --git a/examples/scala/Makefile b/examples/scala/Makefile index 34b5ce8c..0c969e38 100644 --- a/examples/scala/Makefile +++ b/examples/scala/Makefile @@ -17,10 +17,10 @@ EVALUATOR ?= DYNAMIC ifeq (${EVALUATOR},STATIC) IMPL_SUFFIX = .static.scala -else ifeq (${EVALUATOR},SYNTH_F1) +else ifeq (${EVALUATOR},SYNTH) IMPL_SUFFIX = .synth.scala -else ifeq (${EVALUATOR},SYNTH_F0) -IMPL_SUFFIX = .synth-f0.scala +else ifeq (${EVALUATOR},FARROW) +IMPL_SUFFIX = .farrow.scala else IMPL_SUFFIX = .scala endif @@ -37,7 +37,7 @@ EVALUATOR_EXAMPLES = classic-binding first follow nullable test-coll \ farrow-lv farrow-ubd farrow-ubd-fiber nested-ubd nested-ubd-fiber simple-snc \ simple-snc-fiber SCALAGEN = ${AST_TREE_SCALAGEN} \ - $(foreach example,${EVALUATOR_EXAMPLES},$(example).scala $(example).static.scala $(example).synth.scala $(example).synth-f0.scala) + $(foreach example,${EVALUATOR_EXAMPLES},$(example).scala $(example).static.scala $(example).synth.scala $(example).farrow.scala) MISCGEN = SimpleParser.scala SimpleScanner.scala \ GrammarTokens.scala SimpleTokens.scala GrammarScanner.scala GrammarParser.scala \ @@ -84,16 +84,12 @@ phony_explicit: %.farrow.scala : ../%.aps ${APS2SCALA} ${APS2SCALA} ${APS2SCALAFLAGS} -F $* - cp $*.scala $@ + mv $*.scala $@ %.synth.scala : ../%.aps ${APS2SCALA} ${APS2SCALA} ${APS2SCALAFLAGS} -A $* mv $*.scala $@ -%.synth-f0.scala : ../%.aps ${APS2SCALA} - ${APS2SCALA} ${APS2SCALAFLAGS} -F $* - mv $*.scala $@ - %.scala : ../%.aps ${APS2SCALA} ${APS2SCALA} ${APS2SCALAFLAGS} $* @@ -400,5 +396,5 @@ ${OUT}/SimpleSncFiberDriver.class: ${OUT}/simple_snc_fiber_implicit.class ${OUT} clean: rm -rf ${OUT_BASE} - rm -f *.class ${SCALAGEN} ${MISCGEN} *.synth-f0.scala + rm -f *.class ${SCALAGEN} ${MISCGEN} diff --git a/examples/scala/compare-evaluators.sh b/examples/scala/compare-evaluators.sh index ad41465d..6990fd52 100755 --- a/examples/scala/compare-evaluators.sh +++ b/examples/scala/compare-evaluators.sh @@ -5,9 +5,9 @@ cd "$SCRIPT_DIR" DYNAMIC_EVALUATOR="DYNAMIC" STATIC_EVALUATOR="STATIC" -ORIGINAL_FARROW_EVALUATOR="SYNTH_F0" -EXTENDED_FARROW_EVALUATOR="SYNTH_F1" -DEFAULT_EVALUATORS="$DYNAMIC_EVALUATOR,$STATIC_EVALUATOR,$EXTENDED_FARROW_EVALUATOR" +FARROW_EVALUATOR="FARROW" +SYNTH_EVALUATOR="SYNTH" +DEFAULT_EVALUATORS="$DYNAMIC_EVALUATOR,$STATIC_EVALUATOR,$SYNTH_EVALUATOR" extract_results() { sed -n '/^Results:$/,$p' @@ -108,16 +108,16 @@ TESTS=( "TestUseCollDriver|tiny.program|$DEFAULT_EVALUATORS" "TestCycleDriver|tiny.program|$DEFAULT_EVALUATORS" "UseGlobal|tiny.program|$DEFAULT_EVALUATORS" - "FarrowUbdDriver|farrow-ubd.program|$DEFAULT_EVALUATORS,$ORIGINAL_FARROW_EVALUATOR" + "FarrowUbdDriver|farrow-ubd.program|$DEFAULT_EVALUATORS,$FARROW_EVALUATOR" "FarrowUbdFiberDriver|farrow-ubd.program|$DEFAULT_EVALUATORS" - "NestedUbdDriver|nested-ubd.program|$DEFAULT_EVALUATORS,$ORIGINAL_FARROW_EVALUATOR" + "NestedUbdDriver|nested-ubd.program|$DEFAULT_EVALUATORS,$FARROW_EVALUATOR" "NestedUbdFiberDriver|nested-ubd.program|$DEFAULT_EVALUATORS" "TestFieldsDriver|tiny.program|$DEFAULT_EVALUATORS" "FirstDriver|grammar.cfg|$DEFAULT_EVALUATORS" "FollowDriver|grammar.cfg|$DEFAULT_EVALUATORS" "NullableDriver|grammar.cfg|$DEFAULT_EVALUATORS" - "SimpleSncDriver|simple.program|$DYNAMIC_EVALUATOR,$ORIGINAL_FARROW_EVALUATOR,$EXTENDED_FARROW_EVALUATOR" - "SimpleSncFiberDriver|simple.program|$DYNAMIC_EVALUATOR,$EXTENDED_FARROW_EVALUATOR" + "SimpleSncDriver|simple.program|$DYNAMIC_EVALUATOR,$FARROW_EVALUATOR,$SYNTH_EVALUATOR" + "SimpleSncFiberDriver|simple.program|$DYNAMIC_EVALUATOR,$SYNTH_EVALUATOR" ) failures=0 From c1c6dc47d734e64c0762d8d4dcae6d68b2ebea22 Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Tue, 8 Sep 2026 21:11:38 +0000 Subject: [PATCH 50/52] Unnessary change --- .github/workflows/test.yml | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 49d8d3d1..4f350cb9 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -13,8 +13,10 @@ jobs: runs-on: ubuntu-latest env: - SCALA_VERSION: "2.12.13" - SCALA_MAJOR: "2.12" + SCALA_VERSION: "2.13.12" + SCALA_MAJOR: "2.13" + JFLEX_URL: "https://github.com/boyland/JFlex/releases/download/v1.5+scala.1/JFlex.jar" + SCALA_BISON_URL: "https://github.com/boyland/scala-bison/releases/download/v1.2/scala-bison-2.13.jar" steps: - name: Checkout code @@ -53,6 +55,18 @@ jobs: cd utilities/tests make all + - name: Download JFlex and scala-bison + run: | + mkdir -p "$HOME/git/scala-bison" + mkdir -p "$HOME/Documents/Courses/sp26-cs654/etc" + wget -q -O "$HOME/git/scala-bison/scala-bison-2.13.jar" "$SCALA_BISON_URL" + wget -q -O "$HOME/Documents/Courses/sp26-cs654/etc/JFlex.jar" "$JFLEX_URL" + + - name: Sanity check + run: | + cd examples/scala + make + - name: Run examples Scala tests run: | cd examples/scala/tests From cc5a189bdcb81b077acf6cab4b6e4325b5101158 Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Tue, 8 Sep 2026 21:14:29 +0000 Subject: [PATCH 51/52] Improve simple-snc-fiber --- examples/scala/simple-snc-fiber-driver.scala | 2 +- examples/simple-snc-fiber.aps | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/examples/scala/simple-snc-fiber-driver.scala b/examples/scala/simple-snc-fiber-driver.scala index 19b3ce90..2379baae 100644 --- a/examples/scala/simple-snc-fiber-driver.scala +++ b/examples/scala/simple-snc-fiber-driver.scala @@ -33,5 +33,5 @@ object SimpleSncFiberDriver extends App { println("Results:"); println("program_ok is " + t_snc.v_program_ok(t_snc.t_Program.nodes(0))); - println("program_env is " + t_snc.v_program_env(t_snc.t_Program.nodes(0))); + println("program_names is " + t_snc.v_program_names(t_snc.t_Program.nodes(0)).toSeq.sorted); } diff --git a/examples/simple-snc-fiber.aps b/examples/simple-snc-fiber.aps index a9e7496f..736276fe 100644 --- a/examples/simple-snc-fiber.aps +++ b/examples/simple-snc-fiber.aps @@ -29,7 +29,8 @@ module SIMPLE_SNC_FIBER[T :: var SIMPLE[]] extends T begin pragma synthesized(expr_found1,expr_found2,stmt_ok,stmts_ok,block_ok,program_ok,program_names); match ?p:Program=program(?b:Block) begin - scope : Env := contour(); + scope : Scope := contour(); + scope.outer := Env$nil; b.block_env := scope; p.program_ok := b.block_ok; p.program_names := scope.names; From 29a043e0f6fdae02802113b52cf5b0cdf5263289 Mon Sep 17 00:00:00 2001 From: Amir Hesamian Date: Tue, 8 Sep 2026 23:46:19 +0000 Subject: [PATCH 52/52] Another try --- codegen/synth-impl.cc | 118 +++++++++++++++++++++++++++++++----------- codegen/synth-util.cc | 37 ++++++++++--- codegen/synth-util.h | 3 ++ 3 files changed, 119 insertions(+), 39 deletions(-) diff --git a/codegen/synth-impl.cc b/codegen/synth-impl.cc index 28238ef9..21648b18 100644 --- a/codegen/synth-impl.cc +++ b/codegen/synth-impl.cc @@ -47,8 +47,11 @@ class FiberDependencyDumper { if (in->index == sink->index) { continue; } - if (edgeset_kind(aug_graph->graph[in->index * n + sink->index]) && in->fibered_attr.fiber != NULL && - (synth_util::instance_is_synthesized(in) || fibered_attr_direction(&in->fibered_attr) == instance_local)) { + if (edgeset_kind(aug_graph->graph[in->index * n + sink->index]) && + in->fibered_attr.fiber != NULL && + (synth_util::instance_is_synthesized(in) || + fibered_attr_direction(&in->fibered_attr) == instance_local || + fiber_is_reverse(in->fibered_attr.fiber))) { relevant_instances.push_back(in); } } @@ -143,6 +146,7 @@ class FiberDependencyDumper { return; } + bool made_progress = false; for (int i = 0; i < component->length; i++) { INSTANCE* in = (INSTANCE*)component->array[i]; if (scheduled[in->index]) { @@ -164,6 +168,7 @@ class FiberDependencyDumper { } scheduled[in->index] = true; + made_progress = true; os << indent(); synth_impl_ptr->dump_synth_instance(in, os); dumped_conditional_block_items.clear(); @@ -172,6 +177,22 @@ class FiberDependencyDumper { dump_component(aug_graph, component, scheduled, os); } + + if (!made_progress) { + for (int i = 0; i < component->length; i++) { + INSTANCE* in = (INSTANCE*)component->array[i]; + if (!scheduled[in->index]) { + scheduled[in->index] = true; + os << indent(); + synth_impl_ptr->dump_synth_instance(in, os); + dumped_conditional_block_items.clear(); + dumped_instances.clear(); + os << ";\n"; + dump_component(aug_graph, component, scheduled, os); + break; + } + } + } } static void dump_scc_helper(AUG_GRAPH* aug_graph, SCC_COMPONENTS* components, bool* scheduled, ostream& os) { @@ -240,44 +261,70 @@ static void emit_root_evaluations(ostream& os, Declaration start_phylum, const v os << indent() << "}\n"; } -static void emit_start_phylum_evaluations(ostream& os, STATE* state) { +static void emit_start_phylum_evaluations( + ostream& os, STATE* state, + const vector& function_states) { PHY_GRAPH* start_graph = summary_graph_for(state, state->start_phylum); bool needs_fixed_point = state->loop_required; + set_phylum_graph_components(start_graph); + auto is_side_effect = [&function_states](INSTANCE* instance) { + auto function_state = std::find_if( + function_states.begin(), function_states.end(), + [instance](synth_util::SynthFunctionState* candidate) { + return candidate->source == instance; + }); + return function_state != function_states.end() && + (*function_state)->is_side_effect_evaluation; + }; if (!needs_fixed_point) { - vector synthesized_instances; - for (int i = 0; i < start_graph->instances.length; i++) { - INSTANCE* instance = &start_graph->instances.array[i]; - if (synth_util::instance_is_synthesized(instance)) { - synthesized_instances.push_back(instance); + vector side_effect_instances; + vector value_instances; + for (int instance_index = 0; + instance_index < start_graph->instances.length; instance_index++) { + INSTANCE* instance = &start_graph->instances.array[instance_index]; + if (!synth_util::instance_is_synthesized(instance)) { + continue; + } + if (is_side_effect(instance)) { + side_effect_instances.push_back(instance); + } else { + value_instances.push_back(instance); } } - emit_root_evaluations(os, state->start_phylum, synthesized_instances); + emit_root_evaluations(os, state->start_phylum, side_effect_instances); + emit_root_evaluations(os, state->start_phylum, value_instances); return; } os << indent() << "implicit val changed: AtomicBoolean = new AtomicBoolean(false);\n"; os << indent() << "implicit val " << synth_util::LOOP_VAR << ": Boolean = false;\n"; - set_phylum_graph_components(start_graph); - - for (int component_index = 0; component_index < start_graph->components->length; component_index++) { - SCC_COMPONENT* component = start_graph->components->array[component_index]; - vector synthesized_instances = synthesized_component_instances(component); - if (synthesized_instances.empty()) { - continue; - } + for (bool emit_side_effects : {true, false}) { + for (int component_index = start_graph->components->length - 1; + component_index >= 0; component_index--) { + SCC_COMPONENT* component = start_graph->components->array[component_index]; + vector synthesized_instances; + for (INSTANCE* instance : synthesized_component_instances(component)) { + if (is_side_effect(instance) == emit_side_effects) { + synthesized_instances.push_back(instance); + } + } + if (synthesized_instances.empty()) { + continue; + } - if (start_graph->component_cycle[component_index]) { - os << indent() << "{\n"; - ++nesting_level; - emit_fixed_point_loop_start(os, "componentChanged" + std::to_string(component_index)); - emit_root_evaluations(os, state->start_phylum, synthesized_instances); - emit_fixed_point_loop_end(os); - --nesting_level; - os << indent() << "}\n"; - } else { - emit_root_evaluations(os, state->start_phylum, synthesized_instances); + if (start_graph->component_cycle[component_index]) { + os << indent() << "{\n"; + ++nesting_level; + emit_fixed_point_loop_start(os, "componentChanged" + std::to_string(component_index)); + emit_root_evaluations(os, state->start_phylum, synthesized_instances); + emit_fixed_point_loop_end(os); + --nesting_level; + os << indent() << "}\n"; + } else { + emit_root_evaluations(os, state->start_phylum, synthesized_instances); + } } } } @@ -606,8 +653,6 @@ static void dump_synth_functions(STATE* s, ostream& os) { os << indent() << "}\n\n"; } - synth_util::destroy_synth_function_states(synth_functions_states); - synth_functions_states.clear(); } class SynthImpl : public SynthImplementation { @@ -637,11 +682,14 @@ class SynthImpl : public SynthImplementation { os << indent() << "override def finish() : Unit = {\n"; ++nesting_level; - emit_start_phylum_evaluations(os, s); + emit_start_phylum_evaluations(os, s, synth_functions_states); os << indent() << "super.finish();\n"; --nesting_level; os << indent() << "};\n"; + synth_util::destroy_synth_function_states(synth_functions_states); + synth_functions_states.clear(); + clear_implementation_marks(module_decl); } }; @@ -1053,8 +1101,16 @@ class SynthImpl : public SynthImplementation { } else if (is_match_formal) { o << "v_" << synth_util::instance_to_string(instance, current_synth_functions_state->is_phylum_instance); } else if (is_inherited) { - if (is_parent_instance) { + if (instance->fibered_attr.fiber != NULL && + fiber_is_reverse(instance->fibered_attr.fiber)) { + dump_rhs_instance_helper(aug_graph, block, instance, o); + } else if (is_parent_instance) { o << "v_" << synth_util::instance_to_string(instance, current_synth_functions_state->is_phylum_instance); + if (current_synth_functions_state->is_phylum_instance && + !synth_util::synth_function_has_regular_dependency( + current_synth_functions_state, instance)) { + o << "(node)"; + } } else { dump_rhs_instance_helper(aug_graph, block, instance, o); } diff --git a/codegen/synth-util.cc b/codegen/synth-util.cc index da35a2be..d5baec22 100644 --- a/codegen/synth-util.cc +++ b/codegen/synth-util.cc @@ -210,14 +210,23 @@ static std::vector collect_aug_graph_attr_dependencies(AUG_GRAPH* aug static std::vector collect_field_assign_dependencies(AUG_GRAPH* graph, INSTANCE* owner) { std::vector result; - Declaration attribute = owner->fibered_attr.attr; - int instance_count = graph->instances.length; - - for (int index = 0; index < instance_count; ++index) { - INSTANCE* field_instance = &graph->instances.array[index]; - if (field_instance->fibered_attr.attr != attribute || - field_instance->fibered_attr.fiber == NULL || - field_instance->index == owner->index) { + Block body = matcher_body(top_level_match_m(graph->match_rule)); + for (Declaration declaration = first_Declaration(block_body(body)); declaration; + declaration = DECL_NEXT(declaration)) { + if (Declaration_KEY(declaration) != KEYnormal_assign) { + continue; + } + Expression lhs = assign_lhs(declaration); + if (Expression_KEY(lhs) != KEYfuncall || field_ref_p(lhs) == NULL) { + continue; + } + Expression object = field_ref_object(lhs); + if (Expression_KEY(object) != KEYvalue_use || + USE_DECL(value_use_use(object)) != owner->fibered_attr.attr) { + continue; + } + INSTANCE* field_instance = Expression_info(assign_rhs(declaration))->value_for; + if (field_instance == NULL) { continue; } std::vector dependencies = @@ -443,6 +452,17 @@ bool synth_function_is_circular(SynthFunctionState* state) { return false; } +bool synth_function_has_regular_dependency(SynthFunctionState* state, + INSTANCE* instance) { + for (INSTANCE* dependency_instance : state->regular_dependencies) { + if (fibered_attr_equal(&dependency_instance->fibered_attr, + &instance->fibered_attr)) { + return true; + } + } + return false; +} + static bool instance_is_child(INSTANCE* instance, AUG_GRAPH* graph) { return instance->node != NULL && instance->node != graph->lhs_decl; } bool instance_is_parent(INSTANCE* instance, AUG_GRAPH* graph) { return instance->node != NULL && instance->node == graph->lhs_decl; } @@ -751,6 +771,7 @@ static BlockItem* linearize_block_helper(AUG_GRAPH* graph, const std::vectorgraph[dependency_index * instance_count + index]) & DEPENDENCY_MAYBE_DIRECT)) { continue; } + // Ignore edges within the same direct cycle so its instances can be linearized. if (component_of[dependency_index] == component_of[index]) { continue; } diff --git a/codegen/synth-util.h b/codegen/synth-util.h index d55a4e84..0d7d9b12 100644 --- a/codegen/synth-util.h +++ b/codegen/synth-util.h @@ -94,6 +94,9 @@ void dump_attribute_type(INSTANCE* instance, std::ostream& output); bool synth_function_is_circular(SynthFunctionState* state); +bool synth_function_has_regular_dependency(SynthFunctionState* state, + INSTANCE* instance); + std::vector collect_child_cycle_instances(AUG_GRAPH* graph); bool child_cycle_is_independent(AUG_GRAPH* graph, INSTANCE* cycle_instance);