'////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
' KEYWORDS COMBINATION RECONGINTION
'============================================================================================================================
'============================================================================================================================
' group of keywords which can be caught in specific states; f.e. state select - keyword else;
'----------------------------------------------------------------------------------------------------------------------------
do? while.k < +.dowhile
until.k < +.dountil
. < +.do +
loop? while.k < +.loopwhile
until.k < +.loopuntil
. < +.loop +
select? case.k < +.selectcase
case? else.k < +.t +.caseelse
. < +.t +.case +
'============================================================================================================================
'============================================================================================================================
' group of keyword end
'----------------------------------------------------------------------------------------------------------------------------
end? if.k < +.t +.endif 'yes, it teminates if
select.k < +.t +.endselect
sub.k < +.t +.endfun
function.k < +.t +.endfun
. < .i "Unclosed End" +.E '"overhead"?
'============================================================================================================================
' group of keyword exit
'----------------------------------------------------------------------------------------------------------------------------
exit? sub.k < +.exitfun
function.k < +.exitfun
for.k < +.exitfor
do.k < +.exitfor 'will trigger break; no reason for .exitdo;
- : +.t +.:
.10 +.t +.r10
.eot +.t +.r10 +.print_declarations "exception: program must end in html mode" +.end
'============================================================================================================================
' miscellaneous keywords
'----------------------------------------------------------------------------------------------------------------------------
ws const.k define( >const 'see const2 above;
const2 = , =const3
const3 .n .& ) =e,=,e
.str .& ) =e,=,e
'----------------------------------------------------------------------------------------------------------------------------
- _.k >continue
continue .r10 < 'return to parent state;
. 'ignore
'----------------------------------------------------------------------------------------------------------------------------
ws while.k +.dowhile
'----------------------------------------------------------------------------------------------------------------------------
'============================================================================================================================
' group of common keywords which are NOT CAUGHT (so, why they need to be at the end of schema)
'----------------------------------------------------------------------------------------------------------------------------
- true.k +true.idv
false.k +false.idv
' keywords which can have followers:
- select.k >select?
case.k >case?
end.k >end?
exit.k >exit?
do.k >do?
loop.k >loop?
' procedure openers
sub.k +.t +.sub
function.k +.t +.fun
' statement/block end related events
else.k +.t +.else
elseif.k +.t +.elseif
next.k +.t +.next
wend.k +loop.k
'special cases
ws set.k 'ignore object syntax "set object = ... ";
ws,we new.k 'the same for "set object = new variable";