diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1996-03-08 09:02:37 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1996-03-08 09:02:37 -0300 |
| commit | 621322a305b75af390495c7c3c767ce24b5892b5 (patch) | |
| tree | 5ef920da8eed74ca113c1521a3b88f0a98444d8b | |
| parent | e33a3b8e0dced86ecae6d7d6e337984c38eb8a33 (diff) | |
| download | lua-621322a305b75af390495c7c3c767ce24b5892b5.tar.gz lua-621322a305b75af390495c7c3c767ce24b5892b5.tar.bz2 lua-621322a305b75af390495c7c3c767ce24b5892b5.zip | |
"PrintCode" now is defined in luac.
| -rw-r--r-- | lua.stx | 229 |
1 files changed, 1 insertions, 228 deletions
| @@ -1,6 +1,6 @@ | |||
| 1 | %{ | 1 | %{ |
| 2 | 2 | ||
| 3 | char *rcs_luastx = "$Id: lua.stx,v 3.33 1996/02/26 17:07:20 roberto Exp roberto $"; | 3 | char *rcs_luastx = "$Id: lua.stx,v 3.34 1996/02/26 21:00:27 roberto Exp roberto $"; |
| 4 | 4 | ||
| 5 | #include <stdio.h> | 5 | #include <stdio.h> |
| 6 | #include <stdlib.h> | 6 | #include <stdlib.h> |
| @@ -793,230 +793,3 @@ setdebug : DEBUG { lua_debug = $1; } | |||
| 793 | ; | 793 | ; |
| 794 | 794 | ||
| 795 | %% | 795 | %% |
| 796 | |||
| 797 | #if LISTING | ||
| 798 | |||
| 799 | static void PrintCode (Byte *code, Byte *end) | ||
| 800 | { | ||
| 801 | Byte *p = code; | ||
| 802 | printf ("\n\nCODE\n"); | ||
| 803 | while (p != end) | ||
| 804 | { | ||
| 805 | switch ((OpCode)*p) | ||
| 806 | { | ||
| 807 | case PUSHNIL: printf ("%d PUSHNIL\n", (p++)-code); break; | ||
| 808 | case PUSH0: case PUSH1: case PUSH2: | ||
| 809 | printf ("%d PUSH%c\n", p-code, *p-PUSH0+'0'); | ||
| 810 | p++; | ||
| 811 | break; | ||
| 812 | case PUSHBYTE: | ||
| 813 | printf ("%d PUSHBYTE %d\n", p-code, *(p+1)); | ||
| 814 | p+=2; | ||
| 815 | break; | ||
| 816 | case PUSHWORD: | ||
| 817 | { | ||
| 818 | CodeWord c; | ||
| 819 | int n = p-code; | ||
| 820 | p++; | ||
| 821 | get_word(c,p); | ||
| 822 | printf ("%d PUSHWORD %d\n", n, c.w); | ||
| 823 | } | ||
| 824 | break; | ||
| 825 | case PUSHFLOAT: | ||
| 826 | { | ||
| 827 | CodeFloat c; | ||
| 828 | int n = p-code; | ||
| 829 | p++; | ||
| 830 | get_float(c,p); | ||
| 831 | printf ("%d PUSHFLOAT %f\n", n, c.f); | ||
| 832 | } | ||
| 833 | break; | ||
| 834 | case PUSHSTRING: | ||
| 835 | { | ||
| 836 | CodeWord c; | ||
| 837 | int n = p-code; | ||
| 838 | p++; | ||
| 839 | get_word(c,p); | ||
| 840 | printf ("%d PUSHSTRING %d\n", n, c.w); | ||
| 841 | } | ||
| 842 | break; | ||
| 843 | case PUSHFUNCTION: | ||
| 844 | { | ||
| 845 | CodeCode c; | ||
| 846 | int n = p-code; | ||
| 847 | p++; | ||
| 848 | get_code(c,p); | ||
| 849 | printf ("%d PUSHFUNCTION %p\n", n, c.tf); | ||
| 850 | } | ||
| 851 | break; | ||
| 852 | |||
| 853 | case PUSHLOCAL0: case PUSHLOCAL1: case PUSHLOCAL2: case PUSHLOCAL3: | ||
| 854 | case PUSHLOCAL4: case PUSHLOCAL5: case PUSHLOCAL6: case PUSHLOCAL7: | ||
| 855 | case PUSHLOCAL8: case PUSHLOCAL9: | ||
| 856 | printf ("%d PUSHLOCAL%c\n", p-code, *p-PUSHLOCAL0+'0'); | ||
| 857 | p++; | ||
| 858 | break; | ||
| 859 | case PUSHLOCAL: printf ("%d PUSHLOCAL %d\n", p-code, *(p+1)); | ||
| 860 | p+=2; | ||
| 861 | break; | ||
| 862 | case PUSHGLOBAL: | ||
| 863 | { | ||
| 864 | CodeWord c; | ||
| 865 | int n = p-code; | ||
| 866 | p++; | ||
| 867 | get_word(c,p); | ||
| 868 | printf ("%d PUSHGLOBAL %d\n", n, c.w); | ||
| 869 | } | ||
| 870 | break; | ||
| 871 | case PUSHINDEXED: printf ("%d PUSHINDEXED\n", (p++)-code); break; | ||
| 872 | case STORELOCAL0: case STORELOCAL1: case STORELOCAL2: case STORELOCAL3: | ||
| 873 | case STORELOCAL4: case STORELOCAL5: case STORELOCAL6: case STORELOCAL7: | ||
| 874 | case STORELOCAL8: case STORELOCAL9: | ||
| 875 | printf ("%d STORELOCAL%c\n", p-code, *p-STORELOCAL0+'0'); | ||
| 876 | p++; | ||
| 877 | break; | ||
| 878 | case STORELOCAL: | ||
| 879 | printf ("%d STORELOCAL %d\n", p-code, *(p+1)); | ||
| 880 | p+=2; | ||
| 881 | break; | ||
| 882 | case STOREGLOBAL: | ||
| 883 | { | ||
| 884 | CodeWord c; | ||
| 885 | int n = p-code; | ||
| 886 | p++; | ||
| 887 | get_word(c,p); | ||
| 888 | printf ("%d STOREGLOBAL %d\n", n, c.w); | ||
| 889 | } | ||
| 890 | break; | ||
| 891 | case PUSHSELF: | ||
| 892 | { | ||
| 893 | CodeWord c; | ||
| 894 | int n = p-code; | ||
| 895 | p++; | ||
| 896 | get_word(c,p); | ||
| 897 | printf ("%d PUSHSELF %d\n", n, c.w); | ||
| 898 | } | ||
| 899 | break; | ||
| 900 | case STOREINDEXED0: printf ("%d STOREINDEXED0\n", (p++)-code); break; | ||
| 901 | case STOREINDEXED: printf ("%d STOREINDEXED %d\n", p-code, *(p+1)); | ||
| 902 | p+=2; | ||
| 903 | break; | ||
| 904 | case STORELIST0: | ||
| 905 | printf("%d STORELIST0 %d\n", p-code, *(p+1)); | ||
| 906 | p+=2+; | ||
| 907 | break; | ||
| 908 | case STORELIST: | ||
| 909 | printf("%d STORELIST %d %d\n", p-code, *(p+1), *(p+2)); | ||
| 910 | p+=3; | ||
| 911 | break; | ||
| 912 | case STORERECORD: | ||
| 913 | printf("%d STORERECORD %d\n", p-code, *(p+1)); | ||
| 914 | p += *p*sizeof(Word) + 2; | ||
| 915 | break; | ||
| 916 | case ADJUST0: printf ("%d ADJUST0\n", (p++)-code); break; | ||
| 917 | case ADJUST: | ||
| 918 | printf ("%d ADJUST %d\n", p-code, *(p+1)); | ||
| 919 | p+=2; | ||
| 920 | break; | ||
| 921 | case CREATEARRAY: | ||
| 922 | { | ||
| 923 | CodeWord c; | ||
| 924 | int n = p-code; | ||
| 925 | p++; | ||
| 926 | get_word(c,p); | ||
| 927 | printf ("%d CREATEARRAY %d\n", n, c.w); | ||
| 928 | break; | ||
| 929 | } | ||
| 930 | case EQOP: printf ("%d EQOP\n", (p++)-code); break; | ||
| 931 | case LTOP: printf ("%d LTOP\n", (p++)-code); break; | ||
| 932 | case LEOP: printf ("%d LEOP\n", (p++)-code); break; | ||
| 933 | case ADDOP: printf ("%d ADDOP\n", (p++)-code); break; | ||
| 934 | case SUBOP: printf ("%d SUBOP\n", (p++)-code); break; | ||
| 935 | case MULTOP: printf ("%d MULTOP\n", (p++)-code); break; | ||
| 936 | case DIVOP: printf ("%d DIVOP\n", (p++)-code); break; | ||
| 937 | case POWOP: printf ("%d POWOP\n", (p++)-code); break; | ||
| 938 | case CONCOP: printf ("%d CONCOP\n", (p++)-code); break; | ||
| 939 | case MINUSOP: printf ("%d MINUSOP\n", (p++)-code); break; | ||
| 940 | case NOTOP: printf ("%d NOTOP\n", (p++)-code); break; | ||
| 941 | case ONTJMP: | ||
| 942 | { | ||
| 943 | CodeWord c; | ||
| 944 | int n = p-code; | ||
| 945 | p++; | ||
| 946 | get_word(c,p); | ||
| 947 | printf ("%d ONTJMP %d\n", n, c.w); | ||
| 948 | } | ||
| 949 | break; | ||
| 950 | case ONFJMP: | ||
| 951 | { | ||
| 952 | CodeWord c; | ||
| 953 | int n = p-code; | ||
| 954 | p++; | ||
| 955 | get_word(c,p); | ||
| 956 | printf ("%d ONFJMP %d\n", n, c.w); | ||
| 957 | } | ||
| 958 | break; | ||
| 959 | case JMP: | ||
| 960 | { | ||
| 961 | CodeWord c; | ||
| 962 | int n = p-code; | ||
| 963 | p++; | ||
| 964 | get_word(c,p); | ||
| 965 | printf ("%d JMP %d\n", n, c.w); | ||
| 966 | } | ||
| 967 | break; | ||
| 968 | case UPJMP: | ||
| 969 | { | ||
| 970 | CodeWord c; | ||
| 971 | int n = p-code; | ||
| 972 | p++; | ||
| 973 | get_word(c,p); | ||
| 974 | printf ("%d UPJMP %d\n", n, c.w); | ||
| 975 | } | ||
| 976 | break; | ||
| 977 | case IFFJMP: | ||
| 978 | { | ||
| 979 | CodeWord c; | ||
| 980 | int n = p-code; | ||
| 981 | p++; | ||
| 982 | get_word(c,p); | ||
| 983 | printf ("%d IFFJMP %d\n", n, c.w); | ||
| 984 | } | ||
| 985 | break; | ||
| 986 | case IFFUPJMP: | ||
| 987 | { | ||
| 988 | CodeWord c; | ||
| 989 | int n = p-code; | ||
| 990 | p++; | ||
| 991 | get_word(c,p); | ||
| 992 | printf ("%d IFFUPJMP %d\n", n, c.w); | ||
| 993 | } | ||
| 994 | break; | ||
| 995 | case POP: printf ("%d POP\n", (p++)-code); break; | ||
| 996 | case CALLFUNC: | ||
| 997 | printf ("%d CALLFUNC %d %d\n", p-code, *(p+1), *(p+2)); | ||
| 998 | p+=3; | ||
| 999 | break; | ||
| 1000 | case RETCODE0: printf ("%d RETCODE0\n", (p++)-code); break; | ||
| 1001 | case RETCODE: | ||
| 1002 | printf ("%d RETCODE %d\n", p-code, *(p+1)); | ||
| 1003 | p+=2; | ||
| 1004 | break; | ||
| 1005 | case SETLINE: | ||
| 1006 | { | ||
| 1007 | CodeWord c; | ||
| 1008 | int n = p-code; | ||
| 1009 | p++; | ||
| 1010 | get_word(c,p); | ||
| 1011 | printf ("%d SETLINE %d\n", n, c.w); | ||
| 1012 | } | ||
| 1013 | break; | ||
| 1014 | |||
| 1015 | default: printf ("%d Cannot happen: code %d\n", p-code, *p)); | ||
| 1016 | p+=1; | ||
| 1017 | break; | ||
| 1018 | } | ||
| 1019 | } | ||
| 1020 | } | ||
| 1021 | #endif | ||
| 1022 | |||
