[BACK]Return to tostr.ccc CVS log [TXT][DIR] Up to [local] / OpenXM / src / k097 / lib

Annotation of OpenXM/src/k097/lib/tostr.ccc, Revision 1.1.1.1

1.1       maekawa     1: /* lib/tostr.ccc :  to generate sm1-package tostr.sm1 */
                      2: /* The contents of this file is moved to slib.ccc.
                      3:    The name of the function is changed to ToString. */
                      4: sm1(" 0 @@@.indexMode ");  /* C-like notation of matrix. a[0], ... */
                      5:
                      6: def tostr2(p) {
                      7:   local n,ans,i;
                      8:   ans = [ ];
                      9:   if (IsArray(p)) {
                     10:     n = Length(p);
                     11:     ans = Append(ans,"[ ");
                     12:     for (i=0; i<n; i++) {
                     13:       ans = Append(ans,tostr2(p[i]));
                     14:       if (i != n-1) {
                     15:         ans = Append(ans," , ");
                     16:       }
                     17:     }
                     18:     ans = Append(ans," ] ");
                     19:   } else {
                     20:     ans = [ sm1(p," (dollar) dc ") ];
                     21:     /* Println(ans);   */
                     22:   }
                     23:   return(AddString(ans));
                     24: }
                     25:
                     26: def IsArray(p) {
                     27:   sm1(p," isArray /FunctionValue set  ");
                     28: }
                     29:
                     30:
                     31: /* Println(tostr2([1,[2,3,4]])); */

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