version 1.14, 2001/12/04 15:17:57
|
version 1.15, 2001/12/05 18:58:21
|
Line 150 int IFcount;
|
Line 150 int IFcount;
|
WhileLoop_t WhileStack[MAX_FUNC_NEST]; /* <-- perhaps we can use linked list */ |
WhileLoop_t WhileStack[MAX_FUNC_NEST]; /* <-- perhaps we can use linked list */ |
int While_idx, Wcount; |
int While_idx, Wcount; |
int sccount; /* Semi-colon count for MAP and RMAP */ |
int sccount; /* Semi-colon count for MAP and RMAP */ |
|
int HINTflag=0; |
|
int EXPflag=0; |
|
|
#ifdef USE_DYNAMIC_SYMBOLS |
#ifdef USE_DYNAMIC_SYMBOLS |
Symbol *SymbList_p; |
Symbol *SymbList_p; |
Line 427 EndLine ([\r][\n]|[\n])
|
Line 429 EndLine ([\r][\n]|[\n])
|
send("<PRE>\n"); |
send("<PRE>\n"); |
} |
} |
^{Spaces}"/HIN"{Alpha}*{Spaces} { LLDBUG_PRL1("[HIN]"); |
^{Spaces}"/HIN"{Alpha}*{Spaces} { LLDBUG_PRL1("[HIN]"); |
start_mode(MODE_HINT, ""); |
/* start_mode(MODE_HINT, "");*/ |
|
if (!HINTflag) { |
|
start_streams(HINT_DEST,1); |
|
HINTflag=-1; |
|
} |
|
change_destination(HINT_DEST); |
BEGIN S_HINT; |
BEGIN S_HINT; |
} |
} |
^{Spaces}"/EXP"{Alpha}*{Spaces} { start_mode(MODE_BLOCK,"condition=&explanation"); |
^{Spaces}"/EXP"{Alpha}*{Spaces} { |
|
if (!EXPflag) { |
|
start_streams(EXP_DEST,1); |
|
EXPflag=-1; |
|
} |
|
change_destination(EXP_DEST); |
LLDBUG_PRL1("[EXP]"); Current_char_p = String_buf; BEGIN S_EXPLAIN; } |
LLDBUG_PRL1("[EXP]"); Current_char_p = String_buf; BEGIN S_EXPLAIN; } |
^{Spaces}"/IMP"{Alpha}*{Space}+ { LLDBUG_PRL1("[IMP]"); BEGIN S_IMPORT; end_mode(); } |
^{Spaces}"/IMP"{Alpha}*{Space}+ { LLDBUG_PRL1("[IMP]"); BEGIN S_IMPORT; end_mode(); } |
^{Spaces}"/END" { LLDBUG_PRL1("[END]"); |
^{Spaces}"/END" { LLDBUG_PRL1("[END]"); |
Line 516 EndLine ([\r][\n]|[\n])
|
Line 528 EndLine ([\r][\n]|[\n])
|
LLDBUG_PRL2("[IF <IFcount=%d>]",IFcount); |
LLDBUG_PRL2("[IF <IFcount=%d>]",IFcount); |
BEGIN S_TRUE_FALSE_STMT; |
BEGIN S_TRUE_FALSE_STMT; |
if ( IFcount == 1) { |
if ( IFcount == 1) { |
start_streams(2); |
start_streams(DEFAULT_DEST, 2); |
watch_mode[1]=1; |
change_destination(DEFAULT_DEST); |
|
watch_mode[current_dest][1]=1; |
} |
} |
end_mode_stream(0); |
end_mode_stream(DEFAULT_DEST, 0); |
start_mode_stream(1,MODE_SCRIPT,NULL); |
start_mode_stream(DEFAULT_DEST,1,MODE_SCRIPT,NULL); |
for(i=1;i<IFcount;i++) {send("\t",NULL);} |
for(i=1;i<IFcount;i++) {send("\t",NULL);} |
send_stream(0,"<block condition=\"",NULL); |
send_stream(0,"<block condition=\"",NULL); |
send_stream(1,"if (",NULL); |
send_stream(1,"if (",NULL); |
Line 529 EndLine ([\r][\n]|[\n])
|
Line 542 EndLine ([\r][\n]|[\n])
|
} |
} |
^{Spaces}"/ELSE"([^\n])* { int i; |
^{Spaces}"/ELSE"([^\n])* { int i; |
LLDBUG_PRL2("[ELSE <IFcount=%d>]\n",IFcount); |
LLDBUG_PRL2("[ELSE <IFcount=%d>]\n",IFcount); |
end_mode_stream(0); |
end_mode_stream(DEFAULT_DEST,0); |
for(i=1;i<IFcount;i++) {send("\t",NULL);} |
for(i=1;i<IFcount;i++) {send("\t",NULL);} |
send_stream(0, |
send_stream(0, |
"</block>\n<block condition=\"!(%s)\">", |
"</block>\n<block condition=\"!(%s)\">", |
Line 538 EndLine ([\r][\n]|[\n])
|
Line 551 EndLine ([\r][\n]|[\n])
|
} |
} |
^{Spaces}"/ENDIF"([^\n])* { int i; |
^{Spaces}"/ENDIF"([^\n])* { int i; |
IFcount--; |
IFcount--; |
end_mode_stream(0); |
end_mode_stream(DEFAULT_DEST,0); |
for(i=0;i<IFcount;i++) {send("\t",NULL);} |
for(i=0;i<IFcount;i++) {send("\t",NULL);} |
send_stream(0,"</block>"); |
send_stream(0,"</block>"); |
send_stream(1,"}"); |
send_stream(1,"}"); |
if (IFcount == 0) { |
if (IFcount == 0) { |
if (watch_mode[1]) { |
if (watch_mode[current_dest][1]) { |
end_streams(1); |
end_streams(DEFAULT_DEST,1); |
} else { |
} else { |
end_streams(0); |
end_streams(DEFAULT_DEST,0); |
} |
} |
|
change_destination(DEFAULT_DEST); |
} |
} |
delete_cache(); |
delete_cache(); |
LLDBUG_PRL2("[ENDIF <IFcount=%d>]\n",IFcount); |
LLDBUG_PRL2("[ENDIF <IFcount=%d>]\n",IFcount); |
Line 698 EndLine ([\r][\n]|[\n])
|
Line 712 EndLine ([\r][\n]|[\n])
|
<S_HINT>{ |
<S_HINT>{ |
{EndLine} { LLDBUG_PR1("[CR hint]"); |
{EndLine} { LLDBUG_PR1("[CR hint]"); |
send("\n"); |
send("\n"); |
|
change_destination(DEFAULT_DEST); |
BEGIN S_TEXT; |
BEGIN S_TEXT; |
} |
} |
} |
} |
<S_EXPLAIN>{ |
<S_EXPLAIN>{ |
{EndLine} { LLDBUG_PR1("[CR explain]"); |
{EndLine} { LLDBUG_PR1("[CR explain]"); |
send("\n"); |
send("\n"); |
|
change_destination(DEFAULT_DEST); |
BEGIN S_TEXT; |
BEGIN S_TEXT; |
} |
} |
} |
} |
Line 800 EndLine ([\r][\n]|[\n])
|
Line 816 EndLine ([\r][\n]|[\n])
|
dosend=2; |
dosend=2; |
} |
} |
|
|
[Ss][Tt][Rr] { LLDBUG_PR1("[STR]"); send("\" str=\""); dosend=1; } |
[Ss][Tt][Rr] { LLDBUG_PR1("[STR]"); send("\" type=\""); dosend=1; } |
[Ee][Vv][Aa][Ll] | |
[Ee][Vv][Aa][Ll] | |
[Ee][Vv][Aa][Ll][Uu][Aa][Tt][Ee] { LLDBUG_PR1("[EVAL]");send("\" eval="); dosend=1;} |
[Ee][Vv][Aa][Ll][Uu][Aa][Tt][Ee] { LLDBUG_PR1("[EVAL]");send("\" eval="); dosend=1;} |
[Uu][Nn][Ii][Tt] | |
[Uu][Nn][Ii][Tt] | |
Line 827 EndLine ([\r][\n]|[\n])
|
Line 843 EndLine ([\r][\n]|[\n])
|
dosend=1; |
dosend=1; |
flush_delayed(); |
flush_delayed(); |
if (firstparam!=1) send("\" />\n"); |
if (firstparam!=1) send("\" />\n"); |
send("\t<textline />\n</numericalresponse>\n"); |
send("\t<textline />\n"); |
|
/* Fill in Hints */ |
|
if ( !is_dest_empty(HINT_DEST) ) { |
|
send("<hintgroup>\n\t<hintpart on=\"default\">\n\t<startouttext />"); |
|
end_streams(HINT_DEST,0); |
|
HINTflag=0; |
|
send("\t<endouttext />\n\t</hintpart>\n</hintgroup>\n"); |
|
} |
|
send("\n</numericalresponse>\n"); |
|
|
|
if ( !is_dest_empty(EXP_DEST) ) { |
|
send("<postanswerdate>\n\t<startouttext />\n"); |
|
end_streams(EXP_DEST,0); |
|
EXPflag=0; |
|
send("\t<endouttext />\n</postanswerdate>\n"); |
|
} |
} |
} |
} |
} |
|
|