📄 itcl.c
字号:
/* line 307 "itcl.puma" */ get_objects (s->class.next);/* line 308 "itcl.puma" *//* line 308 "itcl.puma" */ prev_class = cur_class_ptr;/* line 309 "itcl.puma" */ cur_class_ptr = GetCStr (s->class.qualification->local_ident.ident);/* line 310 "itcl.puma" */ get_objects (s->class.block);/* line 311 "itcl.puma" */ cur_class_ptr = prev_class; } return; } } if (s->class.qualification->Kind == kglobal_ident) {/* line 313 "itcl.puma" */ { tTree obj; tString prev_class; {/* line 319 "itcl.puma" *//* line 319 "itcl.puma" */ obj = IdentifyGlobal (s->class.qualification->global_ident.ident);/* line 320 "itcl.puma" */ if (obj != NoTree && Tree_IsType (obj->object.object, knamespace_c)) { relocate (s->class.block, obj->object.object->class.block->texts.env); use (obj, s->class.qualification->global_ident.pos, PAF_REF_READ); } else { s->class.env->env.objects = mobject (s, s->class.qualification->global_ident.ident, s->class.env->env.objects); dcl (s->class.env->env.objects, s->class.attribute); }/* line 328 "itcl.puma" */ get_objects (s->class.next);/* line 329 "itcl.puma" *//* line 329 "itcl.puma" */ prev_class = cur_class_ptr;/* line 330 "itcl.puma" */ cur_class_ptr = GetCStr (s->class.qualification->global_ident.ident);/* line 331 "itcl.puma" */ get_objects (s->class.block);/* line 332 "itcl.puma" */ cur_class_ptr = prev_class; } return; } } if (s->class.qualification->Kind == klocal_text) {/* line 334 "itcl.puma" */ { tString prev_class; {/* line 342 "itcl.puma" */ get_objects (s->class.next);/* line 343 "itcl.puma" *//* line 343 "itcl.puma" */ prev_class = cur_class_ptr;/* line 344 "itcl.puma" */ cur_class_ptr = GetCStr (get_ident (s->class.qualification));/* line 345 "itcl.puma" */ get_objects (s->class.block);/* line 346 "itcl.puma" */ cur_class_ptr = prev_class; } return; } } if (s->class.qualification->Kind == kglobal_text) {/* line 334 "itcl.puma" */ { tString prev_class; {/* line 342 "itcl.puma" */ get_objects (s->class.next);/* line 343 "itcl.puma" *//* line 343 "itcl.puma" */ prev_class = cur_class_ptr;/* line 344 "itcl.puma" */ cur_class_ptr = GetCStr (get_ident (s->class.qualification));/* line 345 "itcl.puma" */ get_objects (s->class.block);/* line 346 "itcl.puma" */ cur_class_ptr = prev_class; } return; } }/* line 348 "itcl.puma" */ {/* line 350 "itcl.puma" */ need_pass_2 = rtrue;/* line 351 "itcl.puma" */ s = s->class.next; goto yyRecursion; } case kitcl_class: if (s->itcl_class.qualification->Kind == klocal_ident) {/* line 292 "itcl.puma" */ { tTree obj; tString prev_class; {/* line 298 "itcl.puma" *//* line 298 "itcl.puma" */ obj = IdentifyLocal (s->itcl_class.qualification->local_ident.ident, s->itcl_class.env -> env . objects);/* line 299 "itcl.puma" */ if (obj != NoTree && Tree_IsType (obj->object.object, knamespace_c)) { relocate (s->itcl_class.block, obj->object.object->class.block->texts.env); use (obj, s->itcl_class.qualification->local_ident.pos, PAF_REF_READ); } else { s->itcl_class.env->env.objects = mobject (s, s->itcl_class.qualification->local_ident.ident, s->itcl_class.env->env.objects); dcl (s->itcl_class.env->env.objects, s->itcl_class.attribute); }/* line 307 "itcl.puma" */ get_objects (s->itcl_class.next);/* line 308 "itcl.puma" *//* line 308 "itcl.puma" */ prev_class = cur_class_ptr;/* line 309 "itcl.puma" */ cur_class_ptr = GetCStr (s->itcl_class.qualification->local_ident.ident);/* line 310 "itcl.puma" */ get_objects (s->itcl_class.block);/* line 311 "itcl.puma" */ cur_class_ptr = prev_class; } return; } } if (s->itcl_class.qualification->Kind == kglobal_ident) {/* line 313 "itcl.puma" */ { tTree obj; tString prev_class; {/* line 319 "itcl.puma" *//* line 319 "itcl.puma" */ obj = IdentifyGlobal (s->itcl_class.qualification->global_ident.ident);/* line 320 "itcl.puma" */ if (obj != NoTree && Tree_IsType (obj->object.object, knamespace_c)) { relocate (s->itcl_class.block, obj->object.object->class.block->texts.env); use (obj, s->itcl_class.qualification->global_ident.pos, PAF_REF_READ); } else { s->itcl_class.env->env.objects = mobject (s, s->itcl_class.qualification->global_ident.ident, s->itcl_class.env->env.objects); dcl (s->itcl_class.env->env.objects, s->itcl_class.attribute); }/* line 328 "itcl.puma" */ get_objects (s->itcl_class.next);/* line 329 "itcl.puma" *//* line 329 "itcl.puma" */ prev_class = cur_class_ptr;/* line 330 "itcl.puma" */ cur_class_ptr = GetCStr (s->itcl_class.qualification->global_ident.ident);/* line 331 "itcl.puma" */ get_objects (s->itcl_class.block);/* line 332 "itcl.puma" */ cur_class_ptr = prev_class; } return; } } if (s->itcl_class.qualification->Kind == klocal_text) {/* line 334 "itcl.puma" */ { tString prev_class; {/* line 342 "itcl.puma" */ get_objects (s->itcl_class.next);/* line 343 "itcl.puma" *//* line 343 "itcl.puma" */ prev_class = cur_class_ptr;/* line 344 "itcl.puma" */ cur_class_ptr = GetCStr (get_ident (s->itcl_class.qualification));/* line 345 "itcl.puma" */ get_objects (s->itcl_class.block);/* line 346 "itcl.puma" */ cur_class_ptr = prev_class; } return; } } if (s->itcl_class.qualification->Kind == kglobal_text) {/* line 334 "itcl.puma" */ { tString prev_class; {/* line 342 "itcl.puma" */ get_objects (s->itcl_class.next);/* line 343 "itcl.puma" *//* line 343 "itcl.puma" */ prev_class = cur_class_ptr;/* line 344 "itcl.puma" */ cur_class_ptr = GetCStr (get_ident (s->itcl_class.qualification));/* line 345 "itcl.puma" */ get_objects (s->itcl_class.block);/* line 346 "itcl.puma" */ cur_class_ptr = prev_class; } return; } }/* line 348 "itcl.puma" */ {/* line 350 "itcl.puma" */ need_pass_2 = rtrue;/* line 351 "itcl.puma" */ s = s->itcl_class.next; goto yyRecursion; } case kstmt: if (s->stmt.words->Kind == kone_word) { if (Tree_IsType (s->stmt.words->one_word.next, kword_c)) {/* line 353 "itcl.puma" */ {/* line 355 "itcl.puma" */ add_variables (s->stmt.words->one_word.ident, s->stmt.words->one_word.next, default_attr);/* line 356 "itcl.puma" */ get_objects (s->stmt.words);/* line 357 "itcl.puma" */ s = s->stmt.next; goto yyRecursion; } } }/* line 359 "itcl.puma" */ {/* line 360 "itcl.puma" */ get_objects (s->stmt.words);/* line 361 "itcl.puma" */ s = s->stmt.next; goto yyRecursion; } case kblock:/* line 363 "itcl.puma" */ {/* line 364 "itcl.puma" */ get_objects (s->block.stmts);/* line 365 "itcl.puma" */ s = s->block.next; goto yyRecursion; } case kcontent:/* line 367 "itcl.puma" */ {/* line 368 "itcl.puma" */ get_objects (s->content.qualification);/* line 369 "itcl.puma" */ s = s->content.next; goto yyRecursion; } case kblock_content:/* line 371 "itcl.puma" */ {/* line 372 "itcl.puma" */ get_objects (s->block_content.stmts);/* line 373 "itcl.puma" */ s = s->block_content.next; goto yyRecursion; } case ktext: case kcharacter: case kident:/* line 375 "itcl.puma" */ {/* line 376 "itcl.puma" */ s = s->text.next; goto yyRecursion; } case kone_word:/* line 378 "itcl.puma" */ {/* line 379 "itcl.puma" */ s = s->one_word.next; goto yyRecursion; } case kqual_word:/* line 381 "itcl.puma" */ {/* line 382 "itcl.puma" */ get_objects (s->qual_word.qualification);/* line 383 "itcl.puma" */ s = s->qual_word.next; goto yyRecursion; } case kqual_words:/* line 385 "itcl.puma" */ {/* line 386 "itcl.puma" */ get_objects (s->qual_words.qualifications);/* line 387 "itcl.puma" */ s = s->qual_words.next; goto yyRecursion; } case kone_qualification:/* line 389 "itcl.puma" */ {/* line 390 "itcl.puma" */ get_objects (s->one_qualification.qualification);/* line 391 "itcl.puma" */ s = s->one_qualification.next; goto yyRecursion; } case klocal_text:/* line 393 "itcl.puma" */ {/* line 394 "itcl.puma" */ s = s->local_text.texts; goto yyRecursion; } case kglobal_text:/* line 396 "itcl.puma" */ {/* line 397 "itcl.puma" */ s = s->global_text.texts; goto yyRecursion; } case kqualification:/* line 399 "itcl.puma" */ {/* line 400 "itcl.puma" */ s = s->qualification.qualification; goto yyRecursion; } case kcomplex_qual:/* line 402 "itcl.puma" */ {/* line 403 "itcl.puma" */ get_objects (s->complex_qual.qualification);/* line 404 "itcl.puma" */ s = s->complex_qual.texts; goto yyRecursion; } case ksubscription:/* line 406 "itcl.puma" */ {/* line 407 "itcl.puma" */ get_objects (s->subscription.qualification);/* line 408 "itcl.puma" */ s = s->subscription.index; goto yyRecursion; } };}static void get_param_objects#if defined __STDC__ | defined __cplusplus(register tTree s)#else(s) register tTree s;#endif{ yyRecursion: if (s->Kind == kone_word) {/* line 415 "itcl.puma" */ { register tTree yyV1; {/* line 416 "itcl.puma" */ yyALLOC (tTree,Tree_PoolFreePtr,Tree_PoolStartPtr, Tree_Alloc,yobject,MakeTree,yyV1,kobject,Tree_InitHead) yyV1->object.object = s; yyV1->object.ident = s->one_word.ident; yyV1->object.next = s->one_word.env -> env . objects; s->one_word.env -> env . objects = yyV1;/* line 417 "itcl.puma" */ dcl (s->one_word.env -> env . objects, PAF_PUBLIC);/* line 418 "itcl.puma" */ s = s->one_word.next; goto yyRecursion; } } } if (Tree_IsType (s, kword_c)) {/* line 420 "itcl.puma" */ {/* line 421 "itcl.puma" */ s = s->word_c.next; goto yyRecursion; } };}static void add_variables#if defined __STDC__ | defined __cplusplus(register tIdent yyP3, register tTree yyP2, register int attr)#else(yyP3, yyP2, attr) register tIdent yyP3; register tTree yyP2; register int attr;#endif{ yyRecursion: if (equaltIdent (yyP3, (iset))) { if (yyP2->word_c.next->Kind == knoword) {/* line 428 "itcl.puma" */ {/* line 429 "itcl.puma" */ add_var (yyP2, PAF_REF_READ, default_attr); } return; } } if (equaltIdent (yyP3, (iset))) {/* line 431 "itcl.puma" */ {/* line 432 "itcl.puma" */ add_var (yyP2, PAF_REF_WRITE, default_attr); } return; } if (equaltIdent (yyP3, (iglobal))) {/* line 434 "itcl.puma" */ {/* line 435 "itcl.puma" */ add_global_vars (yyP2); } return; } if (equaltIdent (yyP3, (ivariable))) { if (yyP2->word_c.next->Kind == knoword) {/* line 437 "itcl.puma" */ {/* line 438 "itcl.puma" */ add_variable_vars (yyP2, PAF_REF_READ, attr); } return; } } if (equaltIdent (yyP3, (ivariable))) { if (Tree_IsType (yyP2->word_c.next, kword_c)) { if (yyP2->word_c.next->word_c.next->Kind == kqual_word) {/* line 440 "itcl.puma" */ {/* line 443 "itcl.puma" */ relocate (yyP2->word_c.next->word_c.next->qual_word.qualification, menv (mnoobject (), yyP2->word_c.next->word_c.next->qual_word.env, yyP2->word_c.next->word_c.next));/* line 444 "itcl.puma" */ add_variable_vars (yyP2, PAF_REF_WRITE, attr); } return; } } } if (equaltIdent (yyP3, (ivariable))) {/* line 446 "itcl.puma" */ {/* line 447 "itcl.puma" */ add_variable_vars (yyP2, PAF_REF_WRITE, attr); } return; } if (equaltIdent (yyP3, (icommon))) { if (yyP2->word_c.next->Kind == knoword) {/* line 449 "itcl.puma" */ {/* line 450 "itcl.puma" */ add_var (yyP2, PAF_REF_READ, default_attr); } return; } } if (equaltIdent (yyP3, (icommon))) {/* line 452 "itcl.puma" */ {/* line 453 "itcl.puma" */ add_var (yyP2, PAF_REF_WRITE, default_attr); } return; } if (equaltIdent (yyP3, (ipublic))) { if (yyP2->Kind == kone_word) { if (Tree_IsType (yyP2->one_word.next, kword_c)) {/* line 455 "itcl.puma" */ {/* line 457 "itcl.puma" */ if (! (yyP2->one_word.ident == ivariable || yyP2->one_word.ident == icommon)) goto yyL9; {/* line 458 "itcl.puma" */ yyP3 = yyP2->one_word.ident; yyP2 = yyP2->one_word.next; attr = PAF_PUBLIC; goto yyRecursion; } }yyL9:; } } } if (equaltIdent (yyP3, (ipublic))) { if (yyP2->word_c.next->Kind == knoword) {/* line 460 "itcl.puma" */ {/* line 461 "itcl.puma" */ add_var (yyP2, PAF_REF_READ, PAF_PUBLIC); } return; } } if (equaltIdent (yyP3, (ipublic))) { if (Tree_IsType (yyP2->word_c.next, kword_c)) { if (yyP2->word_c.next->word_c.next->Kind == kqual_word) {/* line 463 "itcl.puma" */ {/* line 466 "itcl.puma" */ relocate (yyP2->word_c.next->word_c.next->qual_word.qualification, menv (mnoobject (), yyP2->word_c.next->word_c.next->qual_word.env, yyP2->word_c.next->word_c.next));/* line 467 "itcl.puma" */ add_var (yyP2, PAF_REF_WRITE, PAF_PUBLIC); } return; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -