<%
'------------------------------------------
'Server Script Variables access shortcuts:
dim path_info '\$p
dim this_page '\$f (file)
const path_info_esc = "p"
const this_page_esc = "f"
'------------------------------------------
const VarEsc = "$"
const SelfNamed = "+" 'KK.07.17.01
const SelfClosed = "|" 'seems never used;
dim SelfNamedFlag 'KK.07.17.01
dim IndentFlag 'if "" then indent ignored;
'IndentFlag = ve 'wrong place to set; do this in default.asp or
'form schema/source headers;
dim t, d, c 'horrible globals;
dim tt 'will be a collected result ...
dim this_version
dim elemcur, i_next_el, pcurrent
dim not_halfcurr
dim ilowcurr 'convert current element to low case and take its index
dim contrcurr 'current state made by control contcurr
dim ForeignScriptFlag 'current state is a foreign tag
dim tagelem
dim element(170) 'string; element;
'----------------------------------------------------------------------------------------
'contructs used for "long shortcut"=more-than-two-chars shortcut
dim saved_the_rest_of_line ' from NextT
saved_the_rest_of_line = ""
dim SML_E_key
SML_E_key = "^" ' key for "long shortcuts" wich value can take all
' rest of the line.
dim SML_E_long(170) ' index of more-than-two-chars shortcut;
dim SML_E_scut(80) ' key=shortcut it self as a text;
dim SML_E_value(80) ' replace scut with this value;
dim SML_E_i,SML_E_m, SML_E_L '//- current, maximum, limit for current;
SML_E_i = 0 ' index for long_shortcut arrays;
SML_E_m = 80 ' restriction for this index;
'----------------------------------------------------------------------------------------
dim extended(170)
dim tagable(170)
dim any_scut(170) ' storing some control char which can open this el.
dim mark(170) ' boolean; marks nesting level in comments (good for tables)
dim foreign(170) ' for foreign scripts like php ...
dim halftag(170)
' one of the main functions which builds sml:
dim tar(128,170) ' tar(shortcut,scope) = target-element
' shortcut here is asc value of actual shortcut.
dim abbr(170) ' element just abbreviation like ` `
dim elim
elim = 170 ' limit for elements quantity
dim sub_el_cut(170,30) ' shortcut met inside tag for subtag element
dim subelement(170,30)
dim subeltype(170,30), enext(170,30) ' 0 - numbers, 1,2,3, 9 - parameters string length
' |sub_el_cut index
dim enumb ' elements number
dim tlim
tlim = 30
dim short, short2
dim xescape, xcomment, icommon, iistart, xtend
dim ibody ' index for element body
dim xself
const xxescape = "."
dim h(200)
dim TLen
dim source
dim m_pointer,t_pointer
dim p(100), pscut(100), escape, comment, shortcut, element_state
dim low_elemcur, e_next_el, c_control, tag_state
dim indents, indented
dim no_more_scuts ' for tag
dim tag_div
%>