📄 stb.c
字号:
ffelexToken t);static ffelexHandler ffestb_R9101_ (ffelexToken t);static ffelexHandler ffestb_R9102_ (ffelexToken t);static ffelexHandler ffestb_R9103_ (ffelexToken ft, ffebld expr, ffelexToken t);static ffelexHandler ffestb_R9104_ (ffelexToken t);static ffelexHandler ffestb_R9105_ (ffelexToken t);static ffelexHandler ffestb_R9106_ (ffelexToken ft, ffebld expr, ffelexToken t);static ffelexHandler ffestb_R9107_ (ffelexToken t);static ffelexHandler ffestb_R9108_ (ffelexToken t);static ffelexHandler ffestb_R9109_ (ffelexToken ft, ffebld expr, ffelexToken t);static ffelexHandler ffestb_R91010_ (ffelexToken t);static ffelexHandler ffestb_R91011_ (ffelexToken t);static ffelexHandler ffestb_R91012_ (ffelexToken t);static ffelexHandler ffestb_R91013_ (ffelexToken ft, ffebld expr, ffelexToken t);static ffelexHandler ffestb_R91014_ (ffelexToken ft, ffebld expr, ffelexToken t);static ffelexHandler ffestb_R9111_ (ffelexToken ft, ffebld expr, ffelexToken t);static ffelexHandler ffestb_R9112_ (ffelexToken ft, ffebld expr, ffelexToken t);static ffelexHandler ffestb_R9231_ (ffelexToken t);static ffelexHandler ffestb_R9232_ (ffelexToken t);static ffelexHandler ffestb_R9233_ (ffelexToken ft, ffebld expr, ffelexToken t);static ffelexHandler ffestb_R9234_ (ffelexToken t);static ffelexHandler ffestb_R9235_ (ffelexToken t);static ffelexHandler ffestb_R9236_ (ffelexToken ft, ffebld expr, ffelexToken t);static ffelexHandler ffestb_R9237_ (ffelexToken t);static ffelexHandler ffestb_R9238_ (ffelexToken t);static ffelexHandler ffestb_R9239_ (ffelexToken t);static ffelexHandler ffestb_R92310_ (ffelexToken t);static ffelexHandler ffestb_R92311_ (ffelexToken ft, ffebld expr, ffelexToken t);#if FFESTR_VXTstatic ffelexHandler ffestb_V0181_ (ffelexToken t);static ffelexHandler ffestb_V0182_ (ffelexToken t);static ffelexHandler ffestb_V0183_ (ffelexToken ft, ffebld expr, ffelexToken t);static ffelexHandler ffestb_V0184_ (ffelexToken t);static ffelexHandler ffestb_V0185_ (ffelexToken t);static ffelexHandler ffestb_V0186_ (ffelexToken ft, ffebld expr, ffelexToken t);static ffelexHandler ffestb_V0187_ (ffelexToken t);static ffelexHandler ffestb_V0188_ (ffelexToken t);static ffelexHandler ffestb_V0189_ (ffelexToken ft, ffebld expr, ffelexToken t);static ffelexHandler ffestb_V01810_ (ffelexToken t);static ffelexHandler ffestb_V01811_ (ffelexToken t);static ffelexHandler ffestb_V01812_ (ffelexToken t);static ffelexHandler ffestb_V01813_ (ffelexToken ft, ffebld expr, ffelexToken t);static ffelexHandler ffestb_V0191_ (ffelexToken ft, ffebld expr, ffelexToken t);static ffelexHandler ffestb_V0192_ (ffelexToken ft, ffebld expr, ffelexToken t);#endifstatic ffelexHandler ffestb_V0201_ (ffelexToken ft, ffebld expr, ffelexToken t);static ffelexHandler ffestb_V0202_ (ffelexToken ft, ffebld expr, ffelexToken t);#if FFESTR_VXTstatic ffelexHandler ffestb_V0211_ (ffelexToken t);static ffelexHandler ffestb_V0212_ (ffelexToken t);static ffelexHandler ffestb_V0213_ (ffelexToken ft, ffebld expr, ffelexToken t);static ffelexHandler ffestb_V0214_ (ffelexToken t);static ffelexHandler ffestb_V0215_ (ffelexToken t);static ffelexHandler ffestb_V0216_ (ffelexToken ft, ffebld expr, ffelexToken t);static ffelexHandler ffestb_V0217_ (ffelexToken t);static ffelexHandler ffestb_V0218_ (ffelexToken t);static ffelexHandler ffestb_V0219_ (ffelexToken t);static ffelexHandler ffestb_V0261_ (ffelexToken t);static ffelexHandler ffestb_V0262_ (ffelexToken t);static ffelexHandler ffestb_V0263_ (ffelexToken ft, ffebld expr, ffelexToken t);static ffelexHandler ffestb_V0264_ (ffelexToken t);static ffelexHandler ffestb_V0265_ (ffelexToken t);static ffelexHandler ffestb_V0266_ (ffelexToken ft, ffebld expr, ffelexToken t);static ffelexHandler ffestb_V0267_ (ffelexToken t);static ffelexHandler ffestb_V0268_ (ffelexToken t);static ffelexHandler ffestb_V0269_ (ffelexToken t);#endif#if FFESTR_F90static ffelexHandler ffestb_dimlist1_ (ffelexToken t);static ffelexHandler ffestb_dimlist2_ (ffelexToken t);static ffelexHandler ffestb_dimlist3_ (ffelexToken t);static ffelexHandler ffestb_dimlist4_ (ffelexToken t);#endifstatic ffelexHandler ffestb_dummy1_ (ffelexToken t);static ffelexHandler ffestb_dummy2_ (ffelexToken t);static ffelexHandler ffestb_R5241_ (ffelexToken t);static ffelexHandler ffestb_R5242_ (ffelexToken t);static ffelexHandler ffestb_R5243_ (ffelexToken t);static ffelexHandler ffestb_R5244_ (ffelexToken t);static ffelexHandler ffestb_R5471_ (ffelexToken t);static ffelexHandler ffestb_R5472_ (ffelexToken t);static ffelexHandler ffestb_R5473_ (ffelexToken t);static ffelexHandler ffestb_R5474_ (ffelexToken t);static ffelexHandler ffestb_R5475_ (ffelexToken t);static ffelexHandler ffestb_R5476_ (ffelexToken t);static ffelexHandler ffestb_R5477_ (ffelexToken t);#if FFESTR_F90static ffelexHandler ffestb_R6241_ (ffelexToken ft, ffebld expr, ffelexToken t);static ffelexHandler ffestb_R6242_ (ffelexToken t);#endifstatic ffelexHandler ffestb_R12291_ (ffelexToken t);static ffelexHandler ffestb_R12292_ (ffelexToken ft, ffebld expr, ffelexToken t);static ffelexHandler ffestb_decl_chartype1_ (ffelexToken t);#if FFESTR_F90static ffelexHandler ffestb_decl_recursive1_ (ffelexToken t);static ffelexHandler ffestb_decl_recursive2_ (ffelexToken t);static ffelexHandler ffestb_decl_recursive3_ (ffelexToken t);static ffelexHandler ffestb_decl_recursive4_ (ffelexToken t);#endifstatic ffelexHandler ffestb_decl_attrs_ (ffelexToken t);static ffelexHandler ffestb_decl_attrs_1_ (ffelexToken t);static ffelexHandler ffestb_decl_attrs_2_ (ffelexToken t);#if FFESTR_F90static ffelexHandler ffestb_decl_attrs_3_ (ffelexToken t);static ffelexHandler ffestb_decl_attrs_4_ (ffelexToken t);static ffelexHandler ffestb_decl_attrs_5_ (ffelexToken t);static ffelexHandler ffestb_decl_attrs_6_ (ffelexToken t);#endifstatic ffelexHandler ffestb_decl_attrs_7_ (ffelexToken t);static ffelexHandler ffestb_decl_attrsp_ (ffelexToken t);static ffelexHandler ffestb_decl_ents_ (ffelexToken t);static ffelexHandler ffestb_decl_ents_1_ (ffelexToken t);static ffelexHandler ffestb_decl_ents_2_ (ffelexToken t);static ffelexHandler ffestb_decl_ents_3_ (ffelexToken t);static ffelexHandler ffestb_decl_ents_4_ (ffelexToken t);static ffelexHandler ffestb_decl_ents_5_ (ffelexToken t);static ffelexHandler ffestb_decl_ents_6_ (ffelexToken ft, ffebld expr, ffelexToken t);static ffelexHandler ffestb_decl_ents_7_ (ffelexToken t);static ffelexHandler ffestb_decl_ents_8_ (ffelexToken ft, ffebld expr, ffelexToken t);static ffelexHandler ffestb_decl_ents_9_ (ffelexToken ft, ffebld expr, ffelexToken t);static ffelexHandler ffestb_decl_ents_10_ (ffelexToken ft, ffebld expr, ffelexToken t);static ffelexHandler ffestb_decl_ents_11_ (ffelexToken t);static ffelexHandler ffestb_decl_entsp_ (ffelexToken t);static ffelexHandler ffestb_decl_entsp_1_ (ffelexToken t);static ffelexHandler ffestb_decl_entsp_2_ (ffelexToken t);static ffelexHandler ffestb_decl_entsp_3_ (ffelexToken t);static ffelexHandler ffestb_decl_entsp_4_ (ffelexToken ft, ffebld expr, ffelexToken t);static ffelexHandler ffestb_decl_entsp_5_ (ffelexToken t);static ffelexHandler ffestb_decl_entsp_6_ (ffelexToken t);static ffelexHandler ffestb_decl_entsp_7_ (ffelexToken t);static ffelexHandler ffestb_decl_entsp_8_ (ffelexToken t);#if FFESTR_F90static ffelexHandler ffestb_decl_func_ (ffelexToken t);#endifstatic ffelexHandler ffestb_decl_funcname_ (ffelexToken t);static ffelexHandler ffestb_decl_funcname_1_ (ffelexToken t);static ffelexHandler ffestb_decl_funcname_2_ (ffelexToken t);static ffelexHandler ffestb_decl_funcname_3_ (ffelexToken ft, ffebld expr, ffelexToken t);static ffelexHandler ffestb_decl_funcname_4_ (ffelexToken t);static ffelexHandler ffestb_decl_funcname_5_ (ffelexToken t);static ffelexHandler ffestb_decl_funcname_6_ (ffelexToken t);static ffelexHandler ffestb_decl_funcname_7_ (ffelexToken t);static ffelexHandler ffestb_decl_funcname_8_ (ffelexToken t);static ffelexHandler ffestb_decl_funcname_9_ (ffelexToken t);#if FFESTR_VXTstatic ffelexHandler ffestb_V0031_ (ffelexToken t);static ffelexHandler ffestb_V0032_ (ffelexToken t);static ffelexHandler ffestb_V0033_ (ffelexToken t);static ffelexHandler ffestb_V0034_ (ffelexToken t);static ffelexHandler ffestb_V0035_ (ffelexToken t);static ffelexHandler ffestb_V0036_ (ffelexToken t);static ffelexHandler ffestb_V0161_ (ffelexToken t);static ffelexHandler ffestb_V0162_ (ffelexToken t);static ffelexHandler ffestb_V0163_ (ffelexToken t);static ffelexHandler ffestb_V0164_ (ffelexToken t);static ffelexHandler ffestb_V0165_ (ffelexToken t);static ffelexHandler ffestb_V0166_ (ffelexToken t);#endifstatic ffelexHandler ffestb_V0271_ (ffelexToken t);static ffelexHandler ffestb_V0272_ (ffelexToken ft, ffebld expr, ffelexToken t);static ffelexHandler ffestb_V0273_ (ffelexToken t);static ffelexHandler ffestb_decl_R5391_ (ffelexToken t);static ffelexHandler ffestb_decl_R5392_ (ffelexToken t);#if FFESTR_F90static ffelexHandler ffestb_decl_R5393_ (ffelexToken t);#endifstatic ffelexHandler ffestb_decl_R5394_ (ffelexToken t);static ffelexHandler ffestb_decl_R5395_ (ffelexToken t);static ffelexHandler ffestb_decl_R539letters_ (ffelexToken t);static ffelexHandler ffestb_decl_R539letters_1_ (ffelexToken t);static ffelexHandler ffestb_decl_R539letters_2_ (ffelexToken t);static ffelexHandler ffestb_decl_R539letters_3_ (ffelexToken t);static ffelexHandler ffestb_decl_R539letters_4_ (ffelexToken t);static ffelexHandler ffestb_decl_R539letters_5_ (ffelexToken t);static ffelexHandler ffestb_decl_R539maybe_ (ffelexToken t);static ffelexHandler ffestb_decl_R539maybe_1_ (ffelexToken t);static ffelexHandler ffestb_decl_R539maybe_2_ (ffelexToken t);static ffelexHandler ffestb_decl_R539maybe_3_ (ffelexToken t);static ffelexHandler ffestb_decl_R539maybe_4_ (ffelexToken t);static ffelexHandler ffestb_decl_R539maybe_5_ (ffelexToken t);/* Internal macros. */#if FFESTB_KILL_EASY_#define ffestb_subr_kill_accept_() \ ffestb_subr_kill_easy_((ffestpInquireIx) FFESTP_acceptix)#define ffestb_subr_kill_beru_() \ ffestb_subr_kill_easy_((ffestpInquireIx) FFESTP_beruix)#define ffestb_subr_kill_close_() \ ffestb_subr_kill_easy_((ffestpInquireIx) FFESTP_closeix)#define ffestb_subr_kill_delete_() \ ffestb_subr_kill_easy_((ffestpInquireIx) FFESTP_deleteix)#define ffestb_subr_kill_find_() \ ffestb_subr_kill_easy_((ffestpInquireIx) FFESTP_findix)#define ffestb_subr_kill_inquire_() \ ffestb_subr_kill_easy_((ffestpInquireIx) FFESTP_inquireix)#define ffestb_subr_kill_open_() \ ffestb_subr_kill_easy_((ffestpInquireIx) FFESTP_openix)#define ffestb_subr_kill_print_() \ ffestb_subr_kill_easy_((ffestpInquireIx) FFESTP_printix)#define ffestb_subr_kill_read_() \ ffestb_subr_kill_easy_((ffestpInquireIx) FFESTP_readix)#define ffestb_subr_kill_rewrite_() \ ffestb_subr_kill_easy_((ffestpInquireIx) FFESTP_rewriteix)#define ffestb_subr_kill_type_() \ ffestb_subr_kill_easy_((ffestpInquireIx) FFESTP_typeix)#define ffestb_subr_kill_vxtcode_() \ ffestb_subr_kill_easy_((ffestpInquireIx) FFESTP_vxtcodeix)#define ffestb_subr_kill_write_() \ ffestb_subr_kill_easy_((ffestpInquireIx) FFESTP_writeix)#endif/* ffestb_subr_ambig_nope_ -- Cleans up and aborts ambig w/o confirming ffestb_subr_ambig_nope_(); Switch from ambiguity handling in _entsp_ functions to handling entities in _ents_ (perform housekeeping tasks). */static ffelexHandlerffestb_subr_ambig_nope_ (ffelexToken t){ if (ffestb_local_.decl.recursive != NULL) ffelex_token_kill (ffestb_local_.decl.recursive); if (ffestb_local_.decl.kindt != NULL) ffelex_token_kill (ffestb_local_.decl.kindt); if (ffestb_local_.decl.lent != NULL) ffelex_token_kill (ffestb_local_.decl.lent); ffelex_token_kill (ffesta_tokens[1]); ffelex_token_kill (ffesta_tokens[2]); ffestt_tokenlist_kill (ffestb_local_.decl.toklist); ffesta_ffebad_1st (FFEBAD_INVALID_STMT_FORM, "FUNCTION", t); return (ffelexHandler) ffelex_swallow_tokens (t, (ffelexHandler) ffesta_zero);}/* ffestb_subr_ambig_to_ents_ -- Switches from ambiguity to entity decl ffestb_subr_ambig_to_ents_(); Switch from ambiguity handling in _entsp_ functions to handling entities in _ents_ (perform housekeeping tasks). */static voidffestb_subr_ambig_to_ents_ (){ ffelexToken nt; nt = ffelex_token_name_from_names (ffesta_tokens[1], 0, 0); ffelex_token_kill (ffesta_tokens[1]); ffelex_token_kill (ffesta_tokens[2]); ffesta_tokens[1] = nt; if (ffestb_local_.decl.recursive != NULL) ffelex_token_kill (ffestb_local_.decl.recursive); if (!ffestb_local_.decl.aster_after) { if (ffestb_local_.decl.type == FFESTP_typeCHARACTER) { if (!ffesta_is_inhibited ()) ffestc_decl_start (ffestb_local_.decl.type, ffesta_tokens[0], ffestb_local_.decl.kind, ffestb_local_.decl.kindt, ffestb_local_.decl.len, ffestb_local_.decl.lent); if (ffestb_local_.decl.kindt != NULL) { ffelex_token_kill (ffestb_local_.decl.kindt); ffestb_local_.decl.kind = NULL; ffestb_local_.decl.kindt = NULL; } if (ffestb_local_.decl.lent != NULL) { ffelex_token_kill (ffestb_local_.decl.lent); ffestb_local_.decl.len = NULL; ffestb_local_.decl.lent = NULL; } } else { if (!ffesta_is_inhibited ()) ffestc_decl_start (ffestb_local_.decl.type, ffesta_tokens[0], ffestb_local_.decl.kind, ffestb_local_.decl.kindt, NULL, NULL); if (ffestb_local_.decl.kindt != NULL) { ffelex_token_kill (ffestb_local_.decl.kindt); ffestb_local_.decl.kind = NULL; ffestb_local_.decl.kindt = NULL; } } return; } if (ffestb_local_.decl.type == FFESTP_typeCHARACTER) { if (!ffesta_is_inhibited ()) ffestc_decl_start (ffestb_local_.decl.type, ffesta_tokens[0], ffestb_local_.decl.kind, ffestb_local_.decl.kindt, NULL, NULL); if (ffestb_local_.decl.kindt != NULL) { ffelex_token_kill (ffestb_local_.decl.kindt); ffestb_local_.decl.kind = NULL; ffestb_local_.decl.kindt = NULL; } } else if (!ffesta_is_inhibited ()) ffestc_decl_start (ffestb_local_.decl.type, ffesta_tokens[0], NULL, NULL, NULL, NULL); /* NAME/NAMES token already in ffesta_tokens[1]. */}/* ffestb_subr_dimlist_ -- OPEN_PAREN expr (ffestb_subr_dimlist_) // to expression handler Deal with a dimension list. 19-Dec-90 JCB 1.1 Detect too many dimensions if backend wants it. */static ffelexHandlerffestb_subr_dimlist_ (ffelexToken ft, ffebld expr, ffelexToken t){ switch (ffelex_token_type (t)) { case FFELEX_typeCLOSE_PAREN: if (expr == NULL) break;#ifdef FFECOM_dimensionsMAX if (ffestb_subrargs_.dim_list.ndims++ == FFECOM_dimensionsMAX) { ffesta_ffebad_1t (FFEBAD_TOO_MANY_DIMS, ft); ffestb_subrargs_.dim_list.ok = TRUE; /* Not a parse error, really. */ return (ffelexHandler) ffestb_subrargs_.dim_list.handler; }#endif ffestt_dimlist_append (ffestb_subrargs_.dim_list.dims, NULL, expr, ffelex_token_use (t)); ffestb_subrargs_.dim_list.ok = TRUE; return (ffelexHandler) ffestb_subrargs_.dim_list.handler; case FFELEX_typeCOMMA: if ((expr != NULL) && (ffebld_op (expr) == FFEBLD_opSTAR)) break;#ifdef FFECOM_dimensionsMAX if (ffestb_subrargs_.dim_list.ndims++ == FFECOM_dimensionsMAX) { ffesta_ffebad_1t (FFEBAD_TOO_MANY_DIMS, ft); return (ffelexHandler) ffeexpr_rhs (ffestb_subrargs_.dim_list.pool, ffestb_subrargs_.dim_list.ctx, (ffeexprCallback) ffestb_subr_dimlist_2_); }#endif ffestt_dimlist_append (ffestb_subrargs_.dim_list.dims, NULL, expr, ffelex_token_use (t)); return (ffelexHandler) ffeexpr_rhs (ffestb_subrargs_.dim_list.pool, ffestb_subrargs_.dim_list.ctx, (ffeexprCallback) ffestb_subr_dimlist_); case FFELEX_typeCOLON: if ((expr != NULL) && (ffebld_op (expr) == FFEBLD_opSTAR)) break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -