📄 trafo.c
字号:
/* line 785 "tcl.puma" */ cur_class_ptr = prev_class;/* line 786 "tcl.puma" */ yyP15 = yyP15->proc.next; goto yyRecursion; } } }/* line 788 "tcl.puma" */ { tString prev_proc; {/* line 789 "tcl.puma" *//* line 789 "tcl.puma" */ prev_proc = cur_proc_ptr;/* line 790 "tcl.puma" */ cur_proc_ptr = GetCStr (get_ident (yyP15->proc.qualification));/* line 791 "tcl.puma" */ pass3 (yyP15->proc.qualification);/* line 793 "tcl.puma" */ pass3 (yyP15->proc.block);/* line 794 "tcl.puma" */ cur_proc_ptr = prev_proc;/* line 795 "tcl.puma" */ yyP15 = yyP15->proc.next; goto yyRecursion; } } case knamespace:/* line 797 "tcl.puma" */ { tString prev_class; {/* line 798 "tcl.puma" *//* line 798 "tcl.puma" */ prev_class = cur_class_ptr;/* line 799 "tcl.puma" */ cur_class_ptr = GetCStr (get_ident (yyP15->namespace.qualification));/* line 800 "tcl.puma" */ pass3 (yyP15->namespace.qualification);/* line 801 "tcl.puma" */ pass3 (yyP15->namespace.block);/* line 802 "tcl.puma" */ cur_class_ptr = prev_class;/* line 803 "tcl.puma" */ yyP15 = yyP15->namespace.next; goto yyRecursion; } } case kone_word:/* line 805 "tcl.puma" */ {/* line 806 "tcl.puma" */ yyP15 = yyP15->one_word.next; goto yyRecursion; } case kqual_word:/* line 808 "tcl.puma" */ {/* line 809 "tcl.puma" */ pass3 (yyP15->qual_word.qualification);/* line 810 "tcl.puma" */ yyP15 = yyP15->qual_word.next; goto yyRecursion; } case kqual_words:/* line 812 "tcl.puma" */ {/* line 813 "tcl.puma" */ pass3 (yyP15->qual_words.qualifications);/* line 814 "tcl.puma" */ yyP15 = yyP15->qual_words.next; goto yyRecursion; } case kone_qualification:/* line 816 "tcl.puma" */ {/* line 817 "tcl.puma" */ pass3 (yyP15->one_qualification.qualification);/* line 818 "tcl.puma" */ yyP15 = yyP15->one_qualification.next; goto yyRecursion; } case kcharacter:/* line 820 "tcl.puma" */ {/* line 821 "tcl.puma" */ yyP15 = yyP15->character.next; goto yyRecursion; } case kident:/* line 823 "tcl.puma" */ {/* line 824 "tcl.puma" */ yyP15 = yyP15->ident.next; goto yyRecursion; } case kcontent:/* line 826 "tcl.puma" */ {/* line 827 "tcl.puma" */ use_qual (yyP15->content.qualification);/* line 828 "tcl.puma" */ pass3 (yyP15->content.qualification);/* line 829 "tcl.puma" */ yyP15 = yyP15->content.next; goto yyRecursion; } case kblock:/* line 831 "tcl.puma" */ { rbool prev_in_string; {/* line 832 "tcl.puma" *//* line 832 "tcl.puma" */ prev_in_string = in_string;/* line 833 "tcl.puma" */ in_string = yyP15->block.type == '"';/* line 834 "tcl.puma" */ pass3 (yyP15->block.stmts);/* line 835 "tcl.puma" */ in_string = prev_in_string;/* line 836 "tcl.puma" */ yyP15 = yyP15->block.next; goto yyRecursion; } } case kblock_content:/* line 838 "tcl.puma" */ {/* line 839 "tcl.puma" */ pass3 (yyP15->block_content.stmts);/* line 840 "tcl.puma" */ yyP15 = yyP15->block_content.next; goto yyRecursion; } case kqualification:/* line 842 "tcl.puma" */ {/* line 843 "tcl.puma" */ yyP15 = yyP15->qualification.qualification; goto yyRecursion; } case klocal_text:/* line 845 "tcl.puma" */ {/* line 846 "tcl.puma" */ yyP15 = yyP15->local_text.texts; goto yyRecursion; } case kglobal_text:/* line 848 "tcl.puma" */ {/* line 849 "tcl.puma" */ yyP15 = yyP15->global_text.texts; goto yyRecursion; } case kcomplex_qual:/* line 851 "tcl.puma" */ {/* line 852 "tcl.puma" */ pass3 (yyP15->complex_qual.qualification);/* line 853 "tcl.puma" */ yyP15 = yyP15->complex_qual.texts; goto yyRecursion; } case ksubscription:/* line 855 "tcl.puma" */ {/* line 856 "tcl.puma" */ pass3 (yyP15->subscription.qualification);/* line 857 "tcl.puma" */ yyP15 = yyP15->subscription.index; goto yyRecursion; } };}static tIdent make_one_word#if defined __STDC__ | defined __cplusplus(register tTree yyP16)#else(yyP16) register tTree yyP16;#endif{ if (yyP16->Kind == kident) { if (yyP16->ident.next->Kind == knotext) {/* line 864 "tcl.puma" */ return yyP16->ident.ident; } }/* line 867 "tcl.puma" */ {/* line 868 "tcl.puma" */ length = 0;/* line 869 "tcl.puma" */ make_one_word_2 (yyP16); } return MakeIdent (buffer, length);}static void make_one_word_2#if defined __STDC__ | defined __cplusplus(register tTree yyP17)#else(yyP17) register tTree yyP17;#endif{ yyRecursion: switch (yyP17->Kind) { case kcharacter:/* line 877 "tcl.puma" */ {/* line 878 "tcl.puma" */ buffer [length ++] = yyP17->character.text;/* line 879 "tcl.puma" */ yyP17 = yyP17->character.next; goto yyRecursion; } case kident:/* line 881 "tcl.puma" */ {/* line 882 "tcl.puma" */ GetString (yyP17->ident.ident, & buffer [length]);/* line 883 "tcl.puma" */ length = length + StLength (GetStringRef (yyP17->ident.ident));/* line 884 "tcl.puma" */ yyP17 = yyP17->ident.next; goto yyRecursion; } case kcontent:/* line 886 "tcl.puma" */ {/* line 887 "tcl.puma" */ buffer [length ++] = '$';/* line 888 "tcl.puma" */ make_one_word_2 (yyP17->content.qualification);/* line 889 "tcl.puma" */ yyP17 = yyP17->content.next; goto yyRecursion; } case klocal_ident:/* line 891 "tcl.puma" */ {/* line 892 "tcl.puma" */ GetString (yyP17->local_ident.ident, & buffer [length]);/* line 893 "tcl.puma" */ length = length + StLength (GetStringRef (yyP17->local_ident.ident)); } return; case kglobal_ident:/* line 895 "tcl.puma" */ {/* line 896 "tcl.puma" */ strcpy (& buffer [length], "::");/* line 896 "tcl.puma" */ length = length + 2;/* line 897 "tcl.puma" */ GetString (yyP17->global_ident.ident, & buffer [length]);/* line 898 "tcl.puma" */ length = length + StLength (GetStringRef (yyP17->global_ident.ident)); } return; case klocal_text:/* line 900 "tcl.puma" */ {/* line 901 "tcl.puma" */ yyP17 = yyP17->local_text.texts; goto yyRecursion; } case kglobal_text:/* line 903 "tcl.puma" */ {/* line 904 "tcl.puma" */ strcpy (& buffer [length], "::");/* line 904 "tcl.puma" */ length = length + 2;/* line 905 "tcl.puma" */ yyP17 = yyP17->global_text.texts; goto yyRecursion; } case kqualification:/* line 907 "tcl.puma" */ {/* line 908 "tcl.puma" */ make_one_word_2 (yyP17->qualification.qualification);/* line 909 "tcl.puma" */ strcpy (& buffer [length], "::");/* line 909 "tcl.puma" */ length = length + 2;/* line 910 "tcl.puma" */ GetString (yyP17->qualification.ident, & buffer [length]);/* line 911 "tcl.puma" */ length = length + StLength (GetStringRef (yyP17->qualification.ident)); } return; case kcomplex_qual:/* line 913 "tcl.puma" */ {/* line 914 "tcl.puma" */ make_one_word_2 (yyP17->complex_qual.qualification);/* line 915 "tcl.puma" */ strcpy (& buffer [length], "::");/* line 915 "tcl.puma" */ length = length + 2;/* line 916 "tcl.puma" */ yyP17 = yyP17->complex_qual.texts; goto yyRecursion; } case ksubscription:/* line 918 "tcl.puma" */ {/* line 919 "tcl.puma" */ make_one_word_2 (yyP17->subscription.qualification);/* line 920 "tcl.puma" */ strcpy (& buffer [length], "(");/* line 920 "tcl.puma" */ length = length + 1;/* line 921 "tcl.puma" */ make_one_word_2 (yyP17->subscription.index);/* line 922 "tcl.puma" */ strcpy (& buffer [length], ")");/* line 922 "tcl.puma" */ length = length + 1; } return; case kblock: if (yyP17->block.next->Kind == knotext) { if (yyP17->block.stmts->Kind == knostmt) {/* line 924 "tcl.puma" */ return; } } break; case knotext:/* line 926 "tcl.puma" */ return; }/* line 928 "tcl.puma" */ {/* line 929 "tcl.puma" */ buffer [length ++] = '?'; } return;;}static tTree Mword#if defined __STDC__ | defined __cplusplus(register tTree yyP19, register tTree yyP18)#else(yyP19, yyP18) register tTree yyP19; register tTree yyP18;#endif{ if (yyP18->Kind == klocal_ident) {/* line 936 "tcl.puma" */ { { register tTree yyV1; yyALLOC (tTree,Tree_PoolFreePtr,Tree_PoolStartPtr, Tree_Alloc,yone_word,MakeTree,yyV1,kone_word,Tree_InitHead) begintTree (yyV1->one_word.env) yyV1->one_word.next = yyP19; yyV1->one_word.ident = yyP18->local_ident.ident; yyV1->one_word.pos = yyP18->local_ident.pos; return yyV1; } } } if (Tree_IsType (yyP18, kqualification_c)) {/* line 939 "tcl.puma" */ { { register tTree yyV1; yyALLOC (tTree,Tree_PoolFreePtr,Tree_PoolStartPtr, Tree_Alloc,yqual_word,MakeTree,yyV1,kqual_word,Tree_InitHead) begintTree (yyV1->qual_word.env) yyV1->qual_word.next = yyP19; yyV1->qual_word.qualification = yyP18; return yyV1; } } } if (yyP18->Kind == kone_qualification) {/* line 942 "tcl.puma" */ { { register tTree yyV1; yyALLOC (tTree,Tree_PoolFreePtr,Tree_PoolStartPtr, Tree_Alloc,yqual_words,MakeTree,yyV1,kqual_words,Tree_InitHead) begintTree (yyV1->qual_words.env) yyV1->qual_words.next = yyP19; yyV1->qual_words.qualifications = yyP18; return yyV1; } } } if (yyP18->Kind == kone_word) {/* line 945 "tcl.puma" */ {/* line 946 "tcl.puma" */ yyP18->one_word.next = yyP19; } return yyP18; } yyAbort ("Mword"); return 0;}static tTree Mqualification#if defined __STDC__ | defined __cplusplus(register tTree yyP20)#else(yyP20) register tTree yyP20;#endif{ if (yyP20->Kind == kone_word) {/* line 954 "tcl.puma" */ { { register tTree yyV1; yyALLOC (tTree,Tree_PoolFreePtr,Tree_PoolStartPtr, Tree_Alloc,yone_qualification,MakeTree,yyV1,kone_qualification,Tree_InitHead) begintTree (yyV1->one_qualification.env) {register tTree yyW1; yyALLOC (tTree,Tree_PoolFreePtr,Tree_PoolStartPtr, Tree_Alloc,ynoqualification,MakeTree,yyW1,knoqualification,Tree_InitHead) yyV1->one_qualification.next = yyW1; begintTree (yyW1->noqualification.env) } {register tTree yyW2; yyALLOC (tTree,Tree_PoolFreePtr,Tree_PoolStartPtr, Tree_Alloc,ylocal_ident,MakeTree,yyW2,klocal_ident,Tree_InitHead) yyV1->one_qualification.qualification = yyW2; yyW2->local_ident.pos = yyP20->one_word.pos; begintTree (yyW2->local_ident.env) yyW2->local_ident.ident = yyP20->one_word.ident; } return yyV1; } } } if (Tree_IsType (yyP20, kqualification_c)) {/* line 958 "tcl.puma" */ { { register tTree yyV1; yyALLOC (tTree,Tree_PoolFreePtr,Tree_PoolStartPtr, Tree_Alloc,yone_qualification,MakeTree,yyV1,kone_qualification,Tree_InitHead) begintTree (yyV1->one_qualification.env) {register tTree yyW1; yyALLOC (tTree,Tree_PoolFreePtr,Tree_PoolStartPtr, Tree_Alloc,ynoqualification,MakeTree,yyW1,knoqualification,Tree_InitHead) yyV1->one_qualification.next = yyW1; begintTree (yyW1->noqualification.env) } yyV1->one_qualification.qualification = yyP20; return yyV1; } } } if (Tree_IsType (yyP20, kqualifications)) {/* line 961 "tcl.puma" */ return yyP20; } yyAbort ("Mqualification"); return 0;}static tTree Mstmt#if defined __STDC__ | defined __cplusplus(register tTree yyP22, register tTree yyP21)#else(yyP22, yyP21) register tTree yyP22; register tTree yyP21;#endif{ if (yyP21->Kind == kone_word) {/* line 969 "tcl.puma" */ { tTree stmt; {/* line 970 "tcl.puma" */ if (! (yyP21->one_word.ident == iproc || yyP21->one_word.ident == inamespace)) goto yyL1; {/* line 971 "tcl.puma" *//* line 971 "tcl.puma" */ stmt = Mstmt_2 (yyP22, yyP21->one_word.ident, yyP21->one_word.next);/* line 972 "tcl.puma" */ if (! (stmt != NULL)) goto yyL1; } } { return stmt; } }yyL1:; }/* line 975 "tcl.puma" */ { { register tTree yyV1; yyALLOC (tTree,Tree_PoolFreePtr,Tree_PoolStartPtr, Tree_Alloc,ystmt,MakeTree,yyV1,kstmt,Tree_InitHead) begintTree (yyV1->stmt.env) yyV1->stmt.next = yyP22; yyV1->stmt.words = yyP21; return yyV1; } }}static tTree Mstmt_2#if defined __STDC__ | defined __cplusplus(register tTree yyP25, register tIdent yyP24, register tTree yyP23)#else(yyP25, yyP24, yyP23) register tTree yyP25; register tIdent yyP24; register tTree yyP23;#endif{ { tTree p; register tTree yyV1; register tTree yyV2; if (equaltIdent (yyP24, (iproc))) { if (Tree_IsType (yyP23, kword_c)) { if (Tree_IsType (yyP23->word_c.next, kword_c)) { if (yyP23->word_c.next->word_c.next->Kind == kqual_word) { if (yyP23->word_c.next->word_c.next->qual_word.qualification->Kind == klocal_text) { if (yyP23->word_c.next->word_c.next->qual_word.qualification->local_text.texts->Kind == kblock) {/* line 983 "tcl.puma" */ {/* line 987 "tcl.puma" *//* line 988 "t
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -