Changeset 3329
- Timestamp:
- Sep 26, 2012 11:15:13 AM (8 months ago)
- Files:
-
- 3 edited
-
forth/lib/debug.fth (modified) (1 diff)
-
forth/lib/decomp.fth (modified) (3 diffs)
-
ofw/core/ofwcore.fth (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
forth/lib/debug.fth
r3129 r3329 61 61 forth definitions 62 62 : defer? ( acf -- flag ) word-type ['] key word-type = ; 63 64 defer resolve-defers 65 : (resolve-defers) ( xt -- xt' ) 66 begin dup defer? while behavior repeat 67 ; 68 ' (resolve-defers) to resolve-defers 69 63 70 : (debug ( acf -- ) 64 begin dup defer? while behavior repeat71 resolve-defers 65 72 66 73 dup colon-cf? 0= abort" Not a colon definition" -
forth/lib/decomp.fth
r2912 r3329 589 589 ' token, 590 590 ; 591 d# 11 tassociative: definition-class 591 d# 12 constant #definition-classes 592 #definition-classes tassociative: definition-class 592 593 ( 0 ) cf, : ( 1 ) cf, constant 593 594 ( 2 ) cf, variable ( 3 ) cf, user … … 595 596 ( 6 ) cf, vocabulary ( 7 ) cf, alias 596 597 ( 8 ) cf, value ( 9 ) cf, 2constant 597 ( 10) cf, code 598 599 d# 12case: .definition-class598 ( 10) cf, code ( 11 ) cf, dummy 599 600 #definition-classes 1+ case: .definition-class 600 601 ( 0 ) .: ( 1 ) .constant 601 602 ( 2 ) .variable ( 3 ) .user … … 603 604 ( 6 ) .vocabulary ( 7 ) .alias 604 605 ( 8 ) .value ( 9 ) .2constant 605 ( 10) .code ( 11) .other 606 ; 606 ( 10) .code ( 11) dummy 607 ( 12) .other 608 ; 609 610 headers 611 also forth definitions 612 : install-decomp-definer ( definer-acf display-acf -- ) 613 ['] dummy ['] .definition-class (patch 614 ['] dummy ['] definition-class >body na1+ 615 dup [ #definition-classes ] literal ta+ tsearch 616 drop token! 617 ; 618 previous definitions 619 headerless 620 607 621 608 622 : does/;code-xt? ( xt -- flag ) -
ofw/core/ofwcore.fth
r3050 r3329 905 905 906 906 headerless 907 : instance-defer ( -- ) 908 create-cf ['] crash /token ( value data-size ) 909 use-actions value#, 910 ; 907 911 : (defer) ( -- ) 908 912 instance? if 909 create-cf ['] crash /token ( value data-size ) 910 use-actions value#, 913 instance-defer 911 914 else 912 defer-cf ['] crash /token( value data-size )913 user#,915 defer-cf ['] crash /token ( value data-size ) 916 user#, 914 917 then ( value adr ) 915 918 token! 916 919 ; patch (defer) noop defer 920 921 \ Extend debugger to handle instance defers 922 : (resolve-instance-defers) ( xt -- xt' ) 923 begin 924 dup defer? if ( xt ) 925 behavior ( xt' ) 926 else ( xt ) 927 dup definer ['] instance-defer = if ( xt ) 928 2 perform-action ( xt' ) 929 else ( xt ) 930 exit 931 then 932 then 933 again 934 ; 935 ' (resolve-instance-defers) to resolve-defers 936 937 \ Extend decompiler to handle instance defers 938 : .instance-defer ( xt definer -- ) 939 .definer ." is " cr ( xt ) 940 2 perform-action ( xt' ) 941 (see) 942 ; 943 ' instance-defer ' .instance-defer install-decomp-definer 917 944 918 945 headers
Note: See TracChangeset
for help on using the changeset viewer.
