Skip to content
Browse files

Add in new experimental rindex_i_s_s and rindex_i_s_s_i opcodes, on r…

…equest from moritz++. These are experimental. This, and my previous commit, resolve #767
  • Loading branch information...
1 parent 8e05e44 commit 9136b04b6ce62cf637934580686823d4b903b7ba @Whiteknight Whiteknight committed May 8, 2012
Showing with 1,310 additions and 1,021 deletions.
  1. +8 −0 api.yaml
  2. +12 −0 include/parrot/oplib/core_ops.h
  3. +255 −243 include/parrot/oplib/ops.h
  4. +255 −243 include/parrot/opsenum.h
  5. +35 −35 runtime/parrot/library/distutils.pir
  6. +729 −500 src/ops/core_ops.c
  7. +16 −0 src/ops/string.ops
View
8 api.yaml
@@ -626,3 +626,11 @@
tags:
- experimental
ticket: 'https://github.com/parrot/parrot/issues/717'
+
+ name : 'rindex opcode'
+ note :
+ The new rindex_i_s_s and rindex_i_s_s_i opcodes are experimental. They
+ duplicate functionality found in the String PMC reverse_index method.
+ tags :
+ - experimental
+ ticket : 'https://github.com/parrot/parrot/issues/767'
View
12 include/parrot/oplib/core_ops.h
@@ -891,6 +891,18 @@ op_lib_t *Parrot_DynOp_core_4_3_0(PARROT_INTERP, long init);
opcode_t * Parrot_index_i_sc_s_ic(opcode_t *, PARROT_INTERP);
opcode_t * Parrot_index_i_s_sc_ic(opcode_t *, PARROT_INTERP);
opcode_t * Parrot_index_i_sc_sc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_rindex_i_s_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_rindex_i_sc_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_rindex_i_s_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_rindex_i_sc_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_rindex_i_s_s_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_rindex_i_sc_s_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_rindex_i_s_sc_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_rindex_i_sc_sc_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_rindex_i_s_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_rindex_i_sc_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_rindex_i_s_sc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_rindex_i_sc_sc_ic(opcode_t *, PARROT_INTERP);
opcode_t * Parrot_sprintf_s_s_p(opcode_t *, PARROT_INTERP);
opcode_t * Parrot_sprintf_s_sc_p(opcode_t *, PARROT_INTERP);
opcode_t * Parrot_sprintf_p_p_p(opcode_t *, PARROT_INTERP);
View
498 include/parrot/oplib/ops.h
@@ -885,249 +885,261 @@ typedef enum {
PARROT_OP_index_i_sc_s_ic, /* 867 */
PARROT_OP_index_i_s_sc_ic, /* 868 */
PARROT_OP_index_i_sc_sc_ic, /* 869 */
- PARROT_OP_sprintf_s_s_p, /* 870 */
- PARROT_OP_sprintf_s_sc_p, /* 871 */
- PARROT_OP_sprintf_p_p_p, /* 872 */
- PARROT_OP_new_s, /* 873 */
- PARROT_OP_stringinfo_i_s_i, /* 874 */
- PARROT_OP_stringinfo_i_sc_i, /* 875 */
- PARROT_OP_stringinfo_i_s_ic, /* 876 */
- PARROT_OP_stringinfo_i_sc_ic, /* 877 */
- PARROT_OP_upcase_s_s, /* 878 */
- PARROT_OP_upcase_s_sc, /* 879 */
- PARROT_OP_downcase_s_s, /* 880 */
- PARROT_OP_downcase_s_sc, /* 881 */
- PARROT_OP_titlecase_s_s, /* 882 */
- PARROT_OP_titlecase_s_sc, /* 883 */
- PARROT_OP_join_s_s_p, /* 884 */
- PARROT_OP_join_s_sc_p, /* 885 */
- PARROT_OP_split_p_s_s, /* 886 */
- PARROT_OP_split_p_sc_s, /* 887 */
- PARROT_OP_split_p_s_sc, /* 888 */
- PARROT_OP_split_p_sc_sc, /* 889 */
- PARROT_OP_encoding_i_s, /* 890 */
- PARROT_OP_encoding_i_sc, /* 891 */
- PARROT_OP_encodingname_s_i, /* 892 */
- PARROT_OP_encodingname_s_ic, /* 893 */
- PARROT_OP_find_encoding_i_s, /* 894 */
- PARROT_OP_find_encoding_i_sc, /* 895 */
- PARROT_OP_trans_encoding_s_s_i, /* 896 */
- PARROT_OP_trans_encoding_s_sc_i, /* 897 */
- PARROT_OP_trans_encoding_s_s_ic, /* 898 */
- PARROT_OP_trans_encoding_s_sc_ic, /* 899 */
- PARROT_OP_is_cclass_i_i_s_i, /* 900 */
- PARROT_OP_is_cclass_i_ic_s_i, /* 901 */
- PARROT_OP_is_cclass_i_i_sc_i, /* 902 */
- PARROT_OP_is_cclass_i_ic_sc_i, /* 903 */
- PARROT_OP_is_cclass_i_i_s_ic, /* 904 */
- PARROT_OP_is_cclass_i_ic_s_ic, /* 905 */
- PARROT_OP_is_cclass_i_i_sc_ic, /* 906 */
- PARROT_OP_is_cclass_i_ic_sc_ic, /* 907 */
- PARROT_OP_find_cclass_i_i_s_i_i, /* 908 */
- PARROT_OP_find_cclass_i_ic_s_i_i, /* 909 */
- PARROT_OP_find_cclass_i_i_sc_i_i, /* 910 */
- PARROT_OP_find_cclass_i_ic_sc_i_i, /* 911 */
- PARROT_OP_find_cclass_i_i_s_ic_i, /* 912 */
- PARROT_OP_find_cclass_i_ic_s_ic_i, /* 913 */
- PARROT_OP_find_cclass_i_i_sc_ic_i, /* 914 */
- PARROT_OP_find_cclass_i_ic_sc_ic_i, /* 915 */
- PARROT_OP_find_cclass_i_i_s_i_ic, /* 916 */
- PARROT_OP_find_cclass_i_ic_s_i_ic, /* 917 */
- PARROT_OP_find_cclass_i_i_sc_i_ic, /* 918 */
- PARROT_OP_find_cclass_i_ic_sc_i_ic, /* 919 */
- PARROT_OP_find_cclass_i_i_s_ic_ic, /* 920 */
- PARROT_OP_find_cclass_i_ic_s_ic_ic, /* 921 */
- PARROT_OP_find_cclass_i_i_sc_ic_ic, /* 922 */
- PARROT_OP_find_cclass_i_ic_sc_ic_ic, /* 923 */
- PARROT_OP_find_not_cclass_i_i_s_i_i, /* 924 */
- PARROT_OP_find_not_cclass_i_ic_s_i_i, /* 925 */
- PARROT_OP_find_not_cclass_i_i_sc_i_i, /* 926 */
- PARROT_OP_find_not_cclass_i_ic_sc_i_i, /* 927 */
- PARROT_OP_find_not_cclass_i_i_s_ic_i, /* 928 */
- PARROT_OP_find_not_cclass_i_ic_s_ic_i, /* 929 */
- PARROT_OP_find_not_cclass_i_i_sc_ic_i, /* 930 */
- PARROT_OP_find_not_cclass_i_ic_sc_ic_i, /* 931 */
- PARROT_OP_find_not_cclass_i_i_s_i_ic, /* 932 */
- PARROT_OP_find_not_cclass_i_ic_s_i_ic, /* 933 */
- PARROT_OP_find_not_cclass_i_i_sc_i_ic, /* 934 */
- PARROT_OP_find_not_cclass_i_ic_sc_i_ic, /* 935 */
- PARROT_OP_find_not_cclass_i_i_s_ic_ic, /* 936 */
- PARROT_OP_find_not_cclass_i_ic_s_ic_ic, /* 937 */
- PARROT_OP_find_not_cclass_i_i_sc_ic_ic, /* 938 */
- PARROT_OP_find_not_cclass_i_ic_sc_ic_ic, /* 939 */
- PARROT_OP_escape_s_s, /* 940 */
- PARROT_OP_compose_s_s, /* 941 */
- PARROT_OP_compose_s_sc, /* 942 */
- PARROT_OP_find_codepoint_i_s, /* 943 */
- PARROT_OP_find_codepoint_i_sc, /* 944 */
- PARROT_OP_spawnw_i_s, /* 945 */
- PARROT_OP_spawnw_i_sc, /* 946 */
- PARROT_OP_spawnw_i_p, /* 947 */
- PARROT_OP_err_i, /* 948 */
- PARROT_OP_err_s, /* 949 */
- PARROT_OP_err_s_i, /* 950 */
- PARROT_OP_err_s_ic, /* 951 */
- PARROT_OP_time_i, /* 952 */
- PARROT_OP_time_n, /* 953 */
- PARROT_OP_sleep_i, /* 954 */
- PARROT_OP_sleep_ic, /* 955 */
- PARROT_OP_sleep_n, /* 956 */
- PARROT_OP_sleep_nc, /* 957 */
- PARROT_OP_store_lex_s_p, /* 958 */
- PARROT_OP_store_lex_sc_p, /* 959 */
- PARROT_OP_store_lex_s_s, /* 960 */
- PARROT_OP_store_lex_sc_s, /* 961 */
- PARROT_OP_store_lex_s_sc, /* 962 */
- PARROT_OP_store_lex_sc_sc, /* 963 */
- PARROT_OP_store_lex_s_i, /* 964 */
- PARROT_OP_store_lex_sc_i, /* 965 */
- PARROT_OP_store_lex_s_ic, /* 966 */
- PARROT_OP_store_lex_sc_ic, /* 967 */
- PARROT_OP_store_lex_s_n, /* 968 */
- PARROT_OP_store_lex_sc_n, /* 969 */
- PARROT_OP_store_lex_s_nc, /* 970 */
- PARROT_OP_store_lex_sc_nc, /* 971 */
- PARROT_OP_store_dynamic_lex_s_p, /* 972 */
- PARROT_OP_store_dynamic_lex_sc_p, /* 973 */
- PARROT_OP_find_lex_p_s, /* 974 */
- PARROT_OP_find_lex_p_sc, /* 975 */
- PARROT_OP_find_lex_s_s, /* 976 */
- PARROT_OP_find_lex_s_sc, /* 977 */
- PARROT_OP_find_lex_i_s, /* 978 */
- PARROT_OP_find_lex_i_sc, /* 979 */
- PARROT_OP_find_lex_n_s, /* 980 */
- PARROT_OP_find_lex_n_sc, /* 981 */
- PARROT_OP_find_dynamic_lex_p_s, /* 982 */
- PARROT_OP_find_dynamic_lex_p_sc, /* 983 */
- PARROT_OP_find_caller_lex_p_s, /* 984 */
- PARROT_OP_find_caller_lex_p_sc, /* 985 */
- PARROT_OP_get_namespace_p, /* 986 */
- PARROT_OP_get_namespace_p_p, /* 987 */
- PARROT_OP_get_namespace_p_pc, /* 988 */
- PARROT_OP_get_hll_namespace_p, /* 989 */
- PARROT_OP_get_hll_namespace_p_p, /* 990 */
- PARROT_OP_get_hll_namespace_p_pc, /* 991 */
- PARROT_OP_get_root_namespace_p, /* 992 */
- PARROT_OP_get_root_namespace_p_p, /* 993 */
- PARROT_OP_get_root_namespace_p_pc, /* 994 */
- PARROT_OP_get_global_p_s, /* 995 */
- PARROT_OP_get_global_p_sc, /* 996 */
- PARROT_OP_get_global_p_p_s, /* 997 */
- PARROT_OP_get_global_p_pc_s, /* 998 */
- PARROT_OP_get_global_p_p_sc, /* 999 */
- PARROT_OP_get_global_p_pc_sc, /* 1000 */
- PARROT_OP_get_hll_global_p_s, /* 1001 */
- PARROT_OP_get_hll_global_p_sc, /* 1002 */
- PARROT_OP_get_hll_global_p_p_s, /* 1003 */
- PARROT_OP_get_hll_global_p_pc_s, /* 1004 */
- PARROT_OP_get_hll_global_p_p_sc, /* 1005 */
- PARROT_OP_get_hll_global_p_pc_sc, /* 1006 */
- PARROT_OP_get_root_global_p_s, /* 1007 */
- PARROT_OP_get_root_global_p_sc, /* 1008 */
- PARROT_OP_get_root_global_p_p_s, /* 1009 */
- PARROT_OP_get_root_global_p_pc_s, /* 1010 */
- PARROT_OP_get_root_global_p_p_sc, /* 1011 */
- PARROT_OP_get_root_global_p_pc_sc, /* 1012 */
- PARROT_OP_set_global_s_p, /* 1013 */
- PARROT_OP_set_global_sc_p, /* 1014 */
- PARROT_OP_set_global_p_s_p, /* 1015 */
- PARROT_OP_set_global_pc_s_p, /* 1016 */
- PARROT_OP_set_global_p_sc_p, /* 1017 */
- PARROT_OP_set_global_pc_sc_p, /* 1018 */
- PARROT_OP_set_hll_global_s_p, /* 1019 */
- PARROT_OP_set_hll_global_sc_p, /* 1020 */
- PARROT_OP_set_hll_global_p_s_p, /* 1021 */
- PARROT_OP_set_hll_global_pc_s_p, /* 1022 */
- PARROT_OP_set_hll_global_p_sc_p, /* 1023 */
- PARROT_OP_set_hll_global_pc_sc_p, /* 1024 */
- PARROT_OP_set_root_global_s_p, /* 1025 */
- PARROT_OP_set_root_global_sc_p, /* 1026 */
- PARROT_OP_set_root_global_p_s_p, /* 1027 */
- PARROT_OP_set_root_global_pc_s_p, /* 1028 */
- PARROT_OP_set_root_global_p_sc_p, /* 1029 */
- PARROT_OP_set_root_global_pc_sc_p, /* 1030 */
- PARROT_OP_find_name_p_s, /* 1031 */
- PARROT_OP_find_name_p_sc, /* 1032 */
- PARROT_OP_find_sub_not_null_p_s, /* 1033 */
- PARROT_OP_find_sub_not_null_p_sc, /* 1034 */
- PARROT_OP_trap, /* 1035 */
- PARROT_OP_set_label_p_ic, /* 1036 */
- PARROT_OP_get_label_i_p, /* 1037 */
- PARROT_OP_get_id_i_p, /* 1038 */
- PARROT_OP_get_id_i_pc, /* 1039 */
- PARROT_OP_fetch_p_p_p_p, /* 1040 */
- PARROT_OP_fetch_p_pc_p_p, /* 1041 */
- PARROT_OP_fetch_p_p_pc_p, /* 1042 */
- PARROT_OP_fetch_p_pc_pc_p, /* 1043 */
- PARROT_OP_fetch_p_p_p_pc, /* 1044 */
- PARROT_OP_fetch_p_pc_p_pc, /* 1045 */
- PARROT_OP_fetch_p_p_pc_pc, /* 1046 */
- PARROT_OP_fetch_p_pc_pc_pc, /* 1047 */
- PARROT_OP_fetch_p_p_i_p, /* 1048 */
- PARROT_OP_fetch_p_pc_i_p, /* 1049 */
- PARROT_OP_fetch_p_p_ic_p, /* 1050 */
- PARROT_OP_fetch_p_pc_ic_p, /* 1051 */
- PARROT_OP_fetch_p_p_i_pc, /* 1052 */
- PARROT_OP_fetch_p_pc_i_pc, /* 1053 */
- PARROT_OP_fetch_p_p_ic_pc, /* 1054 */
- PARROT_OP_fetch_p_pc_ic_pc, /* 1055 */
- PARROT_OP_fetch_p_p_s_p, /* 1056 */
- PARROT_OP_fetch_p_pc_s_p, /* 1057 */
- PARROT_OP_fetch_p_p_sc_p, /* 1058 */
- PARROT_OP_fetch_p_pc_sc_p, /* 1059 */
- PARROT_OP_fetch_p_p_s_pc, /* 1060 */
- PARROT_OP_fetch_p_pc_s_pc, /* 1061 */
- PARROT_OP_fetch_p_p_sc_pc, /* 1062 */
- PARROT_OP_fetch_p_pc_sc_pc, /* 1063 */
- PARROT_OP_vivify_p_p_p_p, /* 1064 */
- PARROT_OP_vivify_p_pc_p_p, /* 1065 */
- PARROT_OP_vivify_p_p_pc_p, /* 1066 */
- PARROT_OP_vivify_p_pc_pc_p, /* 1067 */
- PARROT_OP_vivify_p_p_p_pc, /* 1068 */
- PARROT_OP_vivify_p_pc_p_pc, /* 1069 */
- PARROT_OP_vivify_p_p_pc_pc, /* 1070 */
- PARROT_OP_vivify_p_pc_pc_pc, /* 1071 */
- PARROT_OP_vivify_p_p_i_p, /* 1072 */
- PARROT_OP_vivify_p_pc_i_p, /* 1073 */
- PARROT_OP_vivify_p_p_ic_p, /* 1074 */
- PARROT_OP_vivify_p_pc_ic_p, /* 1075 */
- PARROT_OP_vivify_p_p_i_pc, /* 1076 */
- PARROT_OP_vivify_p_pc_i_pc, /* 1077 */
- PARROT_OP_vivify_p_p_ic_pc, /* 1078 */
- PARROT_OP_vivify_p_pc_ic_pc, /* 1079 */
- PARROT_OP_vivify_p_p_s_p, /* 1080 */
- PARROT_OP_vivify_p_pc_s_p, /* 1081 */
- PARROT_OP_vivify_p_p_sc_p, /* 1082 */
- PARROT_OP_vivify_p_pc_sc_p, /* 1083 */
- PARROT_OP_vivify_p_p_s_pc, /* 1084 */
- PARROT_OP_vivify_p_pc_s_pc, /* 1085 */
- PARROT_OP_vivify_p_p_sc_pc, /* 1086 */
- PARROT_OP_vivify_p_pc_sc_pc, /* 1087 */
- PARROT_OP_new_p_s_i, /* 1088 */
- PARROT_OP_new_p_sc_i, /* 1089 */
- PARROT_OP_new_p_s_ic, /* 1090 */
- PARROT_OP_new_p_sc_ic, /* 1091 */
- PARROT_OP_new_p_p_i, /* 1092 */
- PARROT_OP_new_p_pc_i, /* 1093 */
- PARROT_OP_new_p_p_ic, /* 1094 */
- PARROT_OP_new_p_pc_ic, /* 1095 */
- PARROT_OP_root_new_p_p_i, /* 1096 */
- PARROT_OP_root_new_p_pc_i, /* 1097 */
- PARROT_OP_root_new_p_p_ic, /* 1098 */
- PARROT_OP_root_new_p_pc_ic, /* 1099 */
- PARROT_OP_get_context_p, /* 1100 */
- PARROT_OP_new_call_context_p, /* 1101 */
- PARROT_OP_invokecc_p_p, /* 1102 */
- PARROT_OP_flatten_array_into_p_p_i, /* 1103 */
- PARROT_OP_flatten_array_into_p_p_ic, /* 1104 */
- PARROT_OP_flatten_hash_into_p_p_i, /* 1105 */
- PARROT_OP_flatten_hash_into_p_p_ic, /* 1106 */
- PARROT_OP_slurp_array_from_p_p_i, /* 1107 */
- PARROT_OP_slurp_array_from_p_p_ic, /* 1108 */
- PARROT_OP_receive_p, /* 1109 */
- PARROT_OP_wait_p, /* 1110 */
- PARROT_OP_wait_pc, /* 1111 */
- PARROT_OP_pass /* 1112 */
+ PARROT_OP_rindex_i_s_s, /* 870 */
+ PARROT_OP_rindex_i_sc_s, /* 871 */
+ PARROT_OP_rindex_i_s_sc, /* 872 */
+ PARROT_OP_rindex_i_sc_sc, /* 873 */
+ PARROT_OP_rindex_i_s_s_i, /* 874 */
+ PARROT_OP_rindex_i_sc_s_i, /* 875 */
+ PARROT_OP_rindex_i_s_sc_i, /* 876 */
+ PARROT_OP_rindex_i_sc_sc_i, /* 877 */
+ PARROT_OP_rindex_i_s_s_ic, /* 878 */
+ PARROT_OP_rindex_i_sc_s_ic, /* 879 */
+ PARROT_OP_rindex_i_s_sc_ic, /* 880 */
+ PARROT_OP_rindex_i_sc_sc_ic, /* 881 */
+ PARROT_OP_sprintf_s_s_p, /* 882 */
+ PARROT_OP_sprintf_s_sc_p, /* 883 */
+ PARROT_OP_sprintf_p_p_p, /* 884 */
+ PARROT_OP_new_s, /* 885 */
+ PARROT_OP_stringinfo_i_s_i, /* 886 */
+ PARROT_OP_stringinfo_i_sc_i, /* 887 */
+ PARROT_OP_stringinfo_i_s_ic, /* 888 */
+ PARROT_OP_stringinfo_i_sc_ic, /* 889 */
+ PARROT_OP_upcase_s_s, /* 890 */
+ PARROT_OP_upcase_s_sc, /* 891 */
+ PARROT_OP_downcase_s_s, /* 892 */
+ PARROT_OP_downcase_s_sc, /* 893 */
+ PARROT_OP_titlecase_s_s, /* 894 */
+ PARROT_OP_titlecase_s_sc, /* 895 */
+ PARROT_OP_join_s_s_p, /* 896 */
+ PARROT_OP_join_s_sc_p, /* 897 */
+ PARROT_OP_split_p_s_s, /* 898 */
+ PARROT_OP_split_p_sc_s, /* 899 */
+ PARROT_OP_split_p_s_sc, /* 900 */
+ PARROT_OP_split_p_sc_sc, /* 901 */
+ PARROT_OP_encoding_i_s, /* 902 */
+ PARROT_OP_encoding_i_sc, /* 903 */
+ PARROT_OP_encodingname_s_i, /* 904 */
+ PARROT_OP_encodingname_s_ic, /* 905 */
+ PARROT_OP_find_encoding_i_s, /* 906 */
+ PARROT_OP_find_encoding_i_sc, /* 907 */
+ PARROT_OP_trans_encoding_s_s_i, /* 908 */
+ PARROT_OP_trans_encoding_s_sc_i, /* 909 */
+ PARROT_OP_trans_encoding_s_s_ic, /* 910 */
+ PARROT_OP_trans_encoding_s_sc_ic, /* 911 */
+ PARROT_OP_is_cclass_i_i_s_i, /* 912 */
+ PARROT_OP_is_cclass_i_ic_s_i, /* 913 */
+ PARROT_OP_is_cclass_i_i_sc_i, /* 914 */
+ PARROT_OP_is_cclass_i_ic_sc_i, /* 915 */
+ PARROT_OP_is_cclass_i_i_s_ic, /* 916 */
+ PARROT_OP_is_cclass_i_ic_s_ic, /* 917 */
+ PARROT_OP_is_cclass_i_i_sc_ic, /* 918 */
+ PARROT_OP_is_cclass_i_ic_sc_ic, /* 919 */
+ PARROT_OP_find_cclass_i_i_s_i_i, /* 920 */
+ PARROT_OP_find_cclass_i_ic_s_i_i, /* 921 */
+ PARROT_OP_find_cclass_i_i_sc_i_i, /* 922 */
+ PARROT_OP_find_cclass_i_ic_sc_i_i, /* 923 */
+ PARROT_OP_find_cclass_i_i_s_ic_i, /* 924 */
+ PARROT_OP_find_cclass_i_ic_s_ic_i, /* 925 */
+ PARROT_OP_find_cclass_i_i_sc_ic_i, /* 926 */
+ PARROT_OP_find_cclass_i_ic_sc_ic_i, /* 927 */
+ PARROT_OP_find_cclass_i_i_s_i_ic, /* 928 */
+ PARROT_OP_find_cclass_i_ic_s_i_ic, /* 929 */
+ PARROT_OP_find_cclass_i_i_sc_i_ic, /* 930 */
+ PARROT_OP_find_cclass_i_ic_sc_i_ic, /* 931 */
+ PARROT_OP_find_cclass_i_i_s_ic_ic, /* 932 */
+ PARROT_OP_find_cclass_i_ic_s_ic_ic, /* 933 */
+ PARROT_OP_find_cclass_i_i_sc_ic_ic, /* 934 */
+ PARROT_OP_find_cclass_i_ic_sc_ic_ic, /* 935 */
+ PARROT_OP_find_not_cclass_i_i_s_i_i, /* 936 */
+ PARROT_OP_find_not_cclass_i_ic_s_i_i, /* 937 */
+ PARROT_OP_find_not_cclass_i_i_sc_i_i, /* 938 */
+ PARROT_OP_find_not_cclass_i_ic_sc_i_i, /* 939 */
+ PARROT_OP_find_not_cclass_i_i_s_ic_i, /* 940 */
+ PARROT_OP_find_not_cclass_i_ic_s_ic_i, /* 941 */
+ PARROT_OP_find_not_cclass_i_i_sc_ic_i, /* 942 */
+ PARROT_OP_find_not_cclass_i_ic_sc_ic_i, /* 943 */
+ PARROT_OP_find_not_cclass_i_i_s_i_ic, /* 944 */
+ PARROT_OP_find_not_cclass_i_ic_s_i_ic, /* 945 */
+ PARROT_OP_find_not_cclass_i_i_sc_i_ic, /* 946 */
+ PARROT_OP_find_not_cclass_i_ic_sc_i_ic, /* 947 */
+ PARROT_OP_find_not_cclass_i_i_s_ic_ic, /* 948 */
+ PARROT_OP_find_not_cclass_i_ic_s_ic_ic, /* 949 */
+ PARROT_OP_find_not_cclass_i_i_sc_ic_ic, /* 950 */
+ PARROT_OP_find_not_cclass_i_ic_sc_ic_ic, /* 951 */
+ PARROT_OP_escape_s_s, /* 952 */
+ PARROT_OP_compose_s_s, /* 953 */
+ PARROT_OP_compose_s_sc, /* 954 */
+ PARROT_OP_find_codepoint_i_s, /* 955 */
+ PARROT_OP_find_codepoint_i_sc, /* 956 */
+ PARROT_OP_spawnw_i_s, /* 957 */
+ PARROT_OP_spawnw_i_sc, /* 958 */
+ PARROT_OP_spawnw_i_p, /* 959 */
+ PARROT_OP_err_i, /* 960 */
+ PARROT_OP_err_s, /* 961 */
+ PARROT_OP_err_s_i, /* 962 */
+ PARROT_OP_err_s_ic, /* 963 */
+ PARROT_OP_time_i, /* 964 */
+ PARROT_OP_time_n, /* 965 */
+ PARROT_OP_sleep_i, /* 966 */
+ PARROT_OP_sleep_ic, /* 967 */
+ PARROT_OP_sleep_n, /* 968 */
+ PARROT_OP_sleep_nc, /* 969 */
+ PARROT_OP_store_lex_s_p, /* 970 */
+ PARROT_OP_store_lex_sc_p, /* 971 */
+ PARROT_OP_store_lex_s_s, /* 972 */
+ PARROT_OP_store_lex_sc_s, /* 973 */
+ PARROT_OP_store_lex_s_sc, /* 974 */
+ PARROT_OP_store_lex_sc_sc, /* 975 */
+ PARROT_OP_store_lex_s_i, /* 976 */
+ PARROT_OP_store_lex_sc_i, /* 977 */
+ PARROT_OP_store_lex_s_ic, /* 978 */
+ PARROT_OP_store_lex_sc_ic, /* 979 */
+ PARROT_OP_store_lex_s_n, /* 980 */
+ PARROT_OP_store_lex_sc_n, /* 981 */
+ PARROT_OP_store_lex_s_nc, /* 982 */
+ PARROT_OP_store_lex_sc_nc, /* 983 */
+ PARROT_OP_store_dynamic_lex_s_p, /* 984 */
+ PARROT_OP_store_dynamic_lex_sc_p, /* 985 */
+ PARROT_OP_find_lex_p_s, /* 986 */
+ PARROT_OP_find_lex_p_sc, /* 987 */
+ PARROT_OP_find_lex_s_s, /* 988 */
+ PARROT_OP_find_lex_s_sc, /* 989 */
+ PARROT_OP_find_lex_i_s, /* 990 */
+ PARROT_OP_find_lex_i_sc, /* 991 */
+ PARROT_OP_find_lex_n_s, /* 992 */
+ PARROT_OP_find_lex_n_sc, /* 993 */
+ PARROT_OP_find_dynamic_lex_p_s, /* 994 */
+ PARROT_OP_find_dynamic_lex_p_sc, /* 995 */
+ PARROT_OP_find_caller_lex_p_s, /* 996 */
+ PARROT_OP_find_caller_lex_p_sc, /* 997 */
+ PARROT_OP_get_namespace_p, /* 998 */
+ PARROT_OP_get_namespace_p_p, /* 999 */
+ PARROT_OP_get_namespace_p_pc, /* 1000 */
+ PARROT_OP_get_hll_namespace_p, /* 1001 */
+ PARROT_OP_get_hll_namespace_p_p, /* 1002 */
+ PARROT_OP_get_hll_namespace_p_pc, /* 1003 */
+ PARROT_OP_get_root_namespace_p, /* 1004 */
+ PARROT_OP_get_root_namespace_p_p, /* 1005 */
+ PARROT_OP_get_root_namespace_p_pc, /* 1006 */
+ PARROT_OP_get_global_p_s, /* 1007 */
+ PARROT_OP_get_global_p_sc, /* 1008 */
+ PARROT_OP_get_global_p_p_s, /* 1009 */
+ PARROT_OP_get_global_p_pc_s, /* 1010 */
+ PARROT_OP_get_global_p_p_sc, /* 1011 */
+ PARROT_OP_get_global_p_pc_sc, /* 1012 */
+ PARROT_OP_get_hll_global_p_s, /* 1013 */
+ PARROT_OP_get_hll_global_p_sc, /* 1014 */
+ PARROT_OP_get_hll_global_p_p_s, /* 1015 */
+ PARROT_OP_get_hll_global_p_pc_s, /* 1016 */
+ PARROT_OP_get_hll_global_p_p_sc, /* 1017 */
+ PARROT_OP_get_hll_global_p_pc_sc, /* 1018 */
+ PARROT_OP_get_root_global_p_s, /* 1019 */
+ PARROT_OP_get_root_global_p_sc, /* 1020 */
+ PARROT_OP_get_root_global_p_p_s, /* 1021 */
+ PARROT_OP_get_root_global_p_pc_s, /* 1022 */
+ PARROT_OP_get_root_global_p_p_sc, /* 1023 */
+ PARROT_OP_get_root_global_p_pc_sc, /* 1024 */
+ PARROT_OP_set_global_s_p, /* 1025 */
+ PARROT_OP_set_global_sc_p, /* 1026 */
+ PARROT_OP_set_global_p_s_p, /* 1027 */
+ PARROT_OP_set_global_pc_s_p, /* 1028 */
+ PARROT_OP_set_global_p_sc_p, /* 1029 */
+ PARROT_OP_set_global_pc_sc_p, /* 1030 */
+ PARROT_OP_set_hll_global_s_p, /* 1031 */
+ PARROT_OP_set_hll_global_sc_p, /* 1032 */
+ PARROT_OP_set_hll_global_p_s_p, /* 1033 */
+ PARROT_OP_set_hll_global_pc_s_p, /* 1034 */
+ PARROT_OP_set_hll_global_p_sc_p, /* 1035 */
+ PARROT_OP_set_hll_global_pc_sc_p, /* 1036 */
+ PARROT_OP_set_root_global_s_p, /* 1037 */
+ PARROT_OP_set_root_global_sc_p, /* 1038 */
+ PARROT_OP_set_root_global_p_s_p, /* 1039 */
+ PARROT_OP_set_root_global_pc_s_p, /* 1040 */
+ PARROT_OP_set_root_global_p_sc_p, /* 1041 */
+ PARROT_OP_set_root_global_pc_sc_p, /* 1042 */
+ PARROT_OP_find_name_p_s, /* 1043 */
+ PARROT_OP_find_name_p_sc, /* 1044 */
+ PARROT_OP_find_sub_not_null_p_s, /* 1045 */
+ PARROT_OP_find_sub_not_null_p_sc, /* 1046 */
+ PARROT_OP_trap, /* 1047 */
+ PARROT_OP_set_label_p_ic, /* 1048 */
+ PARROT_OP_get_label_i_p, /* 1049 */
+ PARROT_OP_get_id_i_p, /* 1050 */
+ PARROT_OP_get_id_i_pc, /* 1051 */
+ PARROT_OP_fetch_p_p_p_p, /* 1052 */
+ PARROT_OP_fetch_p_pc_p_p, /* 1053 */
+ PARROT_OP_fetch_p_p_pc_p, /* 1054 */
+ PARROT_OP_fetch_p_pc_pc_p, /* 1055 */
+ PARROT_OP_fetch_p_p_p_pc, /* 1056 */
+ PARROT_OP_fetch_p_pc_p_pc, /* 1057 */
+ PARROT_OP_fetch_p_p_pc_pc, /* 1058 */
+ PARROT_OP_fetch_p_pc_pc_pc, /* 1059 */
+ PARROT_OP_fetch_p_p_i_p, /* 1060 */
+ PARROT_OP_fetch_p_pc_i_p, /* 1061 */
+ PARROT_OP_fetch_p_p_ic_p, /* 1062 */
+ PARROT_OP_fetch_p_pc_ic_p, /* 1063 */
+ PARROT_OP_fetch_p_p_i_pc, /* 1064 */
+ PARROT_OP_fetch_p_pc_i_pc, /* 1065 */
+ PARROT_OP_fetch_p_p_ic_pc, /* 1066 */
+ PARROT_OP_fetch_p_pc_ic_pc, /* 1067 */
+ PARROT_OP_fetch_p_p_s_p, /* 1068 */
+ PARROT_OP_fetch_p_pc_s_p, /* 1069 */
+ PARROT_OP_fetch_p_p_sc_p, /* 1070 */
+ PARROT_OP_fetch_p_pc_sc_p, /* 1071 */
+ PARROT_OP_fetch_p_p_s_pc, /* 1072 */
+ PARROT_OP_fetch_p_pc_s_pc, /* 1073 */
+ PARROT_OP_fetch_p_p_sc_pc, /* 1074 */
+ PARROT_OP_fetch_p_pc_sc_pc, /* 1075 */
+ PARROT_OP_vivify_p_p_p_p, /* 1076 */
+ PARROT_OP_vivify_p_pc_p_p, /* 1077 */
+ PARROT_OP_vivify_p_p_pc_p, /* 1078 */
+ PARROT_OP_vivify_p_pc_pc_p, /* 1079 */
+ PARROT_OP_vivify_p_p_p_pc, /* 1080 */
+ PARROT_OP_vivify_p_pc_p_pc, /* 1081 */
+ PARROT_OP_vivify_p_p_pc_pc, /* 1082 */
+ PARROT_OP_vivify_p_pc_pc_pc, /* 1083 */
+ PARROT_OP_vivify_p_p_i_p, /* 1084 */
+ PARROT_OP_vivify_p_pc_i_p, /* 1085 */
+ PARROT_OP_vivify_p_p_ic_p, /* 1086 */
+ PARROT_OP_vivify_p_pc_ic_p, /* 1087 */
+ PARROT_OP_vivify_p_p_i_pc, /* 1088 */
+ PARROT_OP_vivify_p_pc_i_pc, /* 1089 */
+ PARROT_OP_vivify_p_p_ic_pc, /* 1090 */
+ PARROT_OP_vivify_p_pc_ic_pc, /* 1091 */
+ PARROT_OP_vivify_p_p_s_p, /* 1092 */
+ PARROT_OP_vivify_p_pc_s_p, /* 1093 */
+ PARROT_OP_vivify_p_p_sc_p, /* 1094 */
+ PARROT_OP_vivify_p_pc_sc_p, /* 1095 */
+ PARROT_OP_vivify_p_p_s_pc, /* 1096 */
+ PARROT_OP_vivify_p_pc_s_pc, /* 1097 */
+ PARROT_OP_vivify_p_p_sc_pc, /* 1098 */
+ PARROT_OP_vivify_p_pc_sc_pc, /* 1099 */
+ PARROT_OP_new_p_s_i, /* 1100 */
+ PARROT_OP_new_p_sc_i, /* 1101 */
+ PARROT_OP_new_p_s_ic, /* 1102 */
+ PARROT_OP_new_p_sc_ic, /* 1103 */
+ PARROT_OP_new_p_p_i, /* 1104 */
+ PARROT_OP_new_p_pc_i, /* 1105 */
+ PARROT_OP_new_p_p_ic, /* 1106 */
+ PARROT_OP_new_p_pc_ic, /* 1107 */
+ PARROT_OP_root_new_p_p_i, /* 1108 */
+ PARROT_OP_root_new_p_pc_i, /* 1109 */
+ PARROT_OP_root_new_p_p_ic, /* 1110 */
+ PARROT_OP_root_new_p_pc_ic, /* 1111 */
+ PARROT_OP_get_context_p, /* 1112 */
+ PARROT_OP_new_call_context_p, /* 1113 */
+ PARROT_OP_invokecc_p_p, /* 1114 */
+ PARROT_OP_flatten_array_into_p_p_i, /* 1115 */
+ PARROT_OP_flatten_array_into_p_p_ic, /* 1116 */
+ PARROT_OP_flatten_hash_into_p_p_i, /* 1117 */
+ PARROT_OP_flatten_hash_into_p_p_ic, /* 1118 */
+ PARROT_OP_slurp_array_from_p_p_i, /* 1119 */
+ PARROT_OP_slurp_array_from_p_p_ic, /* 1120 */
+ PARROT_OP_receive_p, /* 1121 */
+ PARROT_OP_wait_p, /* 1122 */
+ PARROT_OP_wait_pc, /* 1123 */
+ PARROT_OP_pass /* 1124 */
} parrot_opcode_enums;
View
498 include/parrot/opsenum.h
@@ -884,249 +884,261 @@ enum OPS_ENUM {
enum_ops_index_i_sc_s_ic = 867,
enum_ops_index_i_s_sc_ic = 868,
enum_ops_index_i_sc_sc_ic = 869,
- enum_ops_sprintf_s_s_p = 870,
- enum_ops_sprintf_s_sc_p = 871,
- enum_ops_sprintf_p_p_p = 872,
- enum_ops_new_s = 873,
- enum_ops_stringinfo_i_s_i = 874,
- enum_ops_stringinfo_i_sc_i = 875,
- enum_ops_stringinfo_i_s_ic = 876,
- enum_ops_stringinfo_i_sc_ic = 877,
- enum_ops_upcase_s_s = 878,
- enum_ops_upcase_s_sc = 879,
- enum_ops_downcase_s_s = 880,
- enum_ops_downcase_s_sc = 881,
- enum_ops_titlecase_s_s = 882,
- enum_ops_titlecase_s_sc = 883,
- enum_ops_join_s_s_p = 884,
- enum_ops_join_s_sc_p = 885,
- enum_ops_split_p_s_s = 886,
- enum_ops_split_p_sc_s = 887,
- enum_ops_split_p_s_sc = 888,
- enum_ops_split_p_sc_sc = 889,
- enum_ops_encoding_i_s = 890,
- enum_ops_encoding_i_sc = 891,
- enum_ops_encodingname_s_i = 892,
- enum_ops_encodingname_s_ic = 893,
- enum_ops_find_encoding_i_s = 894,
- enum_ops_find_encoding_i_sc = 895,
- enum_ops_trans_encoding_s_s_i = 896,
- enum_ops_trans_encoding_s_sc_i = 897,
- enum_ops_trans_encoding_s_s_ic = 898,
- enum_ops_trans_encoding_s_sc_ic = 899,
- enum_ops_is_cclass_i_i_s_i = 900,
- enum_ops_is_cclass_i_ic_s_i = 901,
- enum_ops_is_cclass_i_i_sc_i = 902,
- enum_ops_is_cclass_i_ic_sc_i = 903,
- enum_ops_is_cclass_i_i_s_ic = 904,
- enum_ops_is_cclass_i_ic_s_ic = 905,
- enum_ops_is_cclass_i_i_sc_ic = 906,
- enum_ops_is_cclass_i_ic_sc_ic = 907,
- enum_ops_find_cclass_i_i_s_i_i = 908,
- enum_ops_find_cclass_i_ic_s_i_i = 909,
- enum_ops_find_cclass_i_i_sc_i_i = 910,
- enum_ops_find_cclass_i_ic_sc_i_i = 911,
- enum_ops_find_cclass_i_i_s_ic_i = 912,
- enum_ops_find_cclass_i_ic_s_ic_i = 913,
- enum_ops_find_cclass_i_i_sc_ic_i = 914,
- enum_ops_find_cclass_i_ic_sc_ic_i = 915,
- enum_ops_find_cclass_i_i_s_i_ic = 916,
- enum_ops_find_cclass_i_ic_s_i_ic = 917,
- enum_ops_find_cclass_i_i_sc_i_ic = 918,
- enum_ops_find_cclass_i_ic_sc_i_ic = 919,
- enum_ops_find_cclass_i_i_s_ic_ic = 920,
- enum_ops_find_cclass_i_ic_s_ic_ic = 921,
- enum_ops_find_cclass_i_i_sc_ic_ic = 922,
- enum_ops_find_cclass_i_ic_sc_ic_ic = 923,
- enum_ops_find_not_cclass_i_i_s_i_i = 924,
- enum_ops_find_not_cclass_i_ic_s_i_i = 925,
- enum_ops_find_not_cclass_i_i_sc_i_i = 926,
- enum_ops_find_not_cclass_i_ic_sc_i_i = 927,
- enum_ops_find_not_cclass_i_i_s_ic_i = 928,
- enum_ops_find_not_cclass_i_ic_s_ic_i = 929,
- enum_ops_find_not_cclass_i_i_sc_ic_i = 930,
- enum_ops_find_not_cclass_i_ic_sc_ic_i = 931,
- enum_ops_find_not_cclass_i_i_s_i_ic = 932,
- enum_ops_find_not_cclass_i_ic_s_i_ic = 933,
- enum_ops_find_not_cclass_i_i_sc_i_ic = 934,
- enum_ops_find_not_cclass_i_ic_sc_i_ic = 935,
- enum_ops_find_not_cclass_i_i_s_ic_ic = 936,
- enum_ops_find_not_cclass_i_ic_s_ic_ic = 937,
- enum_ops_find_not_cclass_i_i_sc_ic_ic = 938,
- enum_ops_find_not_cclass_i_ic_sc_ic_ic = 939,
- enum_ops_escape_s_s = 940,
- enum_ops_compose_s_s = 941,
- enum_ops_compose_s_sc = 942,
- enum_ops_find_codepoint_i_s = 943,
- enum_ops_find_codepoint_i_sc = 944,
- enum_ops_spawnw_i_s = 945,
- enum_ops_spawnw_i_sc = 946,
- enum_ops_spawnw_i_p = 947,
- enum_ops_err_i = 948,
- enum_ops_err_s = 949,
- enum_ops_err_s_i = 950,
- enum_ops_err_s_ic = 951,
- enum_ops_time_i = 952,
- enum_ops_time_n = 953,
- enum_ops_sleep_i = 954,
- enum_ops_sleep_ic = 955,
- enum_ops_sleep_n = 956,
- enum_ops_sleep_nc = 957,
- enum_ops_store_lex_s_p = 958,
- enum_ops_store_lex_sc_p = 959,
- enum_ops_store_lex_s_s = 960,
- enum_ops_store_lex_sc_s = 961,
- enum_ops_store_lex_s_sc = 962,
- enum_ops_store_lex_sc_sc = 963,
- enum_ops_store_lex_s_i = 964,
- enum_ops_store_lex_sc_i = 965,
- enum_ops_store_lex_s_ic = 966,
- enum_ops_store_lex_sc_ic = 967,
- enum_ops_store_lex_s_n = 968,
- enum_ops_store_lex_sc_n = 969,
- enum_ops_store_lex_s_nc = 970,
- enum_ops_store_lex_sc_nc = 971,
- enum_ops_store_dynamic_lex_s_p = 972,
- enum_ops_store_dynamic_lex_sc_p = 973,
- enum_ops_find_lex_p_s = 974,
- enum_ops_find_lex_p_sc = 975,
- enum_ops_find_lex_s_s = 976,
- enum_ops_find_lex_s_sc = 977,
- enum_ops_find_lex_i_s = 978,
- enum_ops_find_lex_i_sc = 979,
- enum_ops_find_lex_n_s = 980,
- enum_ops_find_lex_n_sc = 981,
- enum_ops_find_dynamic_lex_p_s = 982,
- enum_ops_find_dynamic_lex_p_sc = 983,
- enum_ops_find_caller_lex_p_s = 984,
- enum_ops_find_caller_lex_p_sc = 985,
- enum_ops_get_namespace_p = 986,
- enum_ops_get_namespace_p_p = 987,
- enum_ops_get_namespace_p_pc = 988,
- enum_ops_get_hll_namespace_p = 989,
- enum_ops_get_hll_namespace_p_p = 990,
- enum_ops_get_hll_namespace_p_pc = 991,
- enum_ops_get_root_namespace_p = 992,
- enum_ops_get_root_namespace_p_p = 993,
- enum_ops_get_root_namespace_p_pc = 994,
- enum_ops_get_global_p_s = 995,
- enum_ops_get_global_p_sc = 996,
- enum_ops_get_global_p_p_s = 997,
- enum_ops_get_global_p_pc_s = 998,
- enum_ops_get_global_p_p_sc = 999,
- enum_ops_get_global_p_pc_sc = 1000,
- enum_ops_get_hll_global_p_s = 1001,
- enum_ops_get_hll_global_p_sc = 1002,
- enum_ops_get_hll_global_p_p_s = 1003,
- enum_ops_get_hll_global_p_pc_s = 1004,
- enum_ops_get_hll_global_p_p_sc = 1005,
- enum_ops_get_hll_global_p_pc_sc = 1006,
- enum_ops_get_root_global_p_s = 1007,
- enum_ops_get_root_global_p_sc = 1008,
- enum_ops_get_root_global_p_p_s = 1009,
- enum_ops_get_root_global_p_pc_s = 1010,
- enum_ops_get_root_global_p_p_sc = 1011,
- enum_ops_get_root_global_p_pc_sc = 1012,
- enum_ops_set_global_s_p = 1013,
- enum_ops_set_global_sc_p = 1014,
- enum_ops_set_global_p_s_p = 1015,
- enum_ops_set_global_pc_s_p = 1016,
- enum_ops_set_global_p_sc_p = 1017,
- enum_ops_set_global_pc_sc_p = 1018,
- enum_ops_set_hll_global_s_p = 1019,
- enum_ops_set_hll_global_sc_p = 1020,
- enum_ops_set_hll_global_p_s_p = 1021,
- enum_ops_set_hll_global_pc_s_p = 1022,
- enum_ops_set_hll_global_p_sc_p = 1023,
- enum_ops_set_hll_global_pc_sc_p = 1024,
- enum_ops_set_root_global_s_p = 1025,
- enum_ops_set_root_global_sc_p = 1026,
- enum_ops_set_root_global_p_s_p = 1027,
- enum_ops_set_root_global_pc_s_p = 1028,
- enum_ops_set_root_global_p_sc_p = 1029,
- enum_ops_set_root_global_pc_sc_p = 1030,
- enum_ops_find_name_p_s = 1031,
- enum_ops_find_name_p_sc = 1032,
- enum_ops_find_sub_not_null_p_s = 1033,
- enum_ops_find_sub_not_null_p_sc = 1034,
- enum_ops_trap = 1035,
- enum_ops_set_label_p_ic = 1036,
- enum_ops_get_label_i_p = 1037,
- enum_ops_get_id_i_p = 1038,
- enum_ops_get_id_i_pc = 1039,
- enum_ops_fetch_p_p_p_p = 1040,
- enum_ops_fetch_p_pc_p_p = 1041,
- enum_ops_fetch_p_p_pc_p = 1042,
- enum_ops_fetch_p_pc_pc_p = 1043,
- enum_ops_fetch_p_p_p_pc = 1044,
- enum_ops_fetch_p_pc_p_pc = 1045,
- enum_ops_fetch_p_p_pc_pc = 1046,
- enum_ops_fetch_p_pc_pc_pc = 1047,
- enum_ops_fetch_p_p_i_p = 1048,
- enum_ops_fetch_p_pc_i_p = 1049,
- enum_ops_fetch_p_p_ic_p = 1050,
- enum_ops_fetch_p_pc_ic_p = 1051,
- enum_ops_fetch_p_p_i_pc = 1052,
- enum_ops_fetch_p_pc_i_pc = 1053,
- enum_ops_fetch_p_p_ic_pc = 1054,
- enum_ops_fetch_p_pc_ic_pc = 1055,
- enum_ops_fetch_p_p_s_p = 1056,
- enum_ops_fetch_p_pc_s_p = 1057,
- enum_ops_fetch_p_p_sc_p = 1058,
- enum_ops_fetch_p_pc_sc_p = 1059,
- enum_ops_fetch_p_p_s_pc = 1060,
- enum_ops_fetch_p_pc_s_pc = 1061,
- enum_ops_fetch_p_p_sc_pc = 1062,
- enum_ops_fetch_p_pc_sc_pc = 1063,
- enum_ops_vivify_p_p_p_p = 1064,
- enum_ops_vivify_p_pc_p_p = 1065,
- enum_ops_vivify_p_p_pc_p = 1066,
- enum_ops_vivify_p_pc_pc_p = 1067,
- enum_ops_vivify_p_p_p_pc = 1068,
- enum_ops_vivify_p_pc_p_pc = 1069,
- enum_ops_vivify_p_p_pc_pc = 1070,
- enum_ops_vivify_p_pc_pc_pc = 1071,
- enum_ops_vivify_p_p_i_p = 1072,
- enum_ops_vivify_p_pc_i_p = 1073,
- enum_ops_vivify_p_p_ic_p = 1074,
- enum_ops_vivify_p_pc_ic_p = 1075,
- enum_ops_vivify_p_p_i_pc = 1076,
- enum_ops_vivify_p_pc_i_pc = 1077,
- enum_ops_vivify_p_p_ic_pc = 1078,
- enum_ops_vivify_p_pc_ic_pc = 1079,
- enum_ops_vivify_p_p_s_p = 1080,
- enum_ops_vivify_p_pc_s_p = 1081,
- enum_ops_vivify_p_p_sc_p = 1082,
- enum_ops_vivify_p_pc_sc_p = 1083,
- enum_ops_vivify_p_p_s_pc = 1084,
- enum_ops_vivify_p_pc_s_pc = 1085,
- enum_ops_vivify_p_p_sc_pc = 1086,
- enum_ops_vivify_p_pc_sc_pc = 1087,
- enum_ops_new_p_s_i = 1088,
- enum_ops_new_p_sc_i = 1089,
- enum_ops_new_p_s_ic = 1090,
- enum_ops_new_p_sc_ic = 1091,
- enum_ops_new_p_p_i = 1092,
- enum_ops_new_p_pc_i = 1093,
- enum_ops_new_p_p_ic = 1094,
- enum_ops_new_p_pc_ic = 1095,
- enum_ops_root_new_p_p_i = 1096,
- enum_ops_root_new_p_pc_i = 1097,
- enum_ops_root_new_p_p_ic = 1098,
- enum_ops_root_new_p_pc_ic = 1099,
- enum_ops_get_context_p = 1100,
- enum_ops_new_call_context_p = 1101,
- enum_ops_invokecc_p_p = 1102,
- enum_ops_flatten_array_into_p_p_i = 1103,
- enum_ops_flatten_array_into_p_p_ic = 1104,
- enum_ops_flatten_hash_into_p_p_i = 1105,
- enum_ops_flatten_hash_into_p_p_ic = 1106,
- enum_ops_slurp_array_from_p_p_i = 1107,
- enum_ops_slurp_array_from_p_p_ic = 1108,
- enum_ops_receive_p = 1109,
- enum_ops_wait_p = 1110,
- enum_ops_wait_pc = 1111,
- enum_ops_pass = 1112,
+ enum_ops_rindex_i_s_s = 870,
+ enum_ops_rindex_i_sc_s = 871,
+ enum_ops_rindex_i_s_sc = 872,
+ enum_ops_rindex_i_sc_sc = 873,
+ enum_ops_rindex_i_s_s_i = 874,
+ enum_ops_rindex_i_sc_s_i = 875,
+ enum_ops_rindex_i_s_sc_i = 876,
+ enum_ops_rindex_i_sc_sc_i = 877,
+ enum_ops_rindex_i_s_s_ic = 878,
+ enum_ops_rindex_i_sc_s_ic = 879,
+ enum_ops_rindex_i_s_sc_ic = 880,
+ enum_ops_rindex_i_sc_sc_ic = 881,
+ enum_ops_sprintf_s_s_p = 882,
+ enum_ops_sprintf_s_sc_p = 883,
+ enum_ops_sprintf_p_p_p = 884,
+ enum_ops_new_s = 885,
+ enum_ops_stringinfo_i_s_i = 886,
+ enum_ops_stringinfo_i_sc_i = 887,
+ enum_ops_stringinfo_i_s_ic = 888,
+ enum_ops_stringinfo_i_sc_ic = 889,
+ enum_ops_upcase_s_s = 890,
+ enum_ops_upcase_s_sc = 891,
+ enum_ops_downcase_s_s = 892,
+ enum_ops_downcase_s_sc = 893,
+ enum_ops_titlecase_s_s = 894,
+ enum_ops_titlecase_s_sc = 895,
+ enum_ops_join_s_s_p = 896,
+ enum_ops_join_s_sc_p = 897,
+ enum_ops_split_p_s_s = 898,
+ enum_ops_split_p_sc_s = 899,
+ enum_ops_split_p_s_sc = 900,
+ enum_ops_split_p_sc_sc = 901,
+ enum_ops_encoding_i_s = 902,
+ enum_ops_encoding_i_sc = 903,
+ enum_ops_encodingname_s_i = 904,
+ enum_ops_encodingname_s_ic = 905,
+ enum_ops_find_encoding_i_s = 906,
+ enum_ops_find_encoding_i_sc = 907,
+ enum_ops_trans_encoding_s_s_i = 908,
+ enum_ops_trans_encoding_s_sc_i = 909,
+ enum_ops_trans_encoding_s_s_ic = 910,
+ enum_ops_trans_encoding_s_sc_ic = 911,
+ enum_ops_is_cclass_i_i_s_i = 912,
+ enum_ops_is_cclass_i_ic_s_i = 913,
+ enum_ops_is_cclass_i_i_sc_i = 914,
+ enum_ops_is_cclass_i_ic_sc_i = 915,
+ enum_ops_is_cclass_i_i_s_ic = 916,
+ enum_ops_is_cclass_i_ic_s_ic = 917,
+ enum_ops_is_cclass_i_i_sc_ic = 918,
+ enum_ops_is_cclass_i_ic_sc_ic = 919,
+ enum_ops_find_cclass_i_i_s_i_i = 920,
+ enum_ops_find_cclass_i_ic_s_i_i = 921,
+ enum_ops_find_cclass_i_i_sc_i_i = 922,
+ enum_ops_find_cclass_i_ic_sc_i_i = 923,
+ enum_ops_find_cclass_i_i_s_ic_i = 924,
+ enum_ops_find_cclass_i_ic_s_ic_i = 925,
+ enum_ops_find_cclass_i_i_sc_ic_i = 926,
+ enum_ops_find_cclass_i_ic_sc_ic_i = 927,
+ enum_ops_find_cclass_i_i_s_i_ic = 928,
+ enum_ops_find_cclass_i_ic_s_i_ic = 929,
+ enum_ops_find_cclass_i_i_sc_i_ic = 930,
+ enum_ops_find_cclass_i_ic_sc_i_ic = 931,
+ enum_ops_find_cclass_i_i_s_ic_ic = 932,
+ enum_ops_find_cclass_i_ic_s_ic_ic = 933,
+ enum_ops_find_cclass_i_i_sc_ic_ic = 934,
+ enum_ops_find_cclass_i_ic_sc_ic_ic = 935,
+ enum_ops_find_not_cclass_i_i_s_i_i = 936,
+ enum_ops_find_not_cclass_i_ic_s_i_i = 937,
+ enum_ops_find_not_cclass_i_i_sc_i_i = 938,
+ enum_ops_find_not_cclass_i_ic_sc_i_i = 939,
+ enum_ops_find_not_cclass_i_i_s_ic_i = 940,
+ enum_ops_find_not_cclass_i_ic_s_ic_i = 941,
+ enum_ops_find_not_cclass_i_i_sc_ic_i = 942,
+ enum_ops_find_not_cclass_i_ic_sc_ic_i = 943,
+ enum_ops_find_not_cclass_i_i_s_i_ic = 944,
+ enum_ops_find_not_cclass_i_ic_s_i_ic = 945,
+ enum_ops_find_not_cclass_i_i_sc_i_ic = 946,
+ enum_ops_find_not_cclass_i_ic_sc_i_ic = 947,
+ enum_ops_find_not_cclass_i_i_s_ic_ic = 948,
+ enum_ops_find_not_cclass_i_ic_s_ic_ic = 949,
+ enum_ops_find_not_cclass_i_i_sc_ic_ic = 950,
+ enum_ops_find_not_cclass_i_ic_sc_ic_ic = 951,
+ enum_ops_escape_s_s = 952,
+ enum_ops_compose_s_s = 953,
+ enum_ops_compose_s_sc = 954,
+ enum_ops_find_codepoint_i_s = 955,
+ enum_ops_find_codepoint_i_sc = 956,
+ enum_ops_spawnw_i_s = 957,
+ enum_ops_spawnw_i_sc = 958,
+ enum_ops_spawnw_i_p = 959,
+ enum_ops_err_i = 960,
+ enum_ops_err_s = 961,
+ enum_ops_err_s_i = 962,
+ enum_ops_err_s_ic = 963,
+ enum_ops_time_i = 964,
+ enum_ops_time_n = 965,
+ enum_ops_sleep_i = 966,
+ enum_ops_sleep_ic = 967,
+ enum_ops_sleep_n = 968,
+ enum_ops_sleep_nc = 969,
+ enum_ops_store_lex_s_p = 970,
+ enum_ops_store_lex_sc_p = 971,
+ enum_ops_store_lex_s_s = 972,
+ enum_ops_store_lex_sc_s = 973,
+ enum_ops_store_lex_s_sc = 974,
+ enum_ops_store_lex_sc_sc = 975,
+ enum_ops_store_lex_s_i = 976,
+ enum_ops_store_lex_sc_i = 977,
+ enum_ops_store_lex_s_ic = 978,
+ enum_ops_store_lex_sc_ic = 979,
+ enum_ops_store_lex_s_n = 980,
+ enum_ops_store_lex_sc_n = 981,
+ enum_ops_store_lex_s_nc = 982,
+ enum_ops_store_lex_sc_nc = 983,
+ enum_ops_store_dynamic_lex_s_p = 984,
+ enum_ops_store_dynamic_lex_sc_p = 985,
+ enum_ops_find_lex_p_s = 986,
+ enum_ops_find_lex_p_sc = 987,
+ enum_ops_find_lex_s_s = 988,
+ enum_ops_find_lex_s_sc = 989,
+ enum_ops_find_lex_i_s = 990,
+ enum_ops_find_lex_i_sc = 991,
+ enum_ops_find_lex_n_s = 992,
+ enum_ops_find_lex_n_sc = 993,
+ enum_ops_find_dynamic_lex_p_s = 994,
+ enum_ops_find_dynamic_lex_p_sc = 995,
+ enum_ops_find_caller_lex_p_s = 996,
+ enum_ops_find_caller_lex_p_sc = 997,
+ enum_ops_get_namespace_p = 998,
+ enum_ops_get_namespace_p_p = 999,
+ enum_ops_get_namespace_p_pc = 1000,
+ enum_ops_get_hll_namespace_p = 1001,
+ enum_ops_get_hll_namespace_p_p = 1002,
+ enum_ops_get_hll_namespace_p_pc = 1003,
+ enum_ops_get_root_namespace_p = 1004,
+ enum_ops_get_root_namespace_p_p = 1005,
+ enum_ops_get_root_namespace_p_pc = 1006,
+ enum_ops_get_global_p_s = 1007,
+ enum_ops_get_global_p_sc = 1008,
+ enum_ops_get_global_p_p_s = 1009,
+ enum_ops_get_global_p_pc_s = 1010,
+ enum_ops_get_global_p_p_sc = 1011,
+ enum_ops_get_global_p_pc_sc = 1012,
+ enum_ops_get_hll_global_p_s = 1013,
+ enum_ops_get_hll_global_p_sc = 1014,
+ enum_ops_get_hll_global_p_p_s = 1015,
+ enum_ops_get_hll_global_p_pc_s = 1016,
+ enum_ops_get_hll_global_p_p_sc = 1017,
+ enum_ops_get_hll_global_p_pc_sc = 1018,
+ enum_ops_get_root_global_p_s = 1019,
+ enum_ops_get_root_global_p_sc = 1020,
+ enum_ops_get_root_global_p_p_s = 1021,
+ enum_ops_get_root_global_p_pc_s = 1022,
+ enum_ops_get_root_global_p_p_sc = 1023,
+ enum_ops_get_root_global_p_pc_sc = 1024,
+ enum_ops_set_global_s_p = 1025,
+ enum_ops_set_global_sc_p = 1026,
+ enum_ops_set_global_p_s_p = 1027,
+ enum_ops_set_global_pc_s_p = 1028,
+ enum_ops_set_global_p_sc_p = 1029,
+ enum_ops_set_global_pc_sc_p = 1030,
+ enum_ops_set_hll_global_s_p = 1031,
+ enum_ops_set_hll_global_sc_p = 1032,
+ enum_ops_set_hll_global_p_s_p = 1033,
+ enum_ops_set_hll_global_pc_s_p = 1034,
+ enum_ops_set_hll_global_p_sc_p = 1035,
+ enum_ops_set_hll_global_pc_sc_p = 1036,
+ enum_ops_set_root_global_s_p = 1037,
+ enum_ops_set_root_global_sc_p = 1038,
+ enum_ops_set_root_global_p_s_p = 1039,
+ enum_ops_set_root_global_pc_s_p = 1040,
+ enum_ops_set_root_global_p_sc_p = 1041,
+ enum_ops_set_root_global_pc_sc_p = 1042,
+ enum_ops_find_name_p_s = 1043,
+ enum_ops_find_name_p_sc = 1044,
+ enum_ops_find_sub_not_null_p_s = 1045,
+ enum_ops_find_sub_not_null_p_sc = 1046,
+ enum_ops_trap = 1047,
+ enum_ops_set_label_p_ic = 1048,
+ enum_ops_get_label_i_p = 1049,
+ enum_ops_get_id_i_p = 1050,
+ enum_ops_get_id_i_pc = 1051,
+ enum_ops_fetch_p_p_p_p = 1052,
+ enum_ops_fetch_p_pc_p_p = 1053,
+ enum_ops_fetch_p_p_pc_p = 1054,
+ enum_ops_fetch_p_pc_pc_p = 1055,
+ enum_ops_fetch_p_p_p_pc = 1056,
+ enum_ops_fetch_p_pc_p_pc = 1057,
+ enum_ops_fetch_p_p_pc_pc = 1058,
+ enum_ops_fetch_p_pc_pc_pc = 1059,
+ enum_ops_fetch_p_p_i_p = 1060,
+ enum_ops_fetch_p_pc_i_p = 1061,
+ enum_ops_fetch_p_p_ic_p = 1062,
+ enum_ops_fetch_p_pc_ic_p = 1063,
+ enum_ops_fetch_p_p_i_pc = 1064,
+ enum_ops_fetch_p_pc_i_pc = 1065,
+ enum_ops_fetch_p_p_ic_pc = 1066,
+ enum_ops_fetch_p_pc_ic_pc = 1067,
+ enum_ops_fetch_p_p_s_p = 1068,
+ enum_ops_fetch_p_pc_s_p = 1069,
+ enum_ops_fetch_p_p_sc_p = 1070,
+ enum_ops_fetch_p_pc_sc_p = 1071,
+ enum_ops_fetch_p_p_s_pc = 1072,
+ enum_ops_fetch_p_pc_s_pc = 1073,
+ enum_ops_fetch_p_p_sc_pc = 1074,
+ enum_ops_fetch_p_pc_sc_pc = 1075,
+ enum_ops_vivify_p_p_p_p = 1076,
+ enum_ops_vivify_p_pc_p_p = 1077,
+ enum_ops_vivify_p_p_pc_p = 1078,
+ enum_ops_vivify_p_pc_pc_p = 1079,
+ enum_ops_vivify_p_p_p_pc = 1080,
+ enum_ops_vivify_p_pc_p_pc = 1081,
+ enum_ops_vivify_p_p_pc_pc = 1082,
+ enum_ops_vivify_p_pc_pc_pc = 1083,
+ enum_ops_vivify_p_p_i_p = 1084,
+ enum_ops_vivify_p_pc_i_p = 1085,
+ enum_ops_vivify_p_p_ic_p = 1086,
+ enum_ops_vivify_p_pc_ic_p = 1087,
+ enum_ops_vivify_p_p_i_pc = 1088,
+ enum_ops_vivify_p_pc_i_pc = 1089,
+ enum_ops_vivify_p_p_ic_pc = 1090,
+ enum_ops_vivify_p_pc_ic_pc = 1091,
+ enum_ops_vivify_p_p_s_p = 1092,
+ enum_ops_vivify_p_pc_s_p = 1093,
+ enum_ops_vivify_p_p_sc_p = 1094,
+ enum_ops_vivify_p_pc_sc_p = 1095,
+ enum_ops_vivify_p_p_s_pc = 1096,
+ enum_ops_vivify_p_pc_s_pc = 1097,
+ enum_ops_vivify_p_p_sc_pc = 1098,
+ enum_ops_vivify_p_pc_sc_pc = 1099,
+ enum_ops_new_p_s_i = 1100,
+ enum_ops_new_p_sc_i = 1101,
+ enum_ops_new_p_s_ic = 1102,
+ enum_ops_new_p_sc_ic = 1103,
+ enum_ops_new_p_p_i = 1104,
+ enum_ops_new_p_pc_i = 1105,
+ enum_ops_new_p_p_ic = 1106,
+ enum_ops_new_p_pc_ic = 1107,
+ enum_ops_root_new_p_p_i = 1108,
+ enum_ops_root_new_p_pc_i = 1109,
+ enum_ops_root_new_p_p_ic = 1110,
+ enum_ops_root_new_p_pc_ic = 1111,
+ enum_ops_get_context_p = 1112,
+ enum_ops_new_call_context_p = 1113,
+ enum_ops_invokecc_p_p = 1114,
+ enum_ops_flatten_array_into_p_p_i = 1115,
+ enum_ops_flatten_array_into_p_p_ic = 1116,
+ enum_ops_flatten_hash_into_p_p_i = 1117,
+ enum_ops_flatten_hash_into_p_p_ic = 1118,
+ enum_ops_slurp_array_from_p_p_i = 1119,
+ enum_ops_slurp_array_from_p_p_ic = 1120,
+ enum_ops_receive_p = 1121,
+ enum_ops_wait_p = 1122,
+ enum_ops_wait_pc = 1123,
+ enum_ops_pass = 1124,
};
View
70 runtime/parrot/library/distutils.pir
@@ -1326,7 +1326,7 @@ an array creates a PMC group
.local string src
src = shift $P1
.local string ext
- $I0 = rindex(src, '.')
+ $I0 = 'rindex'(src, '.')
ext = substr src, $I0
unless ext == '.pmc' goto L6
push pmcs, src
@@ -1339,7 +1339,7 @@ an array creates a PMC group
L7:
unless $P1 goto L8
src = shift $P1
- $I0 = rindex(src, '.')
+ $I0 = 'rindex'(src, '.')
ext = substr src, $I0
if ext == '.h' goto L7
$S0 = _mk_path_gen_dynpmc(src, obj)
@@ -1542,7 +1542,7 @@ an array creates a PMC group
.sub '_mk_path_gen_dynpmc' :anon
.param string src
.param string ext
- $I0 = rindex(src, '.')
+ $I0 = 'rindex'(src, '.')
$S0 = substr src, 0, $I0
$S0 .= ext
unless ext == '.h' goto L1
@@ -1937,7 +1937,7 @@ the value is the POD pathname, for example 'src/prog.pir'
.local string src
src = shift $P1
.local string ext
- $I0 = rindex(src, '.')
+ $I0 = 'rindex'(src, '.')
ext = substr src, $I0
if ext == '.h' goto L3
$S0 = _mk_path_gen_dynpmc(src, obj)
@@ -3843,51 +3843,51 @@ TEMPLATE
configure: configure-stamp
configure-stamp:
- dh_testdir
- touch configure-stamp
+ dh_testdir
+ touch configure-stamp
build: build-stamp
build-stamp: configure-stamp
- dh_testdir
- %s build
- touch $@
+ dh_testdir
+ %s build
+ touch $@
clean:
- dh_testdir
- dh_testroot
- rm -f build-stamp configure-stamp
- %s clean
- dh_clean
+ dh_testdir
+ dh_testroot
+ rm -f build-stamp configure-stamp
+ %s clean
+ dh_clean
install: build
- dh_testdir
- dh_testroot
- dh_prep
- dh_installdirs
- %s --root $(CURDIR)/debian/tmp install
- dh_install --sourcedir=$(CURDIR)/debian/tmp --list-missing
+ dh_testdir
+ dh_testroot
+ dh_prep
+ dh_installdirs
+ %s --root $(CURDIR)/debian/tmp install
+ dh_install --sourcedir=$(CURDIR)/debian/tmp --list-missing
# Build architecture-independent files here.
binary-indep: install
# We have nothing to do by default.
# Build architecture-dependent files here.
binary-arch: build install
- dh_testdir
- dh_testroot
- dh_installchangelogs
- dh_installdocs
- dh_installexamples
- dh_installman
- dh_link
- dh_strip
- dh_compress
- dh_fixperms
- dh_installdeb
- dh_shlibdeps
- dh_gencontrol
- dh_md5sums
- dh_builddeb
+ dh_testdir
+ dh_testroot
+ dh_installchangelogs
+ dh_installdocs
+ dh_installexamples
+ dh_installman
+ dh_link
+ dh_strip
+ dh_compress
+ dh_fixperms
+ dh_installdeb
+ dh_shlibdeps
+ dh_gencontrol
+ dh_md5sums
+ dh_builddeb
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure
View
1,229 src/ops/core_ops.c
729 additions, 500 deletions not shown because the diff is too large. Please use a local Git client to view these changes.
View
16 src/ops/string.ops
@@ -282,6 +282,13 @@ The return value is based at "0".
If the string is null, or the substring is not found or is null,
B<index> returns "-1".
+=item B<rindex>(out INT, in STR, in STR)
+
+=item B<rindex>(out INT, in STR, in STR, in INT)
+
+Search the string for the last instance of the substring from the end. If
+Provided, a match will not be found after $4.
+
=cut
inline op index(out INT, in STR, in STR) {
@@ -292,6 +299,15 @@ inline op index(out INT, in STR, in STR, in INT) {
$1 = ($2 && $3) ? STRING_index(interp, $2, $3, $4) : -1;
}
+inline op rindex(out INT, in STR, in STR) {
+ STRING * const str = $2;
+ $1 = Parrot_str_find_reverse_index(interp, str, $3, STRING_length(str));
+}
+
+inline op rindex(out INT, in STR, in STR, in INT) {
+ STRING * const str = $2;
+ $1 = Parrot_str_find_reverse_index(interp, str, $3, $4);
+}
=item B<sprintf>(out STR, in STR, invar PMC)

0 comments on commit 9136b04

Please sign in to comment.
Something went wrong with that request. Please try again.