@@ -411,19 +411,47 @@ void structural_content_scenario() {
411411 auto database = std::make_shared<gsm_inmemory_db>();
412412 gsm_inmemory_db_view view{0 , database};
413413 database->O [0 ].ell = " label \" Product\" " ;
414- database->O [0 ].xi .emplace_back (" <\" root\" >> label \" Product\" ; \" quantity\" >> ((varphi (OBJ 0)) + 0 )>" );
415- createFast (view, 1 , " label \" House Cleaner \" " , {" < \" type\" >> label \" House Cleaner\" ; \" quantity\" >> ((varphi (OBJ 0)) + 0 )>" }, {1.0 });
416- createFast (view, 2 , " label \" Foood \" " , {" < \" type\" >> label \" Food\" ; \" quantity\" >> ((varphi (OBJ 0)) +0 )>" }, {1.0 });
414+ database->O [0 ].xi .emplace_back (" <\" root\" >> label \" Product\" ; \" quantity\" >> lfold( fun x -> { (x[0]) + (eval( (((eval((xi ((x[1]))) [0])))) [ \" quantity \" ] )) } , 0 : (phi 0 \" type \" ) )>" );
415+ createFast (view, 1 , " label \" Type \" " , {" < \" type\" >> label \" House Cleaner\" ; \" quantity\" >> lfold( fun x -> { (x[0]) + (eval( (((eval((xi ((x[1]))) [0])))) [ \" quantity \" ] )) } , 0 : (phi 1 \" type \" ) )>" }, {1.0 });
416+ createFast (view, 2 , " label \" Type \" " , {" < \" type\" >> label \" Food\" ; \" quantity\" >> lfold( fun x -> { (x[0]) + (eval( (((eval((xi ((x[1]))) [0])))) [ \" quantity \" ] )) } , 0 : (phi 2 \" type \" ) )>" }, {1.0 });
417417 database->O [0 ].phi [" type" ].emplace_back (1 );
418418 database->O [0 ].phi [" type" ].emplace_back (2 );
419- createFast (view, 3 , " label \" Cleaner \" " , {" < \" type\" >> label \" Cleaner\" ; \" quantity\" >> ((varphi (OBJ 0)) +0 ) >" }, {1.0 });
420- createFast (view, 4 , " label \" Soap \" " , {" < \" type\" >> label \" Soap\" ; \" quantity\" >> ((varphi (OBJ 0)) +0 )>" }, {1.0 });
421- createFast (view, 5 , " label \" Diary Product \" " , {" < \" type\" >> label \" Diary Product\" ; \" quantity\" >> ((varphi (OBJ 0))+0 )>" }, {1.0 });
422- createFast (view, 6 , " label \" Drink \" " , {" < \" type\" >> label \" Food \" ; \" Drink \" >> ((varphi (OBJ 0)) +0 )>" }, {1.0 });
419+ createFast (view, 3 , " label \" Category \" " , {" < \" type\" >> label \" Cleaner\" ; \" quantity\" >> lfold( fun x -> { (x[0]) + (eval( (((eval((xi ((x[1]))) [0])))) [ \" quantity \" ] )) } , 0 : (phi 3 \" type \" ) ) >" }, {1.0 });
420+ createFast (view, 4 , " label \" Category \" " , {" < \" type\" >> label \" Soap\" ; \" quantity\" >> lfold( fun x -> { (x[0]) + (eval( (((eval((xi ((x[1]))) [0])))) [ \" quantity \" ] )) } , 0 : (phi 4 \" type \" ) )>" }, {1.0 });
421+ createFast (view, 5 , " label \" Category \" " , {" < \" type\" >> label \" Diary Product\" ; \" quantity\" >> lfold( fun x -> { (x[0]) + (eval( (((eval((xi ((x[1]))) [0])))) [ \" quantity \" ] )) } , 0 : (phi 5 \" type \" ) )>" }, {1.0 });
422+ createFast (view, 6 , " label \" Category \" " , {" < \" type\" >> label \" Drink \" ; \" quantity \" >> lfold( fun x -> { (x[0]) + (eval( (((eval((xi ((x[1]))) [0])))) [ \" quantity \" ] )) } , 0 : (phi 6 \" type \" ) )>" }, {1.0 });
423423 database->O [1 ].phi [" type" ].emplace_back (3 );
424424 database->O [1 ].phi [" type" ].emplace_back (4 );
425425 database->O [2 ].phi [" type" ].emplace_back (5 );
426426 database->O [2 ].phi [" type" ].emplace_back (6 );
427+ createFast (view, 7 , " label \" Product\" " , {" < \" type\" >> label \" Shiny\" ; \" quantity\" >> ((varphi (OBJ 7)) + 0) >" }, {1.0 });
428+ createFast (view, 8 , " label \" Product\" " , {" < \" type\" >> label \" Brighty\" ; \" quantity\" >> ((varphi (OBJ 8)) + 0)>" }, {1.0 });
429+ createFast (view, 9 , " label \" Product\" " , {" < \" type\" >> label \" CleanHand\" ; \" quantity\" >> ((varphi (OBJ 9)) + 0)>" }, {1.0 });
430+ createFast (view, 10 , " label \" Product\" " , {" < \" type\" >> label \" Food\" ; \" quantity\" >> ((varphi (OBJ 10)) + 0)>" }, {1.0 });
431+ createFast (view, 11 , " label \" Product\" " , {" < \" type\" >> label \" Milk\" ; \" quantity\" >> ((varphi (OBJ 11)) + 0) >" }, {1.0 });
432+ createFast (view, 12 , " label \" Product\" " , {" < \" type\" >> label \" Yogurt\" ; \" quantity\" >> ((varphi (OBJ 12)) + 0)>" }, {1.0 });
433+ createFast (view, 13 , " label \" Product\" " , {" < \" type\" >> label \" Water\" ; \" quantity\" >> ((varphi (OBJ 13)) + 0)>" }, {1.0 });
434+ createFast (view, 14 , " label \" Product\" " , {" < \" type\" >> label \" Coffee\" ; \" quantity\" >> ((varphi (OBJ 14)) + 0)>" }, {1.0 });
435+ database->O [3 ].phi [" type" ].emplace_back (7 );
436+ database->O [3 ].phi [" type" ].emplace_back (8 );
437+ database->O [4 ].phi [" type" ].emplace_back (9 );
438+ database->O [4 ].phi [" type" ].emplace_back (10 );
439+ database->O [5 ].phi [" type" ].emplace_back (11 );
440+ database->O [5 ].phi [" type" ].emplace_back (12 );
441+ database->O [6 ].phi [" type" ].emplace_back (13 );
442+ database->O [6 ].phi [" type" ].emplace_back (14 );
443+ createFast (view, 15 , " label \" CleanHand\" " );
444+ createFast (view, 16 , " label \" CleanHand\" " );
445+ createFast (view, 17 , " label \" CleanHand\" " );
446+ database->O [9 ].phi [" type" ].emplace_back (15 );
447+ database->O [9 ].phi [" type" ].emplace_back (16 );
448+ database->O [9 ].phi [" type" ].emplace_back (17 );
449+ createFast (view, 18 , " label \" Milk\" " );
450+ createFast (view, 19 , " label \" Milk\" " );
451+ createFast (view, 20 , " label \" Coffee\" " );
452+ database->O [11 ].phi [" type" ].emplace_back (18 );
453+ database->O [11 ].phi [" type" ].emplace_back (19 );
454+ database->O [14 ].phi [" type" ].emplace_back (20 );
427455 script::compiler::ScriptVisitor::bindGSM (database.get ());
428456 std::ifstream file{scripts_folder / " script_11.txt" };
429457 std::cout << script::compiler::ScriptVisitor::eval (file)->toString () << std::endl;
0 commit comments