diff --git a/progs/job/fj/10b.sdql b/progs/job/fj/10b.sdql new file mode 100644 index 00000000..11ca2a59 --- /dev/null +++ b/progs/job/fj/10b.sdql @@ -0,0 +1,41 @@ +let mc = load[ int}, movie_id: @vec {int -> int}, company_id: @vec {int -> int}, company_type_id: @vec {int -> int}, note: @vec {int -> string}, size: int>]("datasets/job/movie_companies.csv") +let t = load[ int}, title: @vec {int -> string}, imdb_index: @vec {int -> string}, kind_id: @vec {int -> int}, production_year: @vec {int -> int}, imdb_id: @vec {int -> string}, phonetic_code: @vec {int -> string}, episode_of_id: @vec {int -> int}, season_nr: @vec {int -> int}, episode_nr: @vec {int -> int}, series_years: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/10b/t.csv") +let ct = load[ int}, kind: @vec {int -> string}, size: int>]("datasets/job/company_type.csv") +let cn = load[ int}, name: @vec {int -> string}, country_code: @vec {int -> string}, imdb_id: @vec {int -> string}, name_pcode_nf: @vec {int -> string}, name_pcode_sf: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/10b/cn.csv") +let ci = load[ int}, person_id: @vec {int -> int}, movie_id: @vec {int -> int}, person_role_id: @vec {int -> int}, note: @vec {int -> string}, nr_order: @vec {int -> int}, role_id: @vec {int -> int}, size: int>]("datasets/job/10b/ci.csv") +let rt = load[ int}, role: @vec {int -> string}, size: int>]("datasets/job/10b/rt.csv") +let chn = load[ int}, name: @vec {int -> string}, imdb_index: @vec {int -> string}, imdb_id: @vec {int -> int}, name_pcode_cf: @vec {int -> string}, surname_pcode: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/char_name.csv") + +let ct_trie0 = sum( <- range(ct.size)) @phmap(ct.size) { unique(ct.id(i)) -> 1 } in +let cn_trie0 = sum( <- range(cn.size)) @phmap(cn.size) { unique(cn.id(i)) -> 1 } in +let t_trie0 = sum( <- range(t.size)) @phmap(t.size) { t.id(i) -> @smallvecdict(4) { i -> 1 } } in +let interm0_trie0 = sum( <- range(mc.size)) + let x0 = mc.company_type_id(mc_off) in + if (x0 ∈ ct_trie0) then + let ct_trie1 = ct_trie0(x0) in + let x1 = mc.company_id(mc_off) in + if (x1 ∈ cn_trie0) then + let cn_trie1 = cn_trie0(x1) in + let x2 = mc.movie_id(mc_off) in + if (x2 ∈ t_trie0) then + let t_trie1 = t_trie0(x2) in + sum( <- t_trie1) + @phmap(promote[min_sum](1000000) + promote[min_sum](mc.size)) { mc.movie_id(mc_off) -> @smallvecdict(4) { -> 1 } } +in + +let rt_trie0 = sum( <- range(rt.size)) @phmap(rt.size) { unique(rt.id(i)) -> 1 } in +let chn_trie0 = sum( <- range(chn.size)) @phmap(chn.size) { chn.id(i) -> @smallvecdict(4) { i -> 1 } } in +sum( <- range(ci.size)) + let x0 = ci.role_id(ci_off) in + if (x0 ∈ rt_trie0) then + let rt_trie1 = rt_trie0(x0) in + let x1 = ci.movie_id(ci_off) in + if (x1 ∈ interm0_trie0) then + let interm0_trie1 = interm0_trie0(x1) in + let x2 = ci.person_role_id(ci_off) in + if (x2 ∈ chn_trie0) then + let chn_trie1 = chn_trie0(x2) in + let mn_interm0 = sum( <- interm0_trie1) promote[min_sum]() in + let mn_chn = sum( <- chn_trie1) promote[min_sum]() in + promote[min_sum]() + diff --git a/progs/job/fj/13a.sdql b/progs/job/fj/13a.sdql new file mode 100644 index 00000000..d93b3be1 --- /dev/null +++ b/progs/job/fj/13a.sdql @@ -0,0 +1,52 @@ +let t = load[ int}, title: @vec {int -> string}, imdb_index: @vec {int -> string}, kind_id: @vec {int -> int}, production_year: @vec {int -> int}, imdb_id: @vec {int -> string}, phonetic_code: @vec {int -> string}, episode_of_id: @vec {int -> int}, season_nr: @vec {int -> int}, episode_nr: @vec {int -> int}, series_years: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/title.csv") +let miidx = load[ int}, movie_id: @vec {int -> int}, info_type_id: @vec {int -> int}, info: @vec {int -> string}, note: @vec {int -> string}, size: int>]("datasets/job/movie_info_idx.csv") +let mi = load[ int}, movie_id: @vec {int -> int}, info_type_id: @vec {int -> int}, info: @vec {int -> string}, note: @vec {int -> string}, size: int>]("datasets/job/movie_info.csv") +let mc = load[ int}, movie_id: @vec {int -> int}, company_id: @vec {int -> int}, company_type_id: @vec {int -> int}, note: @vec {int -> string}, size: int>]("datasets/job/movie_companies.csv") +let kt = load[ int}, kind: @vec {int -> string}, size: int>]("datasets/job/13a/kt.csv") +let it2 = load[ int}, info: @vec {int -> string}, size: int>]("datasets/job/13a/it2.csv") +let it = load[ int}, info: @vec {int -> string}, size: int>]("datasets/job/13a/it.csv") +let ct = load[ int}, kind: @vec {int -> string}, size: int>]("datasets/job/13a/ct.csv") +let cn = load[ int}, name: @vec {int -> string}, country_code: @vec {int -> string}, imdb_id: @vec {int -> string}, name_pcode_nf: @vec {int -> string}, name_pcode_sf: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/13a/cn.csv") + +let miidx_trie0 = sum( <- range(miidx.size)) @phmap(miidx.size) { miidx.movie_id(i) -> @smallvecdict(4) { i -> 1 } } in +let interm0_trie0 = sum( <- range(t.size)) + let x0 = t.id(t_off) in + if (x0 ∈ miidx_trie0) then + let miidx_trie1 = miidx_trie0(x0) in + sum( <- miidx_trie1) + @phmap(promote[min_sum](1000000) + promote[min_sum](t.size)) { t.id(t_off) -> @smallvecdict(4) { -> 1 } } +in + +let mc_trie0 = sum( <- range(mc.size)) @phmap(mc.size) { mc.movie_id(i) -> @smallvecdict(4) { i -> 1 } } in +let kt_trie0 = sum( <- range(kt.size)) @phmap(kt.size) { unique(kt.id(i)) -> 1 } in +let it2_trie0 = sum( <- range(it2.size)) @phmap(it2.size) { unique(it2.id(i)) -> 1 } in +let it_trie0 = sum( <- range(it.size)) @phmap(it.size) { unique(it.id(i)) -> 1 } in +let ct_trie0 = sum( <- range(ct.size)) @phmap(ct.size) { unique(ct.id(i)) -> 1 } in +let cn_trie0 = sum( <- range(cn.size)) @phmap(cn.size) { unique(cn.id(i)) -> 1 } in +sum( <- range(mi.size)) + let x0 = mi.movie_id(mi_off) in + if (x0 ∈ interm0_trie0) then + if (x0 ∈ mc_trie0) then + let interm0_trie1 = interm0_trie0(x0) in + let mc_trie1 = mc_trie0(x0) in + sum( <- interm0_trie1) + let x1 = interm0_tuple.col2 in + if (x1 ∈ kt_trie0) then + let kt_trie1 = kt_trie0(x1) in + let x2 = mi.info_type_id(mi_off) in + if (x2 ∈ it2_trie0) then + let it2_trie1 = it2_trie0(x2) in + let x3 = interm0_tuple.col4 in + if (x3 ∈ it_trie0) then + let it_trie1 = it_trie0(x3) in + sum( <- mc_trie1) + let x4 = mc.company_type_id(mc_off) in + if (x4 ∈ ct_trie0) then + let ct_trie1 = ct_trie0(x4) in + let x5 = mc.company_id(mc_off) in + if (x5 ∈ cn_trie0) then + let cn_trie1 = cn_trie0(x5) in + let mn_mi = in + let mn_interm0 = in + promote[min_sum]() + diff --git a/progs/job/fj/13d.sdql b/progs/job/fj/13d.sdql new file mode 100644 index 00000000..2f0a1865 --- /dev/null +++ b/progs/job/fj/13d.sdql @@ -0,0 +1,52 @@ +let t = load[ int}, title: @vec {int -> string}, imdb_index: @vec {int -> string}, kind_id: @vec {int -> int}, production_year: @vec {int -> int}, imdb_id: @vec {int -> string}, phonetic_code: @vec {int -> string}, episode_of_id: @vec {int -> int}, season_nr: @vec {int -> int}, episode_nr: @vec {int -> int}, series_years: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/title.csv") +let miidx = load[ int}, movie_id: @vec {int -> int}, info_type_id: @vec {int -> int}, info: @vec {int -> string}, note: @vec {int -> string}, size: int>]("datasets/job/movie_info_idx.csv") +let mi = load[ int}, movie_id: @vec {int -> int}, info_type_id: @vec {int -> int}, info: @vec {int -> string}, note: @vec {int -> string}, size: int>]("datasets/job/movie_info.csv") +let mc = load[ int}, movie_id: @vec {int -> int}, company_id: @vec {int -> int}, company_type_id: @vec {int -> int}, note: @vec {int -> string}, size: int>]("datasets/job/movie_companies.csv") +let kt = load[ int}, kind: @vec {int -> string}, size: int>]("datasets/job/13d/kt.csv") +let it2 = load[ int}, info: @vec {int -> string}, size: int>]("datasets/job/13d/it2.csv") +let it = load[ int}, info: @vec {int -> string}, size: int>]("datasets/job/13d/it.csv") +let ct = load[ int}, kind: @vec {int -> string}, size: int>]("datasets/job/13d/ct.csv") +let cn = load[ int}, name: @vec {int -> string}, country_code: @vec {int -> string}, imdb_id: @vec {int -> string}, name_pcode_nf: @vec {int -> string}, name_pcode_sf: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/13d/cn.csv") + +let miidx_trie0 = sum( <- range(miidx.size)) @phmap(miidx.size) { miidx.movie_id(i) -> @smallvecdict(4) { i -> 1 } } in +let interm0_trie0 = sum( <- range(t.size)) + let x0 = t.id(t_off) in + if (x0 ∈ miidx_trie0) then + let miidx_trie1 = miidx_trie0(x0) in + sum( <- miidx_trie1) + @phmap(promote[min_sum](1000000) + promote[min_sum](t.size)) { t.id(t_off) -> @smallvecdict(4) { -> 1 } } +in + +let mc_trie0 = sum( <- range(mc.size)) @phmap(mc.size) { mc.movie_id(i) -> @smallvecdict(4) { i -> 1 } } in +let kt_trie0 = sum( <- range(kt.size)) @phmap(kt.size) { unique(kt.id(i)) -> 1 } in +let it2_trie0 = sum( <- range(it2.size)) @phmap(it2.size) { unique(it2.id(i)) -> 1 } in +let it_trie0 = sum( <- range(it.size)) @phmap(it.size) { unique(it.id(i)) -> 1 } in +let ct_trie0 = sum( <- range(ct.size)) @phmap(ct.size) { unique(ct.id(i)) -> 1 } in +let cn_trie0 = sum( <- range(cn.size)) @phmap(cn.size) { cn.id(i) -> @smallvecdict(4) { i -> 1 } } in +sum( <- range(mi.size)) + let x0 = mi.movie_id(mi_off) in + if (x0 ∈ interm0_trie0) then + if (x0 ∈ mc_trie0) then + let interm0_trie1 = interm0_trie0(x0) in + let mc_trie1 = mc_trie0(x0) in + sum( <- interm0_trie1) + let x1 = interm0_tuple.col2 in + if (x1 ∈ kt_trie0) then + let kt_trie1 = kt_trie0(x1) in + let x2 = mi.info_type_id(mi_off) in + if (x2 ∈ it2_trie0) then + let it2_trie1 = it2_trie0(x2) in + let x3 = interm0_tuple.col4 in + if (x3 ∈ it_trie0) then + let it_trie1 = it_trie0(x3) in + sum( <- mc_trie1) + let x4 = mc.company_type_id(mc_off) in + if (x4 ∈ ct_trie0) then + let ct_trie1 = ct_trie0(x4) in + let x5 = mc.company_id(mc_off) in + if (x5 ∈ cn_trie0) then + let cn_trie1 = cn_trie0(x5) in + let mn_interm0 = in + let mn_cn = sum( <- cn_trie1) promote[min_sum]() in + promote[min_sum]() + diff --git a/progs/job/fj/2c.sdql b/progs/job/fj/2c.sdql new file mode 100644 index 00000000..951db358 --- /dev/null +++ b/progs/job/fj/2c.sdql @@ -0,0 +1,26 @@ +let mk = load[ int}, movie_id: @vec {int -> int}, keyword_id: @vec {int -> int}, size: int>]("datasets/job/movie_keyword.csv") +let t = load[ int}, title: @vec {int -> string}, imdb_index: @vec {int -> string}, kind_id: @vec {int -> int}, production_year: @vec {int -> int}, imdb_id: @vec {int -> string}, phonetic_code: @vec {int -> string}, episode_of_id: @vec {int -> int}, season_nr: @vec {int -> int}, episode_nr: @vec {int -> int}, series_years: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/title.csv") +let mc = load[ int}, movie_id: @vec {int -> int}, company_id: @vec {int -> int}, company_type_id: @vec {int -> int}, note: @vec {int -> string}, size: int>]("datasets/job/movie_companies.csv") +let k = load[ int}, keyword: @vec {int -> string}, phonetic_code: @vec {int -> string}, size: int>]("datasets/job/2c/k.csv") +let cn = load[ int}, name: @vec {int -> string}, country_code: @vec {int -> string}, imdb_id: @vec {int -> string}, name_pcode_nf: @vec {int -> string}, name_pcode_sf: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/2c/cn.csv") + +let k_trie0 = sum( <- range(k.size)) @phmap(k.size) { unique(k.id(i)) -> 1 } in +let t_trie0 = sum( <- range(t.size)) @phmap(t.size) { t.id(i) -> @smallvecdict(4) { i -> 1 } } in +let mc_trie0 = sum( <- range(mc.size)) @phmap(mc.size) { mc.movie_id(i) -> @smallvecdict(4) { i -> 1 } } in +let cn_trie0 = sum( <- range(cn.size)) @phmap(cn.size) { unique(cn.id(i)) -> 1 } in +sum( <- range(mk.size)) + let x0 = mk.keyword_id(mk_off) in + if (x0 ∈ k_trie0) then + let k_trie1 = k_trie0(x0) in + let x1 = mk.movie_id(mk_off) in + if (x1 ∈ t_trie0) then + if (x1 ∈ mc_trie0) then + let t_trie1 = t_trie0(x1) in + let mc_trie1 = mc_trie0(x1) in + sum( <- mc_trie1) + let x2 = mc.company_id(mc_off) in + if (x2 ∈ cn_trie0) then + let cn_trie1 = cn_trie0(x2) in + let mn_t = sum( <- t_trie1) promote[min_sum]() in + promote[min_sum]() + diff --git a/progs/job/fj/32a.sdql b/progs/job/fj/32a.sdql new file mode 100644 index 00000000..54ca3197 --- /dev/null +++ b/progs/job/fj/32a.sdql @@ -0,0 +1,38 @@ +let t1 = load[ int}, title: @vec {int -> string}, imdb_index: @vec {int -> string}, kind_id: @vec {int -> int}, production_year: @vec {int -> int}, imdb_id: @vec {int -> string}, phonetic_code: @vec {int -> string}, episode_of_id: @vec {int -> int}, season_nr: @vec {int -> int}, episode_nr: @vec {int -> int}, series_years: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/title.csv") +let ml = load[ int}, movie_id: @vec {int -> int}, linked_movie_id: @vec {int -> int}, link_type_id: @vec {int -> int}, size: int>]("datasets/job/movie_link.csv") +let t2 = load[ int}, title: @vec {int -> string}, imdb_index: @vec {int -> string}, kind_id: @vec {int -> int}, production_year: @vec {int -> int}, imdb_id: @vec {int -> string}, phonetic_code: @vec {int -> string}, episode_of_id: @vec {int -> int}, season_nr: @vec {int -> int}, episode_nr: @vec {int -> int}, series_years: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/title.csv") +let mk = load[ int}, movie_id: @vec {int -> int}, keyword_id: @vec {int -> int}, size: int>]("datasets/job/movie_keyword.csv") +let lt = load[ int}, link: @vec {int -> string}, size: int>]("datasets/job/link_type.csv") +let k = load[ int}, keyword: @vec {int -> string}, phonetic_code: @vec {int -> string}, size: int>]("datasets/job/32a/k.csv") + +let ml_trie0 = sum( <- range(ml.size)) @phmap(ml.size) { ml.movie_id(i) -> @smallvecdict(4) { i -> 1 } } in +let t2_trie0 = sum( <- range(t2.size)) @phmap(t2.size) { t2.id(i) -> @smallvecdict(4) { i -> 1 } } in +let interm0_trie0 = sum( <- range(t1.size)) + let x0 = t1.id(t1_off) in + if (x0 ∈ ml_trie0) then + let ml_trie1 = ml_trie0(x0) in + sum( <- ml_trie1) + let x1 = ml.linked_movie_id(ml_off) in + if (x1 ∈ t2_trie0) then + let t2_trie1 = t2_trie0(x1) in + sum( <- t2_trie1) + @phmap(promote[min_sum](1000000) + promote[min_sum](t1.size)) { t1.id(t1_off) -> @smallvecdict(4) { -> 1 } } +in + +let lt_trie0 = sum( <- range(lt.size)) @phmap(lt.size) { lt.id(i) -> @smallvecdict(4) { i -> 1 } } in +let k_trie0 = sum( <- range(k.size)) @phmap(k.size) { unique(k.id(i)) -> 1 } in +sum( <- range(mk.size)) + let x0 = mk.movie_id(mk_off) in + if (x0 ∈ interm0_trie0) then + let interm0_trie1 = interm0_trie0(x0) in + sum( <- interm0_trie1) + let x1 = interm0_tuple.col3 in + if (x1 ∈ lt_trie0) then + let lt_trie1 = lt_trie0(x1) in + let x2 = mk.keyword_id(mk_off) in + if (x2 ∈ k_trie0) then + let k_trie1 = k_trie0(x2) in + let mn_interm0 = in + let mn_lt = sum( <- lt_trie1) promote[min_sum]() in + promote[min_sum]() + diff --git a/progs/job/gj/10b.sdql b/progs/job/gj/10b.sdql new file mode 100644 index 00000000..9cdafb91 --- /dev/null +++ b/progs/job/gj/10b.sdql @@ -0,0 +1,42 @@ +let mc = load[ int}, movie_id: @vec {int -> int}, company_id: @vec {int -> int}, company_type_id: @vec {int -> int}, note: @vec {int -> string}, size: int>]("datasets/job/movie_companies.csv") +let t = load[ int}, title: @vec {int -> string}, imdb_index: @vec {int -> string}, kind_id: @vec {int -> int}, production_year: @vec {int -> int}, imdb_id: @vec {int -> string}, phonetic_code: @vec {int -> string}, episode_of_id: @vec {int -> int}, season_nr: @vec {int -> int}, episode_nr: @vec {int -> int}, series_years: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/10b/t.csv") +let ct = load[ int}, kind: @vec {int -> string}, size: int>]("datasets/job/company_type.csv") +let cn = load[ int}, name: @vec {int -> string}, country_code: @vec {int -> string}, imdb_id: @vec {int -> string}, name_pcode_nf: @vec {int -> string}, name_pcode_sf: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/10b/cn.csv") +let ci = load[ int}, person_id: @vec {int -> int}, movie_id: @vec {int -> int}, person_role_id: @vec {int -> int}, note: @vec {int -> string}, nr_order: @vec {int -> int}, role_id: @vec {int -> int}, size: int>]("datasets/job/10b/ci.csv") +let rt = load[ int}, role: @vec {int -> string}, size: int>]("datasets/job/10b/rt.csv") +let chn = load[ int}, name: @vec {int -> string}, imdb_index: @vec {int -> string}, imdb_id: @vec {int -> int}, name_pcode_cf: @vec {int -> string}, surname_pcode: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/char_name.csv") + +let mc_trie0 = sum( <- range(mc.size)) { mc.movie_id(i) -> { mc.company_type_id(i) -> { mc.company_id(i) -> @smallvecdict(0) { i -> 1 } } } } in +let t_trie0 = sum( <- range(t.size)) @phmap(t.size) { t.id(i) -> @smallvecdict(4) { i -> 1 } } in +let ct_trie0 = sum( <- range(ct.size)) { ct.id(i) -> 1 } in +let cn_trie0 = sum( <- range(cn.size)) { cn.id(i) -> 1 } in +let interm0_trie0 = sum( <- mc_trie0) + if (x0 ∈ t_trie0) then + let t_trie1 = t_trie0(x0) in + sum( <- mc_trie1) + if (x1 ∈ ct_trie0) then + let ct_trie1 = ct_trie0(x1) in + sum( <- mc_trie2) + if (x2 ∈ cn_trie0) then + let cn_trie1 = cn_trie0(x2) in + sum( <- mc_trie3) + sum( <- t_trie1) + { mc.movie_id(mc_off) -> @smallvecdict(0) { -> 1 } } +in + +let ci_trie0 = sum( <- range(ci.size)) { ci.role_id(i) -> { ci.movie_id(i) -> { ci.person_role_id(i) -> 1 } } } in +let rt_trie0 = sum( <- range(rt.size)) { rt.id(i) -> 1 } in +let chn_trie0 = sum( <- range(chn.size)) @phmap(chn.size) { chn.id(i) -> @smallvecdict(4) { i -> 1 } } in +sum( <- ci_trie0) + if (x0 ∈ rt_trie0) then + let rt_trie1 = rt_trie0(x0) in + sum( <- ci_trie1) + if (x1 ∈ interm0_trie0) then + let interm0_trie1 = interm0_trie0(x1) in + sum( <- ci_trie2) + if (x2 ∈ chn_trie0) then + let chn_trie1 = chn_trie0(x2) in + let mn_interm0 = sum( <- interm0_trie1) promote[min_sum]() in + let mn_chn = sum( <- chn_trie1) promote[min_sum]() in + promote[min_sum]() + diff --git a/progs/job/gj/13a.sdql b/progs/job/gj/13a.sdql new file mode 100644 index 00000000..83b88492 --- /dev/null +++ b/progs/job/gj/13a.sdql @@ -0,0 +1,51 @@ +let t = load[ int}, title: @vec {int -> string}, imdb_index: @vec {int -> string}, kind_id: @vec {int -> int}, production_year: @vec {int -> int}, imdb_id: @vec {int -> string}, phonetic_code: @vec {int -> string}, episode_of_id: @vec {int -> int}, season_nr: @vec {int -> int}, episode_nr: @vec {int -> int}, series_years: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/title.csv") +let miidx = load[ int}, movie_id: @vec {int -> int}, info_type_id: @vec {int -> int}, info: @vec {int -> string}, note: @vec {int -> string}, size: int>]("datasets/job/movie_info_idx.csv") +let mi = load[ int}, movie_id: @vec {int -> int}, info_type_id: @vec {int -> int}, info: @vec {int -> string}, note: @vec {int -> string}, size: int>]("datasets/job/movie_info.csv") +let mc = load[ int}, movie_id: @vec {int -> int}, company_id: @vec {int -> int}, company_type_id: @vec {int -> int}, note: @vec {int -> string}, size: int>]("datasets/job/movie_companies.csv") +let kt = load[ int}, kind: @vec {int -> string}, size: int>]("datasets/job/13a/kt.csv") +let it2 = load[ int}, info: @vec {int -> string}, size: int>]("datasets/job/13a/it2.csv") +let it = load[ int}, info: @vec {int -> string}, size: int>]("datasets/job/13a/it.csv") +let ct = load[ int}, kind: @vec {int -> string}, size: int>]("datasets/job/13a/ct.csv") +let cn = load[ int}, name: @vec {int -> string}, country_code: @vec {int -> string}, imdb_id: @vec {int -> string}, name_pcode_nf: @vec {int -> string}, name_pcode_sf: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/13a/cn.csv") + +let t_trie0 = sum( <- range(t.size)) @phmap(t.size) { t.id(i) -> @smallvecdict(4) { i -> 1 } } in +let miidx_trie0 = sum( <- range(miidx.size)) @phmap(miidx.size) { miidx.movie_id(i) -> @smallvecdict(4) { i -> 1 } } in +let interm0_trie0 = sum( <- t_trie0) + if (x0 ∈ miidx_trie0) then + let miidx_trie1 = miidx_trie0(x0) in + sum( <- t_trie1) + sum( <- miidx_trie1) + { t.id(t_off) -> { t.kind_id(t_off) -> { miidx.info_type_id(miidx_off) -> @smallvecdict(0) { -> 1 } } } } +in + +let mi_trie0 = sum( <- range(mi.size)) { mi.movie_id(i) -> { mi.info_type_id(i) -> @smallvecdict(0) { i -> 1 } } } in +let mc_trie0 = sum( <- range(mc.size)) { mc.movie_id(i) -> { mc.company_type_id(i) -> { mc.company_id(i) -> 1 } } } in +let kt_trie0 = sum( <- range(kt.size)) { kt.id(i) -> 1 } in +let it2_trie0 = sum( <- range(it2.size)) { it2.id(i) -> 1 } in +let it_trie0 = sum( <- range(it.size)) { it.id(i) -> 1 } in +let ct_trie0 = sum( <- range(ct.size)) { ct.id(i) -> 1 } in +let cn_trie0 = sum( <- range(cn.size)) { cn.id(i) -> 1 } in +sum( <- mi_trie0) + if (x0 ∈ interm0_trie0) then + if (x0 ∈ mc_trie0) then + let interm0_trie1 = interm0_trie0(x0) in + let mc_trie1 = mc_trie0(x0) in + sum( <- interm0_trie1) + if (x1 ∈ kt_trie0) then + let kt_trie1 = kt_trie0(x1) in + sum( <- mi_trie1) + if (x2 ∈ it2_trie0) then + let it2_trie1 = it2_trie0(x2) in + sum( <- interm0_trie2) + if (x3 ∈ it_trie0) then + let it_trie1 = it_trie0(x3) in + sum( <- mc_trie1) + if (x4 ∈ ct_trie0) then + let ct_trie1 = ct_trie0(x4) in + sum( <- mc_trie2) + if (x5 ∈ cn_trie0) then + let cn_trie1 = cn_trie0(x5) in + let mn_mi = sum( <- mi_trie2) promote[min_sum]() in + let mn_interm0 = sum( <- interm0_trie3) promote[min_sum]() in + promote[min_sum]() + diff --git a/progs/job/gj/13d.sdql b/progs/job/gj/13d.sdql new file mode 100644 index 00000000..8ef0b6d9 --- /dev/null +++ b/progs/job/gj/13d.sdql @@ -0,0 +1,51 @@ +let t = load[ int}, title: @vec {int -> string}, imdb_index: @vec {int -> string}, kind_id: @vec {int -> int}, production_year: @vec {int -> int}, imdb_id: @vec {int -> string}, phonetic_code: @vec {int -> string}, episode_of_id: @vec {int -> int}, season_nr: @vec {int -> int}, episode_nr: @vec {int -> int}, series_years: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/title.csv") +let miidx = load[ int}, movie_id: @vec {int -> int}, info_type_id: @vec {int -> int}, info: @vec {int -> string}, note: @vec {int -> string}, size: int>]("datasets/job/movie_info_idx.csv") +let mi = load[ int}, movie_id: @vec {int -> int}, info_type_id: @vec {int -> int}, info: @vec {int -> string}, note: @vec {int -> string}, size: int>]("datasets/job/movie_info.csv") +let mc = load[ int}, movie_id: @vec {int -> int}, company_id: @vec {int -> int}, company_type_id: @vec {int -> int}, note: @vec {int -> string}, size: int>]("datasets/job/movie_companies.csv") +let kt = load[ int}, kind: @vec {int -> string}, size: int>]("datasets/job/13d/kt.csv") +let it2 = load[ int}, info: @vec {int -> string}, size: int>]("datasets/job/13d/it2.csv") +let it = load[ int}, info: @vec {int -> string}, size: int>]("datasets/job/13d/it.csv") +let ct = load[ int}, kind: @vec {int -> string}, size: int>]("datasets/job/13d/ct.csv") +let cn = load[ int}, name: @vec {int -> string}, country_code: @vec {int -> string}, imdb_id: @vec {int -> string}, name_pcode_nf: @vec {int -> string}, name_pcode_sf: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/13d/cn.csv") + +let t_trie0 = sum( <- range(t.size)) @phmap(t.size) { t.id(i) -> @smallvecdict(4) { i -> 1 } } in +let miidx_trie0 = sum( <- range(miidx.size)) @phmap(miidx.size) { miidx.movie_id(i) -> @smallvecdict(4) { i -> 1 } } in +let interm0_trie0 = sum( <- t_trie0) + if (x0 ∈ miidx_trie0) then + let miidx_trie1 = miidx_trie0(x0) in + sum( <- t_trie1) + sum( <- miidx_trie1) + { t.id(t_off) -> { t.kind_id(t_off) -> { miidx.info_type_id(miidx_off) -> @smallvecdict(0) { -> 1 } } } } +in + +let mi_trie0 = sum( <- range(mi.size)) { mi.movie_id(i) -> { mi.info_type_id(i) -> 1 } } in +let mc_trie0 = sum( <- range(mc.size)) { mc.movie_id(i) -> { mc.company_type_id(i) -> { mc.company_id(i) -> 1 } } } in +let kt_trie0 = sum( <- range(kt.size)) { kt.id(i) -> 1 } in +let it2_trie0 = sum( <- range(it2.size)) { it2.id(i) -> 1 } in +let it_trie0 = sum( <- range(it.size)) { it.id(i) -> 1 } in +let ct_trie0 = sum( <- range(ct.size)) { ct.id(i) -> 1 } in +let cn_trie0 = sum( <- range(cn.size)) @phmap(cn.size) { cn.id(i) -> @smallvecdict(4) { i -> 1 } } in +sum( <- mi_trie0) + if (x0 ∈ interm0_trie0) then + if (x0 ∈ mc_trie0) then + let interm0_trie1 = interm0_trie0(x0) in + let mc_trie1 = mc_trie0(x0) in + sum( <- interm0_trie1) + if (x1 ∈ kt_trie0) then + let kt_trie1 = kt_trie0(x1) in + sum( <- mi_trie1) + if (x2 ∈ it2_trie0) then + let it2_trie1 = it2_trie0(x2) in + sum( <- interm0_trie2) + if (x3 ∈ it_trie0) then + let it_trie1 = it_trie0(x3) in + sum( <- mc_trie1) + if (x4 ∈ ct_trie0) then + let ct_trie1 = ct_trie0(x4) in + sum( <- mc_trie2) + if (x5 ∈ cn_trie0) then + let cn_trie1 = cn_trie0(x5) in + let mn_interm0 = sum( <- interm0_trie3) promote[min_sum]() in + let mn_cn = sum( <- cn_trie1) promote[min_sum]() in + promote[min_sum]() + diff --git a/progs/job/gj/2c.sdql b/progs/job/gj/2c.sdql new file mode 100644 index 00000000..76d096a4 --- /dev/null +++ b/progs/job/gj/2c.sdql @@ -0,0 +1,25 @@ +let mk = load[ int}, movie_id: @vec {int -> int}, keyword_id: @vec {int -> int}, size: int>]("datasets/job/movie_keyword.csv") +let t = load[ int}, title: @vec {int -> string}, imdb_index: @vec {int -> string}, kind_id: @vec {int -> int}, production_year: @vec {int -> int}, imdb_id: @vec {int -> string}, phonetic_code: @vec {int -> string}, episode_of_id: @vec {int -> int}, season_nr: @vec {int -> int}, episode_nr: @vec {int -> int}, series_years: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/title.csv") +let mc = load[ int}, movie_id: @vec {int -> int}, company_id: @vec {int -> int}, company_type_id: @vec {int -> int}, note: @vec {int -> string}, size: int>]("datasets/job/movie_companies.csv") +let k = load[ int}, keyword: @vec {int -> string}, phonetic_code: @vec {int -> string}, size: int>]("datasets/job/2c/k.csv") +let cn = load[ int}, name: @vec {int -> string}, country_code: @vec {int -> string}, imdb_id: @vec {int -> string}, name_pcode_nf: @vec {int -> string}, name_pcode_sf: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/2c/cn.csv") + +let mk_trie0 = sum( <- range(mk.size)) { mk.movie_id(i) -> { mk.keyword_id(i) -> 1 } } in +let t_trie0 = sum( <- range(t.size)) @phmap(t.size) { t.id(i) -> @smallvecdict(4) { i -> 1 } } in +let mc_trie0 = sum( <- range(mc.size)) { mc.movie_id(i) -> { mc.company_id(i) -> 1 } } in +let k_trie0 = sum( <- range(k.size)) { k.id(i) -> 1 } in +let cn_trie0 = sum( <- range(cn.size)) { cn.id(i) -> 1 } in +sum( <- mk_trie0) + if (x0 ∈ t_trie0) then + if (x0 ∈ mc_trie0) then + let t_trie1 = t_trie0(x0) in + let mc_trie1 = mc_trie0(x0) in + sum( <- mk_trie1) + if (x1 ∈ k_trie0) then + let k_trie1 = k_trie0(x1) in + sum( <- mc_trie1) + if (x2 ∈ cn_trie0) then + let cn_trie1 = cn_trie0(x2) in + let mn_t = sum( <- t_trie1) promote[min_sum]() in + promote[min_sum]() + diff --git a/progs/job/gj/32a.sdql b/progs/job/gj/32a.sdql new file mode 100644 index 00000000..e7842d1e --- /dev/null +++ b/progs/job/gj/32a.sdql @@ -0,0 +1,38 @@ +let t1 = load[ int}, title: @vec {int -> string}, imdb_index: @vec {int -> string}, kind_id: @vec {int -> int}, production_year: @vec {int -> int}, imdb_id: @vec {int -> string}, phonetic_code: @vec {int -> string}, episode_of_id: @vec {int -> int}, season_nr: @vec {int -> int}, episode_nr: @vec {int -> int}, series_years: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/title.csv") +let ml = load[ int}, movie_id: @vec {int -> int}, linked_movie_id: @vec {int -> int}, link_type_id: @vec {int -> int}, size: int>]("datasets/job/movie_link.csv") +let t2 = load[ int}, title: @vec {int -> string}, imdb_index: @vec {int -> string}, kind_id: @vec {int -> int}, production_year: @vec {int -> int}, imdb_id: @vec {int -> string}, phonetic_code: @vec {int -> string}, episode_of_id: @vec {int -> int}, season_nr: @vec {int -> int}, episode_nr: @vec {int -> int}, series_years: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/title.csv") +let mk = load[ int}, movie_id: @vec {int -> int}, keyword_id: @vec {int -> int}, size: int>]("datasets/job/movie_keyword.csv") +let lt = load[ int}, link: @vec {int -> string}, size: int>]("datasets/job/link_type.csv") +let k = load[ int}, keyword: @vec {int -> string}, phonetic_code: @vec {int -> string}, size: int>]("datasets/job/32a/k.csv") + +let t1_trie0 = sum( <- range(t1.size)) @phmap(t1.size) { t1.id(i) -> @smallvecdict(4) { i -> 1 } } in +let ml_trie0 = sum( <- range(ml.size)) { ml.movie_id(i) -> { ml.linked_movie_id(i) -> @smallvecdict(0) { i -> 1 } } } in +let t2_trie0 = sum( <- range(t2.size)) @phmap(t2.size) { t2.id(i) -> @smallvecdict(4) { i -> 1 } } in +let interm0_trie0 = sum( <- t1_trie0) + if (x0 ∈ ml_trie0) then + let ml_trie1 = ml_trie0(x0) in + sum( <- ml_trie1) + if (x1 ∈ t2_trie0) then + let t2_trie1 = t2_trie0(x1) in + sum( <- t1_trie1) + sum( <- ml_trie2) + sum( <- t2_trie1) + { t1.id(t1_off) -> { ml.link_type_id(ml_off) -> @smallvecdict(0) { -> 1 } } } +in + +let mk_trie0 = sum( <- range(mk.size)) { mk.movie_id(i) -> { mk.keyword_id(i) -> 1 } } in +let lt_trie0 = sum( <- range(lt.size)) @phmap(lt.size) { lt.id(i) -> @smallvecdict(4) { i -> 1 } } in +let k_trie0 = sum( <- range(k.size)) { k.id(i) -> 1 } in +sum( <- mk_trie0) + if (x0 ∈ interm0_trie0) then + let interm0_trie1 = interm0_trie0(x0) in + sum( <- interm0_trie1) + if (x1 ∈ lt_trie0) then + let lt_trie1 = lt_trie0(x1) in + sum( <- mk_trie1) + if (x2 ∈ k_trie0) then + let k_trie1 = k_trie0(x2) in + let mn_interm0 = sum( <- interm0_trie2) promote[min_sum]() in + let mn_lt = sum( <- lt_trie1) promote[min_sum]() in + promote[min_sum]() + diff --git a/src/test/scala/sdql/backend/CppCodegenTest.scala b/src/test/scala/sdql/backend/CppCodegenTest.scala index 47fdd4bb..0ba46d5a 100644 --- a/src/test/scala/sdql/backend/CppCodegenTest.scala +++ b/src/test/scala/sdql/backend/CppCodegenTest.scala @@ -179,6 +179,7 @@ class CppCodegenTestGJ extends AnyFlatSpec with ParallelTestExecution { it should "codegen GJ 2" in { CodegenHelpers.compilesFile("progs/job/gj/2a.sdql") CodegenHelpers.compilesFile("progs/job/gj/2b.sdql") + CodegenHelpers.compilesFile("progs/job/gj/2c.sdql") CodegenHelpers.compilesFile("progs/job/gj/2d.sdql") } it should "codegen GJ 3" in { @@ -221,6 +222,7 @@ class CppCodegenTestGJ extends AnyFlatSpec with ParallelTestExecution { } it should "codegen GJ 10" in { CodegenHelpers.compilesFile("progs/job/gj/10a.sdql") + CodegenHelpers.compilesFile("progs/job/gj/10b.sdql") CodegenHelpers.compilesFile("progs/job/gj/10c.sdql") } it should "codegen GJ 11" in { @@ -235,8 +237,10 @@ class CppCodegenTestGJ extends AnyFlatSpec with ParallelTestExecution { CodegenHelpers.compilesFile("progs/job/gj/12c.sdql") } it should "codegen GJ 13" in { + CodegenHelpers.compilesFile("progs/job/gj/13a.sdql") CodegenHelpers.compilesFile("progs/job/gj/13b.sdql") CodegenHelpers.compilesFile("progs/job/gj/13c.sdql") + CodegenHelpers.compilesFile("progs/job/gj/13d.sdql") } it should "codegen GJ 14" in { CodegenHelpers.compilesFile("progs/job/gj/14a.sdql") @@ -335,6 +339,7 @@ class CppCodegenTestGJ extends AnyFlatSpec with ParallelTestExecution { CodegenHelpers.compilesFile("progs/job/gj/31c.sdql") } it should "codegen GJ 32" in { + CodegenHelpers.compilesFile("progs/job/gj/32a.sdql") CodegenHelpers.compilesFile("progs/job/gj/32b.sdql") } it should "codegen GJ 33" in { @@ -354,6 +359,7 @@ class CppCodegenTestFJ extends AnyFlatSpec with ParallelTestExecution { it should "codegen FJ 2" in { CodegenHelpers.compilesFile("progs/job/fj/2a.sdql") CodegenHelpers.compilesFile("progs/job/fj/2b.sdql") + CodegenHelpers.compilesFile("progs/job/fj/2c.sdql") CodegenHelpers.compilesFile("progs/job/fj/2d.sdql") } it should "codegen FJ 3" in { @@ -396,6 +402,7 @@ class CppCodegenTestFJ extends AnyFlatSpec with ParallelTestExecution { } it should "codegen FJ 10" in { CodegenHelpers.compilesFile("progs/job/fj/10a.sdql") + CodegenHelpers.compilesFile("progs/job/fj/10b.sdql") CodegenHelpers.compilesFile("progs/job/fj/10c.sdql") } it should "codegen FJ 11" in { @@ -410,8 +417,10 @@ class CppCodegenTestFJ extends AnyFlatSpec with ParallelTestExecution { CodegenHelpers.compilesFile("progs/job/fj/12c.sdql") } it should "codegen FJ 13" in { + CodegenHelpers.compilesFile("progs/job/fj/13a.sdql") CodegenHelpers.compilesFile("progs/job/fj/13b.sdql") CodegenHelpers.compilesFile("progs/job/fj/13c.sdql") + CodegenHelpers.compilesFile("progs/job/fj/13d.sdql") } it should "codegen FJ 14" in { CodegenHelpers.compilesFile("progs/job/fj/14a.sdql") @@ -510,6 +519,7 @@ class CppCodegenTestFJ extends AnyFlatSpec with ParallelTestExecution { CodegenHelpers.compilesFile("progs/job/fj/31c.sdql") } it should "codegen FJ 32" in { + CodegenHelpers.compilesFile("progs/job/fj/32a.sdql") CodegenHelpers.compilesFile("progs/job/fj/32b.sdql") } it should "codegen FJ 33" in { diff --git a/src/test/scala/sdql/backend/CppCompileTest.scala b/src/test/scala/sdql/backend/CppCompileTest.scala index 1fbac2da..f0a7acce 100644 --- a/src/test/scala/sdql/backend/CppCompileTest.scala +++ b/src/test/scala/sdql/backend/CppCompileTest.scala @@ -180,6 +180,7 @@ class CppCompileTestGJ extends AnyFlatSpec with ParallelTestExecution { CompileHelpers.assertOutputs("progs/job/gj/2a.sdql", "results/job/2a.result") CompileHelpers.assertOutputs("progs/job/gj/2b.sdql", "results/job/2b.result") + CompileHelpers.assertOutputs("progs/job/gj/2c.sdql", "results/job/2c.result") CompileHelpers.assertOutputs("progs/job/gj/2d.sdql", "results/job/2d.result") CompileHelpers.assertOutputs("progs/job/gj/3a.sdql", "results/job/3a.result") @@ -204,6 +205,7 @@ class CppCompileTestGJ extends AnyFlatSpec with ParallelTestExecution { CompileHelpers.assertOutputs("progs/job/gj/9d.sdql", "results/job/9d.result") CompileHelpers.assertOutputs("progs/job/gj/10a.sdql", "results/job/10a.result") + CompileHelpers.assertOutputs("progs/job/gj/10b.sdql", "results/job/10b.result") CompileHelpers.assertOutputs("progs/job/gj/10c.sdql", "results/job/10c.result") CompileHelpers.assertOutputs("progs/job/gj/11a.sdql", "results/job/11a.result") @@ -215,8 +217,10 @@ class CppCompileTestGJ extends AnyFlatSpec with ParallelTestExecution { CompileHelpers.assertOutputs("progs/job/gj/12b.sdql", "results/job/12b.result") CompileHelpers.assertOutputs("progs/job/gj/12c.sdql", "results/job/12c.result") + CompileHelpers.assertOutputs("progs/job/gj/13a.sdql", "results/job/13a.result") CompileHelpers.assertOutputs("progs/job/gj/13b.sdql", "results/job/13b.result") CompileHelpers.assertOutputs("progs/job/gj/13c.sdql", "results/job/13c.result") + CompileHelpers.assertOutputs("progs/job/gj/13d.sdql", "results/job/13d.result") CompileHelpers.assertOutputs("progs/job/gj/14a.sdql", "results/job/14a.result") CompileHelpers.assertOutputs("progs/job/gj/14b.sdql", "results/job/14b.result") @@ -319,6 +323,7 @@ class CppCompileTestGJ extends AnyFlatSpec with ParallelTestExecution { CompileHelpers.assertOutputs("progs/job/gj/31b.sdql", "results/job/31b.result") CompileHelpers.assertOutputs("progs/job/gj/31c.sdql", "results/job/31c.result") + CompileHelpers.assertOutputs("progs/job/gj/32a.sdql", "results/job/32a.result") CompileHelpers.assertOutputs("progs/job/gj/32b.sdql", "results/job/32b.result") CompileHelpers.assertOutputs("progs/job/gj/33a.sdql", "results/job/33a.result") @@ -343,6 +348,7 @@ class CppCompileTestFJ extends AnyFlatSpec with ParallelTestExecution { CompileHelpers.assertOutputs("progs/job/fj/2a.sdql", "results/job/2a.result") CompileHelpers.assertOutputs("progs/job/fj/2b.sdql", "results/job/2b.result") + CompileHelpers.assertOutputs("progs/job/fj/2c.sdql", "results/job/2c.result") CompileHelpers.assertOutputs("progs/job/fj/2d.sdql", "results/job/2d.result") CompileHelpers.assertOutputs("progs/job/fj/3a.sdql", "results/job/3a.result") @@ -367,6 +373,7 @@ class CppCompileTestFJ extends AnyFlatSpec with ParallelTestExecution { CompileHelpers.assertOutputs("progs/job/fj/9d.sdql", "results/job/9d.result") CompileHelpers.assertOutputs("progs/job/fj/10a.sdql", "results/job/10a.result") + CompileHelpers.assertOutputs("progs/job/fj/10b.sdql", "results/job/10b.result") CompileHelpers.assertOutputs("progs/job/fj/10c.sdql", "results/job/10c.result") CompileHelpers.assertOutputs("progs/job/fj/11a.sdql", "results/job/11a.result") @@ -378,8 +385,10 @@ class CppCompileTestFJ extends AnyFlatSpec with ParallelTestExecution { CompileHelpers.assertOutputs("progs/job/fj/12b.sdql", "results/job/12b.result") CompileHelpers.assertOutputs("progs/job/fj/12c.sdql", "results/job/12c.result") + CompileHelpers.assertOutputs("progs/job/fj/13a.sdql", "results/job/13a.result") CompileHelpers.assertOutputs("progs/job/fj/13b.sdql", "results/job/13b.result") CompileHelpers.assertOutputs("progs/job/fj/13c.sdql", "results/job/13c.result") + CompileHelpers.assertOutputs("progs/job/fj/13d.sdql", "results/job/13d.result") CompileHelpers.assertOutputs("progs/job/fj/14a.sdql", "results/job/14a.result") CompileHelpers.assertOutputs("progs/job/fj/14b.sdql", "results/job/14b.result") @@ -482,6 +491,7 @@ class CppCompileTestFJ extends AnyFlatSpec with ParallelTestExecution { CompileHelpers.assertOutputs("progs/job/fj/31b.sdql", "results/job/31b.result") CompileHelpers.assertOutputs("progs/job/fj/31c.sdql", "results/job/31c.result") + CompileHelpers.assertOutputs("progs/job/fj/32a.sdql", "results/job/32a.result") CompileHelpers.assertOutputs("progs/job/fj/32b.sdql", "results/job/32b.result") CompileHelpers.assertOutputs("progs/job/fj/33a.sdql", "results/job/33a.result") diff --git a/src/test/scala/sdql/frontend/ParserTest.scala b/src/test/scala/sdql/frontend/ParserTest.scala index ee2225cc..7e744d56 100644 --- a/src/test/scala/sdql/frontend/ParserTest.scala +++ b/src/test/scala/sdql/frontend/ParserTest.scala @@ -210,6 +210,7 @@ class ParserTest extends AnyFlatSpec with Matchers { SourceCode.fromFile("progs/job/gj/2a.sdql") SourceCode.fromFile("progs/job/gj/2b.sdql") + SourceCode.fromFile("progs/job/gj/2c.sdql") SourceCode.fromFile("progs/job/gj/2d.sdql") SourceCode.fromFile("progs/job/gj/3a.sdql") @@ -244,6 +245,7 @@ class ParserTest extends AnyFlatSpec with Matchers { SourceCode.fromFile("progs/job/gj/9d.sdql") SourceCode.fromFile("progs/job/gj/10a.sdql") + SourceCode.fromFile("progs/job/gj/10b.sdql") SourceCode.fromFile("progs/job/gj/10c.sdql") SourceCode.fromFile("progs/job/gj/11a.sdql") @@ -255,8 +257,10 @@ class ParserTest extends AnyFlatSpec with Matchers { SourceCode.fromFile("progs/job/gj/12b.sdql") SourceCode.fromFile("progs/job/gj/12c.sdql") + SourceCode.fromFile("progs/job/gj/13a.sdql") SourceCode.fromFile("progs/job/gj/13b.sdql") SourceCode.fromFile("progs/job/gj/13c.sdql") + SourceCode.fromFile("progs/job/gj/13d.sdql") SourceCode.fromFile("progs/job/gj/14a.sdql") SourceCode.fromFile("progs/job/gj/14b.sdql") @@ -336,10 +340,157 @@ class ParserTest extends AnyFlatSpec with Matchers { SourceCode.fromFile("progs/job/gj/31b.sdql") SourceCode.fromFile("progs/job/gj/31c.sdql") + SourceCode.fromFile("progs/job/gj/32a.sdql") SourceCode.fromFile("progs/job/gj/32b.sdql") SourceCode.fromFile("progs/job/gj/33a.sdql") SourceCode.fromFile("progs/job/gj/33b.sdql") SourceCode.fromFile("progs/job/gj/33c.sdql") } + + it should "parse FJ" in { + SourceCode.fromFile("progs/job/fj/1a.sdql") + SourceCode.fromFile("progs/job/fj/1b.sdql") + SourceCode.fromFile("progs/job/fj/1c.sdql") + SourceCode.fromFile("progs/job/fj/1d.sdql") + + SourceCode.fromFile("progs/job/fj/2a.sdql") + SourceCode.fromFile("progs/job/fj/2b.sdql") + SourceCode.fromFile("progs/job/fj/2c.sdql") + SourceCode.fromFile("progs/job/fj/2d.sdql") + + SourceCode.fromFile("progs/job/fj/3a.sdql") + SourceCode.fromFile("progs/job/fj/3b.sdql") + SourceCode.fromFile("progs/job/fj/3c.sdql") + + SourceCode.fromFile("progs/job/fj/4a.sdql") + SourceCode.fromFile("progs/job/fj/4b.sdql") + SourceCode.fromFile("progs/job/fj/4c.sdql") + + SourceCode.fromFile("progs/job/fj/5c.sdql") + + SourceCode.fromFile("progs/job/fj/6a.sdql") + SourceCode.fromFile("progs/job/fj/6b.sdql") + SourceCode.fromFile("progs/job/fj/6c.sdql") + SourceCode.fromFile("progs/job/fj/6d.sdql") + SourceCode.fromFile("progs/job/fj/6e.sdql") + SourceCode.fromFile("progs/job/fj/6f.sdql") + + SourceCode.fromFile("progs/job/fj/7a.sdql") + SourceCode.fromFile("progs/job/fj/7b.sdql") + SourceCode.fromFile("progs/job/fj/7c.sdql") + + SourceCode.fromFile("progs/job/fj/8a.sdql") + SourceCode.fromFile("progs/job/fj/8b.sdql") + SourceCode.fromFile("progs/job/fj/8c.sdql") + SourceCode.fromFile("progs/job/fj/8d.sdql") + + SourceCode.fromFile("progs/job/fj/9a.sdql") + SourceCode.fromFile("progs/job/fj/9b.sdql") + SourceCode.fromFile("progs/job/fj/9c.sdql") + SourceCode.fromFile("progs/job/fj/9d.sdql") + + SourceCode.fromFile("progs/job/fj/10a.sdql") + SourceCode.fromFile("progs/job/fj/10b.sdql") + SourceCode.fromFile("progs/job/fj/10c.sdql") + + SourceCode.fromFile("progs/job/fj/11a.sdql") + SourceCode.fromFile("progs/job/fj/11b.sdql") + SourceCode.fromFile("progs/job/fj/11c.sdql") + SourceCode.fromFile("progs/job/fj/11d.sdql") + + SourceCode.fromFile("progs/job/fj/12a.sdql") + SourceCode.fromFile("progs/job/fj/12b.sdql") + SourceCode.fromFile("progs/job/fj/12c.sdql") + + SourceCode.fromFile("progs/job/fj/13a.sdql") + SourceCode.fromFile("progs/job/fj/13b.sdql") + SourceCode.fromFile("progs/job/fj/13c.sdql") + SourceCode.fromFile("progs/job/fj/13d.sdql") + + SourceCode.fromFile("progs/job/fj/14a.sdql") + SourceCode.fromFile("progs/job/fj/14b.sdql") + SourceCode.fromFile("progs/job/fj/14c.sdql") + + SourceCode.fromFile("progs/job/fj/15a.sdql") + SourceCode.fromFile("progs/job/fj/15b.sdql") + SourceCode.fromFile("progs/job/fj/15c.sdql") + SourceCode.fromFile("progs/job/fj/15d.sdql") + + SourceCode.fromFile("progs/job/fj/16a.sdql") + SourceCode.fromFile("progs/job/fj/16b.sdql") + SourceCode.fromFile("progs/job/fj/16c.sdql") + SourceCode.fromFile("progs/job/fj/16d.sdql") + + SourceCode.fromFile("progs/job/fj/17a.sdql") + SourceCode.fromFile("progs/job/fj/17b.sdql") + SourceCode.fromFile("progs/job/fj/17c.sdql") + SourceCode.fromFile("progs/job/fj/17d.sdql") + SourceCode.fromFile("progs/job/fj/17e.sdql") + SourceCode.fromFile("progs/job/fj/17f.sdql") + + SourceCode.fromFile("progs/job/fj/18a.sdql") + SourceCode.fromFile("progs/job/fj/18b.sdql") + SourceCode.fromFile("progs/job/fj/18c.sdql") + + SourceCode.fromFile("progs/job/fj/19a.sdql") + SourceCode.fromFile("progs/job/fj/19b.sdql") + SourceCode.fromFile("progs/job/fj/19c.sdql") + SourceCode.fromFile("progs/job/fj/19d.sdql") + + SourceCode.fromFile("progs/job/fj/20a.sdql") + SourceCode.fromFile("progs/job/fj/20b.sdql") + SourceCode.fromFile("progs/job/fj/20c.sdql") + + SourceCode.fromFile("progs/job/fj/21a.sdql") + SourceCode.fromFile("progs/job/fj/21b.sdql") + SourceCode.fromFile("progs/job/fj/21c.sdql") + + SourceCode.fromFile("progs/job/fj/22a.sdql") + SourceCode.fromFile("progs/job/fj/22b.sdql") + SourceCode.fromFile("progs/job/fj/22c.sdql") + SourceCode.fromFile("progs/job/fj/22d.sdql") + + SourceCode.fromFile("progs/job/fj/23a.sdql") + SourceCode.fromFile("progs/job/fj/23b.sdql") + SourceCode.fromFile("progs/job/fj/23c.sdql") + + SourceCode.fromFile("progs/job/fj/24a.sdql") + SourceCode.fromFile("progs/job/fj/24b.sdql") + + SourceCode.fromFile("progs/job/fj/25a.sdql") + SourceCode.fromFile("progs/job/fj/25b.sdql") + SourceCode.fromFile("progs/job/fj/25c.sdql") + + SourceCode.fromFile("progs/job/fj/26a.sdql") + SourceCode.fromFile("progs/job/fj/26b.sdql") + SourceCode.fromFile("progs/job/fj/26c.sdql") + + SourceCode.fromFile("progs/job/fj/27a.sdql") + SourceCode.fromFile("progs/job/fj/27b.sdql") + SourceCode.fromFile("progs/job/fj/27c.sdql") + + SourceCode.fromFile("progs/job/fj/28a.sdql") + SourceCode.fromFile("progs/job/fj/28b.sdql") + SourceCode.fromFile("progs/job/fj/28c.sdql") + + SourceCode.fromFile("progs/job/fj/29a.sdql") + SourceCode.fromFile("progs/job/fj/29b.sdql") + SourceCode.fromFile("progs/job/fj/29c.sdql") + + SourceCode.fromFile("progs/job/fj/30a.sdql") + SourceCode.fromFile("progs/job/fj/30b.sdql") + SourceCode.fromFile("progs/job/fj/30c.sdql") + + SourceCode.fromFile("progs/job/fj/31a.sdql") + SourceCode.fromFile("progs/job/fj/31b.sdql") + SourceCode.fromFile("progs/job/fj/31c.sdql") + + SourceCode.fromFile("progs/job/fj/32a.sdql") + SourceCode.fromFile("progs/job/fj/32b.sdql") + + SourceCode.fromFile("progs/job/fj/33a.sdql") + SourceCode.fromFile("progs/job/fj/33b.sdql") + SourceCode.fromFile("progs/job/fj/33c.sdql") + } }