Annotation of OpenXM/src/k097/debug/kobj2.sm1, Revision 1.1
1.1 ! maekawa 1: StandardContextp setcontext
! 2: [(parse) (/home/nobuki/SSWork/yacc/incmac.sm1) pushfile] extension
! 3:
! 4: %% These are defined in incmac.sm1
! 5: %%/PrimitiveContextp StandardContextp def
! 6: %%/Object [PrimitiveContextp] def
! 7:
! 8: /new {Object} def
! 9:
! 10: /Complex [(Complex) Object 0 get newcontext] def
! 11: Complex 0 get setcontext
! 12:
! 13: /new {
! 14: /Arglist set /FunctionValue [ ] def
! 15: [/a /b] /ArgNames set
! 16: [/a /b /this /super] pushVariables
! 17: [
! 18: Arglist ArgNames mapset
! 19: /super Object def
! 20: super [ ] {new} sendmsg2 /this set
! 21: Complex this {rest} primmsg {append} primmsg
! 22: [null null] {append} primmsg /this set
! 23: this 1 a {put} primmsg
! 24: this 2 b {put} primmsg
! 25: /FunctionValue this def
! 26: ] pop
! 27: popVariables
! 28: FunctionValue
! 29: } def
! 30:
! 31: /new0 {
! 32: /Arglist set /Argthis set /FunctionValue [ ] def
! 33: [/a /b] /ArgNames set
! 34: [/this /a /b /super] pushVariables
! 35: [
! 36: Arglist ArgNames mapset
! 37: /super Object def
! 38: super [ ] {new} sendmsg2 /this set
! 39: Complex this {rest} primmsg {append} primmsg
! 40: [null null] {append} primmsg /this set
! 41: this 1 a {put} primmsg
! 42: this 2 b {put} primmsg
! 43: /FunctionValue this def
! 44: ] pop
! 45: popVariables
! 46: FunctionValue
! 47: } def
! 48:
! 49: /add {
! 50: /Arglist set /Argthis set
! 51: [/this /ans /b] pushVariables
! 52: [
! 53: /this Argthis def /b Arglist def
! 54: /ans Complex [0 0] {new0} sendmsg2 def
! 55: [/ans 1 ] << this 1 get >> << b 1 get >> {add} sendmsg2 Put
! 56: [/ans 2 ] << this 2 get >> << b 2 get >> {add} sendmsg2 Put
! 57: /FunctionValue ans def
! 58: ] pop
! 59: popVariables
! 60: FunctionValue
! 61: } def
! 62:
! 63: /mul {
! 64: /Arglist set /Argthis set
! 65: [/this /ans /b /x1 /x2 /y1 /y2] pushVariables
! 66: [
! 67: /this Argthis def /b Arglist def
! 68: /ans Complex [0 0] {new0} sendmsg2 def
! 69: /x1 this 1 get def /x2 this 2 get def
! 70: /y1 b 1 get def /y2 b 2 get def
! 71: [/ans 1 ] x1 y1 {mul} sendmsg2 x2 y2 {mul} sendmsg2 {sub} sendmsg2 Put
! 72: [/ans 2 ] x1 y2 {mul} sendmsg2 x2 y1 {mul} sendmsg2 {add} sendmsg2 Put
! 73: /FunctionValue ans def
! 74: ] pop
! 75: popVariables
! 76: FunctionValue
! 77: } def
! 78:
! 79:
! 80: Object 0 get setcontext
! 81:
! 82:
! 83:
! 84:
! 85:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>