Csound Csound-dev Csound-tekno Search About

[Cs-dev] typesystem: status update

Date2012-07-24 00:24
FromSteven Yi
Subject[Cs-dev] typesystem: status update
Hi All,

Just thought I'd send a status update.  I have most of the standard
types currently added and csoundCompileTree is using it to create
CS_VARIABLE's (instead of using variable counts).  After compiling
with Trapped, I can introspect the CSOUND* and INSTRTXT*'s to get the
output pasted at the end of this email.

I'll going to be travelling the next few days, but will be continuing
to work on this.  I currently have to update oload and instance, and
still need to implement a few things for types (labels, b and B types,
S-types).  This work is also currently not doing the same semantic
checking that was done in the previous csoundCompileTree (the code for
set_xincod and set_xoutcod that checked type matching), which I am
planning to do in csound_orc_semantics so that verification of the
tree is done before it gets to compiling.  I think this should
eventually allow easier unit testing with CTest if the contract is
that by the end of orc_semantics the TREE is guaranteed to be valid.

Things are moving along a lot more quickly now that things are back in
a compilable state and I can run/debug in XCode.  I am aiming for
another week or two to get a first working version that uses the new
typesystem.

Thanks!
steven


Compile State:
String Pool:
    0) ""
Constants Pool:
    0) 0.000000
    1) 44100.000000
    2) 4410.000000
    3) 10.000000
    4) 2.000000
    5) 1.000000
    6) 5.000000
    7) 0.700000
    8) 0.300000
    9) 0.600000
    10) 0.400000
    11) 6.000000
    12) 0.900000
    13) 1.400000
    14) 0.100000
    15) 0.009000
    16) 9.000000
    17) 0.200000
    18) 1.200000
    19) 0.500000
    20) 0.333000
    21) 0.007000
    22) 0.990000
    23) 0.010000
    24) 3.100000
    25) 0.970000
    26) 0.800000
    27) 0.001000
    28) 0.005000
    29) 11.000000
    30) 3.000000
    31) 0.020000
    32) 0.003000
    33) 12.000000
    34) 0.910000
    35) 0.090000
    36) 4.000000
    37) 0.980000
    38) 13.000000
    39) 1.300000
    40) 30.000000
    41) 0.710000
    42) 0.290000
    43) 0.015000
    44) 15.000000
    45) -1.000000
    46) 0.050000
    47) 0.960000
    48) 0.760000
    49) 8.000000
    50) 0.000100
    51) 0.250000
    52) 2.100000
    53) 16.000000
    54) 8000.000000
    55) 11.300000
    56) 0.999000
    57) 0.030000
    58) 1.001000
    59) 19.000000
    60) 512.000000
    61) 0.930000
    62) 20.000000
    63) 21.000000
    64) 1000.000000
    65) 0.150000
    66) 0.004000
    67) 0.850000
    68) 0.006000
    69) 0.950000
    70) 40.000000
    71) 0.720000
    72) 0.280000
    73) 35.000000
    74) 26.000000
    75) 0.240000
    76) 0.460000
    77) 14.000000
    78) 50.000000
    79) 45.000000
    80) 46.000000
    81) 18.000000
    82) 22.000000
    83) 0.995000
    84) 0.985000
    85) 0.002000
    86) 7.000000
    87) 0.810000
    88) 0.190000
    89) 0.080000
Global Variables:
  0) sr:r
  1) kr:r
  2) ksmps:r
  3) nchnls:r
  4) nchnls_i:r
  5) 0dbfs:r
  6) $sr:r
  7) $kr:r
  8) $ksmps:r
  9) garvb:a
  10) gadel:a
Instrument 0
Variables
Instrument 1
Variables
Instrument 2
Variables
  0) ifreq:i
  1) #i1:i
  2) aglis:a
  3) k1:k
  4) k2:k
  5) #i2:i
  6) #i3:i
  7) k3:k
  8) #k0:k
  9) #a0:a
  10) a1:a
  11) #i4:i
  12) #i5:i
  13) k4:k
  14) #i6:i
  15) k5:k
  16) #i7:i
  17) #i8:i
  18) k6:k
  19) #i9:i
  20) #k1:k
  21) #a1:a
  22) a3:a
  23) #i10:i
  24) #i11:i
  25) k7:k
  26) #i12:i
  27) k8:k
  28) #i13:i
  29) #i14:i
  30) k9:k
  31) #i15:i
  32) #k2:k
  33) #a2:a
  34) a5:a
  35) #i16:i
  36) #i17:i
  37) k10:k
  38) #i18:i
  39) k11:k
  40) #i19:i
  41) #i20:i
  42) k12:k
  43) #i21:i
  44) #k3:k
  45) #a3:a
  46) a7:a
  47) #i22:i
  48) #i23:i
  49) k13:k
  50) #i24:i
  51) k14:k
  52) #i25:i
  53) #i26:i
  54) #i27:i
  55) #i28:i
  56) #i29:i
  57) #i30:i
  58) k15:k
  59) #i31:i
  60) #k4:k
  61) #a4:a
  62) a9:a
  63) #i32:i
  64) #i33:i
  65) k16:k
  66) #i34:i
  67) k17:k
  68) #i35:i
  69) #i36:i
  70) #i37:i
  71) #i38:i
  72) #i39:i
  73) #i40:i
  74) k18:k
  75) #i41:i
  76) #k5:k
  77) #a5:a
  78) a11:a
  79) #a6:a
  80) #a7:a
  81) #a8:a
  82) #a9:a
Instrument 3
Variables
  0) ifreq:i
  1) k1:k
  2) #i43:i
  3) #i44:i
  4) k2:k
  5) #i45:i
  6) #i46:i
  7) k3:k
  8) k4:k
  9) k5:k
  10) #i47:i
  11) #i48:i
  12) #i49:i
  13) #i50:i
  14) ksweep:k
  15) #i51:i
  16) #i52:i
  17) kenv:k
  18) #k7:k
  19) asig:a
  20) #a10:a
Instrument 4
Variables
  0) ifreq:i
  1) #i54:i
  2) #i55:i
  3) k3:k
  4) #i56:i
  5) #i57:i
  6) k4:k
  7) #i58:i
  8) #i59:i
  9) k8:k
  10) k13:k
  11) k14:k
  12) #i60:i
  13) #i61:i
  14) #k8:k
  15) #k9:k
  16) a1:a
  17) #i62:i
  18) #i63:i
  19) k1:k
  20) #i64:i
  21) #i65:i
  22) #i66:i
  23) k6:k
  24) #i67:i
  25) #i68:i
  26) k7:k
  27) #i69:i
  28) #i70:i
  29) #i71:i
  30) kenv2:k
  31) k15:k
  32) #i72:i
  33) #i73:i
  34) #k10:k
  35) #k11:k
  36) a2:a
  37) #i74:i
  38) #i75:i
  39) kenv1:k
  40) #k12:k
  41) #k13:k
  42) k16:k
  43) #i76:i
  44) #i77:i
  45) #k14:k
  46) #k15:k
  47) a3:a
  48) #a12:a
  49) amix:a
  50) #a14:a
  51) #a15:a
  52) #a16:a
Instrument 5
Variables
  0) ifreq:i
  1) k1:k
  2) anoise:a
  3) #k16:k
  4) a1:a
  5) k2:k
  6) #i79:i
  7) #i80:i
  8) k3:k
  9) #k17:k
  10) a2:a
  11) #a18:a
  12) #a19:a
  13) #a20:a
  14) #a21:a
  15) #a22:a
  16) #a23:a
Instrument 6
Variables
  0) ifreq:i
  1) k1:k
  2) k2:k
  3) k4:k
  4) #i82:i
  5) #i83:i
  6) k5:k
  7) k7:k
  8) k6:k
  9) kenv1:k
  10) #k18:k
  11) a1:a
  12) kenv2:k
  13) #i84:i
  14) a2:a
  15) amix:a
  16) #i85:i
  17) #i86:i
  18) #i87:i
  19) #i88:i
  20) #i89:i
  21) kpan:k
  22) #a26:a
  23) #k19:k
  24) #a27:a
  25) #a28:a
Instrument 7
Variables
  0) ifuncl:i
  1) k1:k
  2) #k20:k
  3) k2:k
  4) anoise:a
  5) k3:k
  6) #k21:k
  7) #k22:k
  8) a1:a
  9) kenv:k
  10) asig:a
  11) #a31:a
Instrument 8
Variables
  0) ifuncl:i
  1) ifreq:i
  2) a1:a
  3) #i91:i
  4) #i92:i
  5) k1:k
  6) #k23:k
  7) a3:a
  8) a4:a
  9) #a33:a
  10) #a34:a
  11) a5:a
  12) #i93:i
  13) #i94:i
  14) kenv:k
  15) #a35:a
  16) #a36:a
  17) asig:a
  18) #a38:a
Instrument 9
Variables
  0) ifuncl:i
  1) k1:k
  2) #i95:i
  3) k2:k
  4) k3:k
  5) #k24:k
  6) k4:k
  7) anoise:a
  8) #k25:k
  9) #k26:k
  10) #k27:k
  11) aflt1:a
  12) #i96:i
  13) #i97:i
  14) #i98:i
  15) #i99:i
  16) #i100:i
  17) k5:k
  18) #i101:i
  19) k6:k
  20) k7:k
  21) #k28:k
  22) k8:k
  23) #k29:k
  24) #k30:k
  25) #k31:k
  26) #k32:k
  27) aflt2:a
  28) abal:a
  29) a3:a
  30) a5:a
  31) k11:k
  32) k9:k
  33) #a42:a
  34) #a43:a
  35) #a44:a
  36) #a45:a
  37) aleft:a
  38) k10:k
  39) #a47:a
  40) #a48:a
  41) #a49:a
  42) #a50:a
  43) aright:a
  44) #a52:a
Instrument 10
Variables
  0) ifreq:i
  1) k2:k
  2) #i103:i
  3) #i104:i
  4) k3:k
  5) #i105:i
  6) #i106:i
  7) k4:k
  8) #i107:i
  9) #i108:i
  10) k5:k
  11) #i109:i
  12) #i110:i
  13) kenv:k
  14) #k33:k
  15) a1:a
  16) #k34:k
  17) #i111:i
  18) #k35:k
  19) a2:a
  20) #k36:k
  21) #i112:i
  22) #k37:k
  23) a3:a
  24) #k38:k
  25) #i113:i
  26) #k39:k
  27) a4:a
  28) #a54:a
  29) #a55:a
  30) amix:a
  31) #a57:a
  32) #a58:a
  33) #a59:a
  34) #a61:a
Instrument 11
Variables
  0) ifreq:i
  1) k2:k
  2) #i115:i
  3) #i116:i
  4) k3:k
  5) #i117:i
  6) #i118:i
  7) k4:k
  8) #i119:i
  9) #i120:i
  10) k5:k
  11) #i121:i
  12) #i122:i
  13) kenv:k
  14) #k40:k
  15) a1:a
  16) #k41:k
  17) #i123:i
  18) #k42:k
  19) a2:a
  20) #k43:k
  21) #i124:i
  22) #k44:k
  23) a3:a
  24) #k45:k
  25) #i125:i
  26) #k46:k
  27) a4:a
  28) #a63:a
  29) #a64:a
  30) amix:a
  31) #a66:a
  32) #a67:a
  33) #a68:a
Instrument 12
Variables
  0) ifreq:i
  1) #i127:i
  2) #i128:i
  3) k1:k
  4) #i129:i
  5) #i130:i
  6) k2:k
  7) #i131:i
  8) #i132:i
  9) k3:k
  10) k4:k
  11) #i133:i
  12) #i134:i
  13) #k47:k
  14) a4:a
  15) #i135:i
  16) #i136:i
  17) k5:k
  18) #i137:i
  19) #i138:i
  20) k6:k
  21) #i139:i
  22) #i140:i
  23) k7:k
  24) k8:k
  25) #i141:i
  26) #i142:i
  27) #k48:k
  28) a3:a
  29) #i143:i
  30) #i144:i
  31) k9:k
  32) #i145:i
  33) #i146:i
  34) k10:k
  35) #i147:i
  36) #i148:i
  37) k11:k
  38) k12:k
  39) #i149:i
  40) #i150:i
  41) #k49:k
  42) a2:a
  43) #i151:i
  44) #i152:i
  45) k13:k
  46) #i153:i
  47) #i154:i
  48) k14:k
  49) #i155:i
  50) #i156:i
  51) k15:k
  52) k16:k
  53) #i157:i
  54) #i158:i
  55) #k50:k
  56) a1:a
  57) #a70:a
  58) #a71:a
  59) amix:a
  60) #a73:a
  61) #a74:a
  62) #a75:a
  63) #a77:a
Instrument 13
Variables
  0) ifreq:i
  1) ifuncl:i
  2) #i160:i
  3) #i161:i
  4) k1:k
  5) k2:k
  6) #k51:k
  7) k3:k
  8) #i162:i
  9) #i163:i
  10) #i164:i
  11) k4:k
  12) anoise:a
  13) #k52:k
  14) aflt:a
  15) #i165:i
  16) #i166:i
  17) #i167:i
  18) #i168:i
  19) #i169:i
  20) #i170:i
  21) kenv1:k
  22) #k53:k
  23) #k54:k
  24) #a79:a
  25) #a80:a
  26) a3:a
  27) #a81:a
  28) #a82:a
  29) #a83:a
  30) #a84:a
Instrument 14
Variables
  0) ifreq:i
  1) k1:k
  2) k2:k
  3) #i172:i
  4) #i173:i
  5) k3:k
  6) #k55:k
  7) #k56:k
  8) a1:a
  9) #i174:i
  10) #i175:i
  11) #i176:i
  12) k4:k
  13) #i177:i
  14) k5:k
  15) #i178:i
  16) #i179:i
  17) k6:k
  18) #i180:i
  19) #k57:k
  20) #k58:k
  21) a2:a
  22) #i181:i
  23) #i182:i
  24) #i183:i
  25) k7:k
  26) #i184:i
  27) k8:k
  28) #i185:i
  29) #i186:i
  30) k9:k
  31) #i187:i
  32) #k59:k
  33) #k60:k
  34) a3:a
  35) #i188:i
  36) #i189:i
  37) k10:k
  38) #i190:i
  39) k11:k
  40) #i191:i
  41) #i192:i
  42) #i193:i
  43) #i194:i
  44) k12:k
  45) #i195:i
  46) #k61:k
  47) #k62:k
  48) a4:a
  49) #i196:i
  50) #i197:i
  51) #i198:i
  52) #i199:i
  53) k13:k
  54) #i200:i
  55) k14:k
  56) #i201:i
  57) #i202:i
  58) #i203:i
  59) #i204:i
  60) #i205:i
  61) #i206:i
  62) k15:k
  63) #i207:i
  64) #k63:k
  65) #k64:k
  66) a5:a
  67) #i208:i
  68) #i209:i
  69) #i210:i
  70) k16:k
  71) #i211:i
  72) k17:k
  73) #i212:i
  74) #i213:i
  75) #i214:i
  76) #i215:i
  77) #i216:i
  78) #i217:i
  79) k18:k
  80) #i218:i
  81) #k65:k
  82) #k66:k
  83) a6:a
  84) #a86:a
  85) #a87:a
  86) #a88:a
  87) #a89:a
Instrument 15
Variables
  0) asig:a
Instrument 16
Variables
  0) k1:k
  1) k2:k
  2) k3:k
  3) asig:a
  4) #a90:a
  5) #a91:a
  6) #a92:a

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net