📄 st.c
字号:
ffestd_init_1 (); ffeste_init_1 (); ffestp_init_1 (); ffestr_init_1 (); ffests_init_1 (); ffestt_init_1 (); ffestu_init_1 (); ffestv_init_1 (); ffestw_init_1 ();}/* ffest_init_2 -- Initialize for entire image invocation ffest_init_2(); Call just once per invocation of the compiler (not once per invocation of the front end). Gets memory for the list of possibles once and for all, since this list never gets larger than a certain size (FFEST_maxPOSSIBLES_) and is not particularly large. Initializes the array of pointers to this list. Initializes the executable and nonexecutable lists. */voidffest_init_2 (){ ffesta_init_2 (); ffestb_init_2 (); ffestc_init_2 (); ffestd_init_2 (); ffeste_init_2 (); ffestp_init_2 (); ffestr_init_2 (); ffests_init_2 (); ffestt_init_2 (); ffestu_init_2 (); ffestv_init_2 (); ffestw_init_2 ();}/* ffest_init_3 -- Initialize for any program unit ffest_init_3(); */voidffest_init_3 (){ ffesta_init_3 (); ffestb_init_3 (); ffestc_init_3 (); ffestd_init_3 (); ffeste_init_3 (); ffestp_init_3 (); ffestr_init_3 (); ffests_init_3 (); ffestt_init_3 (); ffestu_init_3 (); ffestv_init_3 (); ffestw_init_3 (); ffestw_display_state ();}/* ffest_init_4 -- Initialize for statement functions ffest_init_4(); */voidffest_init_4 (){ ffesta_init_4 (); ffestb_init_4 (); ffestc_init_4 (); ffestd_init_4 (); ffeste_init_4 (); ffestp_init_4 (); ffestr_init_4 (); ffests_init_4 (); ffestt_init_4 (); ffestu_init_4 (); ffestv_init_4 (); ffestw_init_4 ();}/* Test whether ENTRY statement is valid. Returns TRUE if current program unit is known to be FUNCTION or SUBROUTINE. Else returns FALSE. */boolffest_is_entry_valid (){ return ffesta_is_entry_valid;}/* ffest_is_inhibited -- Test whether the current possibility is inhibited if (!ffest_is_inhibited()) // implement the statement. Just make sure the current possibility has been confirmed. If anyone really needs to test whether the current possibility is inhibited prior to confirming it, that indicates a need to begin statement processing before it is certain that the given possibility is indeed the statement to be processed. As of this writing, there does not appear to be such a need. If there is, then when confirming a statement would normally immediately disable the inhibition (whereas currently we leave the confirmed statement disabled until we've tried the other possibilities, to check for ambiguities), we must check to see if the possibility has already tested for inhibition prior to confirmation and, if so, maintain inhibition until the end of the statement (which may be forced right away) and then rerun the entire statement from the beginning. Otherwise, initial calls to ffestb functions won't have been made, but subsequent calls (after confirmation) will, which is wrong. Of course, this all applies only to those statements implemented via multiple calls to ffestb, although if a statement requiring only a single ffestb call tested for inhibition prior to confirmation, it would likely mean that the ffestb call would be completely dropped without this mechanism. */boolffest_is_inhibited (){ return ffesta_is_inhibited ();}/* ffest_seen_first_exec -- Test whether first executable stmt has been seen if (ffest_seen_first_exec()) // No more spec stmts can be seen. In a case where, say, the first statement is PARAMETER(A)=B, FALSE will be returned while the PARAMETER statement is being run, and TRUE will be returned if it doesn't confirm and the assignment statement is being run. */boolffest_seen_first_exec (){ return ffesta_seen_first_exec;}/* Shut down current parsing possibility, but without bothering the user with a diagnostic if we're not inhibited. */voidffest_shutdown (){ ffesta_shutdown ();}/* ffest_sym_end_transition -- Update symbol info just before end of unit ffesymbol s; ffest_sym_end_transition(s); */ffesymbolffest_sym_end_transition (ffesymbol s){ return ffestu_sym_end_transition (s);}/* ffest_sym_exec_transition -- Update symbol just before first exec stmt ffesymbol s; ffest_sym_exec_transition(s); */ffesymbolffest_sym_exec_transition (ffesymbol s){ return ffestu_sym_exec_transition (s);}/* ffest_terminate_0 -- Terminate for entire image invocation ffest_terminate_0(); */voidffest_terminate_0 (){ ffesta_terminate_0 (); ffestb_terminate_0 (); ffestc_terminate_0 (); ffestd_terminate_0 (); ffeste_terminate_0 (); ffestp_terminate_0 (); ffestr_terminate_0 (); ffests_terminate_0 (); ffestt_terminate_0 (); ffestu_terminate_0 (); ffestv_terminate_0 (); ffestw_terminate_0 ();}/* ffest_terminate_1 -- Terminate for source file ffest_terminate_1(); */voidffest_terminate_1 (){ ffesta_terminate_1 (); ffestb_terminate_1 (); ffestc_terminate_1 (); ffestd_terminate_1 (); ffeste_terminate_1 (); ffestp_terminate_1 (); ffestr_terminate_1 (); ffests_terminate_1 (); ffestt_terminate_1 (); ffestu_terminate_1 (); ffestv_terminate_1 (); ffestw_terminate_1 ();}/* ffest_terminate_2 -- Terminate for outer program unit ffest_terminate_2(); */voidffest_terminate_2 (){ ffesta_terminate_2 (); ffestb_terminate_2 (); ffestc_terminate_2 (); ffestd_terminate_2 (); ffeste_terminate_2 (); ffestp_terminate_2 (); ffestr_terminate_2 (); ffests_terminate_2 (); ffestt_terminate_2 (); ffestu_terminate_2 (); ffestv_terminate_2 (); ffestw_terminate_2 ();}/* ffest_terminate_3 -- Terminate for any program unit ffest_terminate_3(); */voidffest_terminate_3 (){ ffesta_terminate_3 (); ffestb_terminate_3 (); ffestc_terminate_3 (); ffestd_terminate_3 (); ffeste_terminate_3 (); ffestp_terminate_3 (); ffestr_terminate_3 (); ffests_terminate_3 (); ffestt_terminate_3 (); ffestu_terminate_3 (); ffestv_terminate_3 (); ffestw_terminate_3 ();}/* ffest_terminate_4 -- Terminate for statement functions ffest_terminate_4(); */voidffest_terminate_4 (){ ffesta_terminate_4 (); ffestb_terminate_4 (); ffestc_terminate_4 (); ffestd_terminate_4 (); ffeste_terminate_4 (); ffestp_terminate_4 (); ffestr_terminate_4 (); ffests_terminate_4 (); ffestt_terminate_4 (); ffestu_terminate_4 (); ffestv_terminate_4 (); ffestw_terminate_4 ();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -