1. Куча / Говнокод #25556

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    Переменная loffset 0 loffset!
    Переменные местные жители здесь местные! Выбрано 100 (несколько) ячеек
    : локальный, (смещение -)
    отложить rp @ loffset @ swap -
    откладывать буквально откладывать +;
    : бизнес, (смещение -)
    местный, отложи рп! ;
    : (local DOES> @ local, отложить @;
    : f> r r> rp @ 1 float - dup rp! е! > г;
    : (flocal DOES> @ local, отложить f @;
    
    : нечего делать ;
    : ralign r>
    START rp @ [1 плавает 1-] Буквально и
    WHILE ['ничего не делать> тело] ALiteral> r
    REPEAT> r;
    
    : <local (- sys1)
    текущие @ @ loffset @ местные жители @
    больше 0 = ЕСЛИ отложено до ТО; мгновенный
    : местный: (-)
    откладывать> последние новости здесь местные жители @ дп!
    ячейка loffset +! Создать loffset @, немедленный (локальный
    вот местные жители! дп! lastcfa! прошлой! ; мгновенный
    : flocal: (-)
    Последние новости здесь местные жители @ дп!
    START loffset @ 0 1 плавает падение FM / мод, пока
    0 отложено Буквально откладывай> 1 ячейку + клетки! повторение
    отложить f> r Создать loffset @, немедленный (flocal
    вот местные жители! дп! lastcfa! прошлой! ; мгновенный
    : local> (sys1 - sys2); мгновенный
    : локальный (sys2 -)
    местные жители! dup delocal
    Loffset! ток @! ; мгновенный
    : TO> in @ 'dup @ [' (local> cell body +] ALiteral =
    IF> body @ local, отложить! падение
    ELSE dup @ ['(flocal> cell body +] ALiteral =
    IF> body @ local, отложить ф! падение
    В противном случае, смотрите> в! отложить на потом; мгновенный
    
    : DO 2 ячейки loffset +! отложить DO; немедленное ограничение
    :? DO 2 ячейки loffset +! отложить? ДЕЛАТЬ; немедленное ограничение
    : Для 2 ячеек loffset +! выделить для; немедленное ограничение
    : LOOP -2 ячейки loffset +! Задержка LOOP; немедленное ограничение
    : + LOOP -2 ячейки loffset +! отложить + LOOP; немедленное ограничение
    : СЛЕДУЮЩИЙ -2 loffset + клетки! отложите СЛЕДУЮЩУЮ; немедленное ограничение
    :> R 1 клетки loffset +! отложить в сторону> R; немедленное ограничение
    : R> -1 ячейки loffset +! отложить R>; немедленное ограничение
    
    Местные жители высокого уровня 19aug93py
    
    : {отложить <местное -1
    НАЧАЛО> в @ name dup c @ 1 = swap 1+ c @ '| = и к
    drop> in @> r
    НАЧНИТЕ dup 0 <0 = WHILE> в! отложить местное: REPEAT drop
    d> в! отложить местное>; немедленное ограничение
    
    : F {отложить <местный -1
    НАЧАЛО> в @ name dup c @ 1 = swap 1+ c @ '| = и к
    drop> in @> r
    НАЧНИТЕ dup 0 <0 = WHILE> в! Отложить Flocal: REPEAT DROP
    d> в! отложить местное>; немедленное ограничение
    
    'местный; псевдоним} немедленное ограничение
    
    \ ANS Locals 19aug93py
    
    Создайте 5 локальных ячеек, выберите их
    : (местный) (адрес)
    местный @ 0 =
    Если вы отложите в сторону <local local on
    3 локальных ячейки + 2! местная ячейка + 2! ЗАТЕМ
    dup IF linestart @> r исходная строка #> r загрузочный файл @> r
    blk @> r> tib @> r #tib @ dup> r> in @> r
    
    > Тиб +! dup #tib! > Tib @ Swap Move
    > выкл blk выкл loadfile выкл -1 linestart!
    
    отложить местное:
    
    d> в! r> #tib! > Тиб! r> blk!
    r> загрузочный файл! r> Loadline! r> linestart!
    ELSE 2-капельные локальные клетки + 2 @ локальные 3 клетки + 2 @
    отложить местный>
    2 локальных ячейки + 2! местная ячейка +! ЗАТЕМ;
    
    :? местный;
    местный @
    IF с местными ячейками + @ с местными 2 ячейками + 2 @
    отложить местное; местный от ТОГО;
    
    :; ?местный; отложить; ; немедленное ограничение
    :> Местный; откладывать делает>; мгновенный
    : EXIT inlocal @ IF 0 delocal, TO откладывает EXIT; мгновенный
    
    : местные жители |
    НАЧАТЬ имя dup c @ 1 = больше 1+ c @ '| = и 0 = WHILE
    читать (локально) REPEAT 0 (локально); немедленное ограничение

    Запостил: BOKCEJIbHblu_nemyx, 20 Апреля 2019

    Комментарии (4) RSS

    • см. требуется

      get-current и see-voc определения

      : simple-see-word {addr -}
      xpos off addr hex. адресная ячейка + адрес @ .word drop;

      : simple-see-range (addr1 addr2 -) \ gforth
      поменять местами +
      я просто вижу слово
      клетка + петля;

      : see-code-next-inline {addr1 addr2 - addr3}
      \ декомпилировать, начиная с addr1, пока не будет найден встроенный примитив,
      \ или addr2 достигнут; addr3 - это addr2 или следующий встроенный
      \ примитивный
      addr1 begin {addr}
      addr addr2 u <время
      addr @ dup decompile-prim = время
      addr cr simple-see-word
      сотовый адрес +
      повторите тогда
      адрес;

      : see-code-range {addr1 addr2 -} \ gforth
      cr addr1 begin {a}
      простое слово
      cell + addr2 see-code-next-inline {b}
      b addr2 u <while
      a @ b @ over - на диск
      б
      репетиция;

      текущий набор

      : simple-see ("имя" -) \ gforth
      \ G - простой декомпилятор, который ближе к @code {dump}, чем @code {see}.
      \ !! NEXT-HEAD сейчас слишком оптимистичен (см.
      \ комментарий в голову?)
      '> body dup next-head simple-see-range;

      : see-code ("имя" -) \ gforth
      \ G as @code {simple-see}, но также показывает динамический собственный код для
      \ G встроенные примитивы (кроме последних).
      '> body dup next-head see-code-range;

      предыдущий
      Ответить
    • Бля, ты хоть указывай что за язык.
      Ответить

    Добавить комментарий