version 1.77, 2017/08/31 02:36:21 |
version 1.79, 2018/03/28 05:27:22 |
|
|
* DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, |
* DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, |
* PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. |
* PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. |
* |
* |
* $OpenXM: OpenXM_contrib2/asir2000/parse/eval.c,v 1.76 2017/02/07 08:30:31 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/parse/eval.c,v 1.78 2018/03/27 06:29:19 noro Exp $ |
*/ |
*/ |
#include <ctype.h> |
#include <ctype.h> |
#include "ca.h" |
#include "ca.h" |
|
|
extern JMP_BUF timer_env; |
extern JMP_BUF timer_env; |
extern FUNC cur_binf; |
extern FUNC cur_binf; |
extern NODE PVSS; |
extern NODE PVSS; |
|
extern int evalef; |
|
|
int f_break,f_return,f_continue; |
int f_break,f_return,f_continue; |
int evalstatline; |
int evalstatline; |
Line 90 pointer eval(FNODE f) |
|
Line 91 pointer eval(FNODE f) |
|
GFSN gfsn; |
GFSN gfsn; |
RANGE range; |
RANGE range; |
QUOTE expr,pattern; |
QUOTE expr,pattern; |
|
Q q; |
|
|
#if defined(VISUAL) || defined(__MINGW32__) |
#if defined(VISUAL) || defined(__MINGW32__) |
check_intr(); |
check_intr(); |
Line 297 pointer eval(FNODE f) |
|
Line 299 pointer eval(FNODE f) |
|
case I_STR: |
case I_STR: |
MKSTR(str,FA0(f)); val = (pointer)str; break; |
MKSTR(str,FA0(f)); val = (pointer)str; break; |
case I_FORMULA: |
case I_FORMULA: |
val = FA0(f); break; |
val = FA0(f); |
|
break; |
case I_LIST: |
case I_LIST: |
evalnodebody((NODE)FA0(f),&tn); MKLIST(t,tn); val = (pointer)t; break; |
evalnodebody((NODE)FA0(f),&tn); MKLIST(t,tn); val = (pointer)t; break; |
case I_CONS: |
case I_CONS: |
Line 760 pointer evalstat(SNODE f) |
|
Line 763 pointer evalstat(SNODE f) |
|
} |
} |
break; |
break; |
case S_BREAK: |
case S_BREAK: |
if ( GPVS != CPVS ) |
if ( 1 || GPVS != CPVS ) |
f_break = 1; |
f_break = 1; |
break; |
break; |
case S_CONTINUE: |
case S_CONTINUE: |
if ( GPVS != CPVS ) |
if ( 1 || GPVS != CPVS ) |
f_continue = 1; |
f_continue = 1; |
break; |
break; |
case S_RETURN: |
case S_RETURN: |
if ( GPVS != CPVS ) { |
if ( 1 || GPVS != CPVS ) { |
val = eval((FNODE)FA0(f)); f_return = 1; |
val = eval((FNODE)FA0(f)); f_return = 1; |
} |
} |
break; |
break; |