Jelajahi Sumber

fixed some syntax errors

tpinna 10 tahun lalu
induk
melakukan
8f817dc623
1 mengubah file dengan 14 tambahan dan 12 penghapusan
  1. 14 12
      integration/code/pn_interface.alc

+ 14 - 12
integration/code/pn_interface.alc

@@ -82,8 +82,6 @@ Boolean function node_match(transf_model : Element, transf_elem : Element, host_
 	//NOTE maybe get rid of LHS postfix? maybe not
 	if (getTypeName(transf_model, transf_elem) != string_join(getTypeName(host_model, host_elem), "_LHS")):
 		return False
-	//TODO check if still correct match!!
-	//TODO semantic check (eg, call function that compares attributes)
 	return True
 
 Integer function are_connected(model: Element, el1:Element, el2:Element):
@@ -115,7 +113,7 @@ Integer function are_connected(model: Element, el1:Element, el2:Element):
 		log("is_connected_to: unsupported type for first element")
 		log(string_join("type = ", el1_mmt))
 	return 0 // if the function doesn't support it, assume disconnected
-				
+
 
 Element function new_SearchState(OldSearchState : Element, TransfModel : Element, NewTransfElem: Element, HostModel : Element, NewHostElem : Element):
 
@@ -139,8 +137,8 @@ Element function new_SearchState(OldSearchState : Element, TransfModel : Element
 		dict_add(new_curmatch, oldkey, OldSearchState["curmatch"][oldkey]) //WARNING dict_read_node needed???
 	Element newPair // the new pair to be added
 	newPair = create_node()
-	dict_add(newPair, "pn", newTransfElem) //PatternNode
-	dict_add(newPair, "hn", newHostElem) // HostNode
+	dict_add(newPair, "pn", NewTransfElem) //PatternNode
+	dict_add(newPair, "hn", NewHostElem) // HostNode
 	Integer plabel
 	plabel = read_attribute(TransfModel, getName(TransfModel, NewTransfElem), "plabel")
 	dict_add(new_curmatch, plabel, newPair) //add pair to new curmatch
@@ -205,9 +203,9 @@ Element function new_SearchState(OldSearchState : Element, TransfModel : Element
 			if (connectedness == 0): // if not connected, keep in V
 				list_append(nl, elem) 
 			elif (connectedness == 1): //if connected in outwards manner, don't keep in v and add to outlist
-				list_add(nss["N_pattern_out"], elem)
+				list_append(nss["N_pattern_out"], elem)
 			elif (connectedness == 2): //if connected in inwards manner, don't keep in v and add to inlist
-				list_add(nss["N_pattern_in"], elem)
+				list_append(nss["N_pattern_in"], elem)
 			else:
 				log("new_SearchState: unsupported connectedness value")
 				log(cast_i2s(connectedness))
@@ -217,7 +215,6 @@ Element function new_SearchState(OldSearchState : Element, TransfModel : Element
 	ol = OldSearchState["V_host"]
 	nl = create_node()
 	index = 0
-	Integer connectedness
 	while (index < list_len(ol)): //loop trough old list
 		elem = list_read(ol, index)
 		index = index + 1
@@ -226,16 +223,16 @@ Element function new_SearchState(OldSearchState : Element, TransfModel : Element
 			if (connectedness == 0): // if not connected, keep in V
 				list_append(nl, elem) 
 			elif (connectedness == 1): //if connected in outwards manner, don't keep in v and add to outlist
-				list_add(nss["N_pattern_out"], elem)
+				list_append(nss["N_pattern_out"], elem)
 			elif (connectedness == 2): //if connected in inwards manner, don't keep in v and add to inlist
-				list_add(nss["N_pattern_in"], elem)
+				list_append(nss["N_pattern_in"], elem)
 			else:
 				log("new_SearchState: unsupported connectedness value")
 				log(cast_i2s(connectedness))
 	dict_add(nss, "V_host", nl)
 	
 	// copy pattern_size
-	dict_add(nss, "pattern_size", dict_read(OldSearchState["pattern_size"])
+	dict_add(nss, "pattern_size", OldSearchState["pattern_size"])
 	
 	return nss
 
@@ -244,8 +241,13 @@ Element function transf_vf2(SearchState: Element, transf_m : Element, host_m : E
 	Element current_match
 	current_match = SearchState["curmatch"]
 	
+	//TODO semantic check (eg, call function that compares attributes)
+	//	--> need to check with assistent
+	
 	//if match is complete: add to matches and return
-	if SearchState["pattern_size"] == list_len(current_match):
+	Integer pattern_size
+	pattern_size = SearchState["pattern_size"]
+	if pattern_size == list_len(current_match):
 		set_add(SearchState["matches"], SearchState["curmatch"])
 		return SearchState