aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>1996-03-08 09:02:37 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>1996-03-08 09:02:37 -0300
commit621322a305b75af390495c7c3c767ce24b5892b5 (patch)
tree5ef920da8eed74ca113c1521a3b88f0a98444d8b
parente33a3b8e0dced86ecae6d7d6e337984c38eb8a33 (diff)
downloadlua-621322a305b75af390495c7c3c767ce24b5892b5.tar.gz
lua-621322a305b75af390495c7c3c767ce24b5892b5.tar.bz2
lua-621322a305b75af390495c7c3c767ce24b5892b5.zip
"PrintCode" now is defined in luac.
-rw-r--r--lua.stx229
1 files changed, 1 insertions, 228 deletions
diff --git a/lua.stx b/lua.stx
index b201d6e3..47925c33 100644
--- a/lua.stx
+++ b/lua.stx
@@ -1,6 +1,6 @@
1%{ 1%{
2 2
3char *rcs_luastx = "$Id: lua.stx,v 3.33 1996/02/26 17:07:20 roberto Exp roberto $"; 3char *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
799static 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