886です。889さんこんな感じでしょうか?
BEGIN {
addnode(a, "1-1", "start");
addnode(a, "1-2", "done");
addnode(a, "1-3", "result");
addnode(a, "1-4", "print");
addnode(a, "2", "count");
addnode(a, "3-1-1", "return");
for (i in a[1]) print "a[1][" i "] = " a[1][i];
print "a[2] = " a[2];
print "a[3][1][1] = " a[3][1][1];
print "\n_ele_sum = " _ele_sum;
}
function addnode(arr, i, val, p) {
ct = split(i, list, "-");
switch (ct) {
case 1: arr[list[1]] = val; break;
case 2: arr[list[1]][list[2]] = val; break;
case 3: arr[list[1]][list[2]][list[3]] = val; break;
default:
}
_ele_sum++;
}
a[1][1] = start
a[1][2] = done
a[1][3] = result
a[1][4] = print
a[2] = count
a[3][1][1] = return
_ele_sum = 6