Skip to content

Instantly share code, notes, and snippets.

@southly
Created August 31, 2010 16:41
Show Gist options
  • Save southly/559318 to your computer and use it in GitHub Desktop.
Save southly/559318 to your computer and use it in GitHub Desktop.
#xyzzy のバイトコード
1 constant 引数をひとつとって、該当する定数リストをスタックにプッシュ
2 global_set スタックのトップをグローバル変数に設定
3 global_ref グローバル変数を参照し、スタックにプッシュ
4 lexical_set スタックのトップをレキシカル変数に設定
5 lexical_ref レキシカル変数を参照し、スタックにプッシュ
8 local_set スタックのトップをローカル変数に設定
9 local_ref ローカル変数を参照し、スタックにプッシュ
10 make_closure 引数をひとつとってクロージャを作成し、スタックにプッシュ
11 discard スタックからポップし、値を破棄
12 goto 引数をひとつとって、goto
13 if_nil_goto スタックのトップがnilなら、引数をひとつとってgoto
14 if_non_nil_goto スタックのトップがnon-nilなら、引数をひとつとってgoto
15 if_nil_goto_and_pop スタックからポップした値がnilなら、引数をひとつとってgoto
16 if_non_nil_goto_and_pop スタックからポップした値がnon-nilなら、引数をひとつとってgoto
17 go goto
18 return return
19 adjust_stack スタックのサイズを変更
20 call_0 関数を呼び出し
21 call_1 関数を呼び出し
22 call_2 関数を呼び出し
23 call_3 関数を呼び出し
24 call_4 関数を呼び出し
25 call_n 関数を呼び出し
26 global_set_discard スタックからポップした値ををグローバル変数に設定
27 lexical_set_discard スタックからポップした値をレキシカル変数に設定
28 local_set_discard スタックからポップした値をローカル変数に設定
29 lexical_bind lexical_bind
30 block
31 special special
32 tagbody tagbody
33 unwind_protect unwind_protect
34 catch catch
35 throw throw
36 save_excursion save_excursion
37 save_restriction save_restriction
38 save_window_excursion save_window_excursion
39 function_symbol 引数をひとつとり、symbol-functionをスタックにプッシュ
42 multiple_value_set 多値を変数に設定
43 list_multiple_value 多値をリストにして、スタックにプッシュ
44 call_multiple_value ???
45 save_multiple_value 多値を退避して命令を実行
80 t tをスタックにプッシュ
81 nil nilをスタックにプッシュ
38976 数値-1024をスタックにプッシュ
40000 数値0をスタックにプッシュ
41024 数値1024をスタックにプッシュ
33255 funcall スタックに詰まれた引数でfuncallし、結果をスタックにプッシュ
33256 set setを呼び出し、結果をスタックにプッシュ
33257 symbol_value symbol-valueを呼び出し、結果をスタックにプッシュ
33258 boundp boundpを呼び出し、結果をスタックにプッシュ
33259 constantp constantpを呼び出し、結果をスタックにプッシュ
33260 specialp si:*specialpを呼び出し、結果をスタックにプッシュ
33261 make_constant si:*make-constantを呼び出し、結果をスタックにプッシュ
33262 make_special si:*make-specialを呼び出し、結果をスタックにプッシュ
33263 fset si:*fsetを呼び出し、結果をスタックにプッシュ
33264 values_list スタックからポップした値を多値バッファに設定
33265 values スタックからポップした値を多値バッファに設定
33266 null スタックからポップした値がnilかどうか判定し、その結果をスタックにプッシュ
33267 symbolp スタックからポップした値がシンボルかどうか判定し、その結果をスタックにプッシュ
33268 atom スタックからポップした値がアトムかどうか判定し、その結果をスタックにプッシュ
33269 consp スタックからポップした値がコンスかどうか判定し、その結果をスタックにプッシュ
33270 eq スタックから二値をポップし、それをeqで比較した結果をスタックにプッシュ
33271 eql スタックから二値をポップし、それをeqlで比較した結果をスタックにプッシュ
33272 equal スタックから二値をポップし、それをequalで比較した結果をスタックにプッシュ
33273 equalp スタックから二値をポップし、それをequalpで比較した結果をスタックにプッシュ
33274 car スタックからポップし、そのcarをスタックにプッシュ
33275 cdr スタックからポップし、そのcdrをスタックにプッシュ
33276 cons スタックから二値をポップし、それをconsした結果をスタックにプッシュ
33277 endp endpを呼び出し、結果をスタックにプッシュ
33278 nth スタックから二値をポップし、nthの結果をスタックにプッシュ
33279 nthcdr スタックから二値をポップし、nthcdrの結果をスタックにプッシュ
33280 list_1 スタックからポップし、一要素のリストを作ってスタックにプッシュ
33281 list_2 スタックから二値ポップし、二要素のリストを作ってスタックにプッシュ
33282 list_n スタックからポップし、リストを作ってスタックにプッシュ
33283 rplaca スタックから二値をポップし、rplacaの結果をスタックにプッシュ
33284 rplacd スタックから二値をポップし、rplacdの結果をスタックにプッシュ
33285 elt スタックから二値をポップし、eltの結果をスタックにプッシュ
33286 set_elt スタックから三値をポップし、si:*set-eltの結果をスタックにプッシュ
33287 length スタックからポップし、lengthの結果をスタックにプッシュ
33288 reverse スタックからポップし、reverseの結果をスタックにプッシュ
33289 nreverse スタックからポップし、nreverseの結果をスタックにプッシュ
33290 svref スタックから二値をポップし、svrefの結果をスタックにプッシュ
33291 svset スタックから三値をポップし、si:*svsetの結果をスタックにプッシュ
33294 char スタックから二値をポップし、charの結果をスタックにプッシュ
33295 set_char スタックから三値をポップし、si:*set-charの結果をスタックにプッシュ
33296 schar スタックから二値をポップし、scharの結果をスタックにプッシュ
33297 set_schar スタックから三値をポップし、si:*set-scharの結果をスタックにプッシュ
33298 string_eq スタックから二値をポップし、string-equalの結果をスタックにプッシュ
33299 string_equal スタックから二値をポップし、string-equalpの結果をスタックにプッシュ
33300 zerop スタックからポップし、zeropの結果をスタックにプッシュ
33301 plusp スタックからポップし、pluspの結果をスタックにプッシュ
33302 minusp スタックからポップし、minuspの結果をスタックにプッシュ
33303 oddp スタックからポップし、oddpの結果をスタックにプッシュ
33304 evenp スタックからポップし、evenpの結果をスタックにプッシュ
33305 number_eql スタックから二値をポップし、等しいかどうか(==)をスタックにプッシュ
33306 number_not_eql スタックから二値をポップし、異なるかどうか(!=)をスタックにプッシュ
33307 number_less スタックから二値をポップし、小さいか(<)をスタックにプッシュ
33308 number_greater スタックから二値をポップし、大きいか(>)をスタックにプッシュ
33309 number_not_greater スタックから二値をポップし、大きくないか(<=)をスタックにプッシュ
33310 number_not_less スタックから二値をポップし、小さくないか(>=)をスタックにプッシュ
33311 max スタックから二値をポップし、大きいほうをスタックにプッシュ
33312 min スタックから二値をポップし、小さいほうをスタックにプッシュ
33313 add スタックから二値をポップし、加算の結果をスタックにプッシュ
33314 sub スタックから二値をポップし、減算の結果をスタックにプッシュ
33315 nagate スタックからポップし、符号を反転したの結果をスタックにプッシュ
33316 mul スタックから二値をポップし、乗算の結果をスタックにプッシュ
33317 div スタックから二値をポップし、除算の結果をスタックにプッシュ
33318 abs スタックから二値をポップし、絶対値をスタックにプッシュ
33319 char_eql スタックから文字を二つポップし、等しいかどうか(==)をスタックにプッシュ
33320 char_not_eql スタックから文字を二つポップし、異なるかどうか(!=)をスタックにプッシュ
33321 char_less スタックから文字を二つポップし、小さいか(<)をスタックにプッシュ
33322 char_greater スタックから文字を二つポップし、大きいか(>)をスタックにプッシュ
33323 char_not_greater スタックから文字を二つポップし、大きくないか(<=)をスタックにプッシュ
33324 char_not_less スタックから文字を二つポップし、小さくないか(>=)をスタックにプッシュ
33325 char_equal スタックから文字を二つポップし、大文字小文字を無視して等しいかどうか(==)をスタックにプッシュ
33326 char_not_equal スタックから文字を二つポップし、大文字小文字を無視して異なるかどうか(!=)をスタックにプッシュ
33327 char_lessp スタックから文字を二つポップし、大文字小文字を無視して小さいか(<)をスタックにプッシュ
33328 char_greaterp スタックから文字を二つポップし、大文字小文字を無視して大きいか(>)をスタックにプッシュ
33329 char_not_greaterp スタックから文字を二つポップし、大文字小文字を無視して大きくないか(<=)をスタックにプッシュ
33330 char_not_lessp スタックから文字を二つポップし、大文字小文字を無視して小さくないか(>=)をスタックにプッシュ
33331 char_code スタックからポップし、文字コードをスタックにプッシュ
33332 code_char スタックからポップし、文字コードに対応する文字をプッシュ
33536 bobp bobpの結果をスタックにプッシュ
33537 eobp eobpの結果をスタックにプッシュ
33538 bolp bolpの結果をスタックにプッシュ
33539 eolp eolpの結果をスタックにプッシュ
33540 goto_bol goto-bolの結果をスタックにプッシュ
33541 goto_eol goto-eolの結果をスタックにプッシュ
33542 forward_char スタックからポップし、forward-charの結果をスタックにプッシュ
33543 forward_line スタックからポップし、forward-lineの結果をスタックにプッシュ
33544 goto_line スタックからポップし、goto-lineの結果をスタックにプッシュ
33545 goto_column スタックから二値をポップし、goto-columnの結果をスタックにプッシュ
33546 current_column current-columnの結果をスタックにプッシュ
33547 following_char following-charの結果をスタックにプッシュ
33548 preceding_char preceding-charの結果をスタックにプッシュ
33549 point pointの結果をスタックにプッシュ
33550 goto_char スタックからポップし、goto-charの結果をスタックにプッシュ
33551 looking_for スタックから二値をポップし、looking-forの結果をスタックにプッシュ
33552 looking_at スタックから二値をポップし、looking-atの結果をスタックにプッシュ
33553 skip_chars_forward スタックからポップし、skip-chars-forwardの結果をスタックにプッシュ
33554 skip_chars_backward スタックからポップし、skip-chars-backwardの結果をスタックにプッシュ
33555 point_min point-minの結果をスタックにプッシュ
33556 point_max point-maxの結果をスタックにプッシュ
33557 skip_syntax_spec_forward スタックからポップし、skip-syntax-spec-forwardの結果をスタックにプッシュ
33558 skip_syntax_spec_backward スタックからポップし、skip-syntax-spec-backwardの結果をスタックにプッシュ
33559 interactive_p interactive-pの結果をスタックにプッシュ
33560 get_selection_type get-selection-typeの結果をスタックにプッシュ
33561 selection_mark selection-markの結果をスタックにプッシュ
33562 stop_selection stop-selectionの結果をスタックにプッシュ
33563 pre_selection_p pre-selection-pの結果をスタックにプッシュ
33564 continue_pre_selection continue-pre-selectionの結果をスタックにプッシュ
33565 delete_region スタックから二値をポップし、delete-regionの結果をスタックにプッシュ
33566 buffer_substring スタックから二値をポップし、buffer-substringの結果をスタックにプッシュ
33567 selection_point selection-pointの結果をスタックにプッシュ
33568 virtual_bolp virtual-bolpの結果をスタックにプッシュ
33569 virtual_eolp virtual-eolpの結果をスタックにプッシュ
33570 goto_virtual_bol goto-virtual-bolの結果をスタックにプッシュ
33571 goto_virtual_eol goto-virtual-eolの結果をスタックにプッシュ
33572 forward_virtual_line スタックからポップし、forward-virtual-lineの結果をスタックにプッシュ
33573 goto_virtual_line スタックからポップし、goto-virtual-columnの結果をスタックにプッシュ
33574 goto_virtual_column スタックから二値をポップし、goto-virtual-columnの結果をスタックにプッシュ
33575 current_virtual_column current-virtual-columnの結果をスタックにプッシュ
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment