[BACK]Return to tree.c CVS log [TXT][DIR] Up to [local] / OpenXM / src / kan96xx / Kan / Kclass

Diff for /OpenXM/src/kan96xx/Kan/Kclass/tree.c between version 1.3 and 1.5

version 1.3, 2003/11/24 06:50:16 version 1.5, 2003/12/05 13:51:32
Line 1 
Line 1 
 /* $OpenXM: OpenXM/src/kan96xx/Kan/Kclass/tree.c,v 1.2 2003/11/24 02:13:40 takayama Exp $ */  /* $OpenXM: OpenXM/src/kan96xx/Kan/Kclass/tree.c,v 1.4 2003/11/24 08:16:13 takayama Exp $ */
 #include <stdio.h>  #include <stdio.h>
 #include "../datatype.h"  #include "../datatype.h"
 #include "../stackm.h"  #include "../stackm.h"
Line 67  struct object addTree(struct object ob1, struct object
Line 67  struct object addTree(struct object ob1, struct object
 {  {
   struct object rob,aob;    struct object rob,aob;
   struct object ob3,ob4;    struct object ob3,ob4;
     struct object attr;
     struct object keyValue;
   int i;    int i;
   if (isTreeAdd(ob1) && !isTreeAdd(ob2)) {    if (isTreeAdd(ob1) && !isTreeAdd(ob2)) {
     ob1 = KopTree(ob1);      ob1 = KopTree(ob1);
Line 101  struct object addTree(struct object ob1, struct object
Line 103  struct object addTree(struct object ob1, struct object
     putoa(aob,0,ob1);      putoa(aob,0,ob1);
     putoa(aob,1,ob2);      putoa(aob,1,ob2);
   }    }
     attr = newObjectArray(1);
     keyValue = newObjectArray(2);
     putoa(keyValue,0,KpoString("arith1"));
     putoa(keyValue,1,KpoString("plus"));
     putoa(attr,0,keyValue);
   rob = newObjectArray(3);    rob = newObjectArray(3);
   putoa(rob,0,KpoString("add"));    putoa(rob,0,KpoString("add"));
   putoa(rob,1,KpoString("basic"));    putoa(rob,1,attr);
   putoa(rob,2,aob);    putoa(rob,2,aob);
   return(KpoTree(rob));    return(KpoTree(rob));
 }  }
Line 115  struct object KtreeGetDocumentElement(struct object to
Line 122  struct object KtreeGetDocumentElement(struct object to
   if (to.tag != Sclass) errorKan1("%s\n","KtreeGetDocumentElement");    if (to.tag != Sclass) errorKan1("%s\n","KtreeGetDocumentElement");
   if (ectag(to) != CLASSNAME_tree) errorKan1("%s\n","KtreeGetDocumentElement");    if (ectag(to) != CLASSNAME_tree) errorKan1("%s\n","KtreeGetDocumentElement");
   ob = KopTree(to);    ob = KopTree(to);
   if (ob.tag != Sdollar) errorKan1("%s\n","KtreeGetDocumentElement: element name is not a string.");    if (ob.tag != Sarray) errorKan1("%s\n","KtreeGetDocumentElement: not an array.");
   return getoa(ob,0);    if (getoaSize(ob) != 3) errorKan1("%s\n","KtreeGetDocumentElement: array is broken.");
     ob=getoa(ob,0);
     if (ob.tag != Sdollar) errorKan1("%s\n","KtreeGetDocumentElement: element must be a string");
     return ob;
 }  }
   
 struct object KtreeGetAttributes(struct object to) {  struct object KtreeGetAttributes(struct object to) {
Line 126  struct object KtreeGetAttributes(struct object to) {
Line 136  struct object KtreeGetAttributes(struct object to) {
   if (ectag(to) != CLASSNAME_tree) errorKan1("%s\n","KtreeGetAttributes:");    if (ectag(to) != CLASSNAME_tree) errorKan1("%s\n","KtreeGetAttributes:");
   ob = KopTree(to);    ob = KopTree(to);
   if (ob.tag != Sarray) errorKan1("%s\n","KtreeGetAttributes: not an array.");    if (ob.tag != Sarray) errorKan1("%s\n","KtreeGetAttributes: not an array.");
     if (getoaSize(ob) != 3) errorKan1("%s\n","KtreeGetAttributes: array is broken.");
   return getoa(ob,1);    return getoa(ob,1);
 }  }
   
Line 136  struct object KtreeGetChildNodes(struct object to) {
Line 147  struct object KtreeGetChildNodes(struct object to) {
   if (ectag(to) != CLASSNAME_tree) errorKan1("%s\n","KtreeGetChildNodes:");    if (ectag(to) != CLASSNAME_tree) errorKan1("%s\n","KtreeGetChildNodes:");
   ob = KopTree(to);    ob = KopTree(to);
   if (ob.tag != Sarray) errorKan1("%s\n","KtreeGetChildNodes: not an array.");    if (ob.tag != Sarray) errorKan1("%s\n","KtreeGetChildNodes: not an array.");
     if (getoaSize(ob) != 3) errorKan1("%s\n","KtreeGetChildNodes: array is broken.");
   return getoa(ob,2);    return getoa(ob,2);
 }  }
   

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.5

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>