home *** CD-ROM | disk | FTP | other *** search
- /* -------------------------------------------------------------------------------------------------
- * HTML Full Tag Parser
- * ------------------------------------------------------------------------------------------------- */
-
- #define ht_DEFAULT 0
- #define ht_NUMBER 1
- #define ht_STRING 2
- #define ht_IDENTIFIER 3
- #define ht_TAGNAME 4
- #define ht_TAGSTART 5
- #define ht_TAGEND 6
- #define ht_ATTRIBUTE 7
- #define ht_TAG_SCRIPT 9
- #define ht_TAG_SCRIPT_START 10
- #define ht_TAG_SCRIPT_END 11
- #define ht_COMMENT 12
-
- #define ht_COMMENT_END 14
- #define ht_WHITESPACE 15
- #define ht_PLAIN_ID 16
- #define ht_SPECIAL 17
-
- #define jt_RESERVED 30
- #define jt_COMMENT 31
- #define jt_WHITESPACE 32
- #define jt_STRING 34
- #define jt_STRING_CHAR 35
- #define jt_IDENTIFIER 36
- #define jt_NUMBER 37
- #define jt_SYMBOL 38
- #define jt_BUILTINMETHOD 39
- #define jt_HEXNUMBER 40
- #define jt_COMMENT_STAR 42
- #define jt_COMMENT_LINE 43
-
- #define ht_ANCHOR_TAG 50
- #define ht_ANCHOR_START 51
- #define ht_ANCHOR_END 52
-
- #define ht_TABLE_TAG 60
- #define ht_TABLE_START 61
- #define ht_TABLE_END 62
-
- #define ht_IMAGE_TAG 70
- #define ht_IMAGE_START 71
- #define ht_IMAGE_END 72
-
- #define ht_CFML_TAG 80
- #define ht_CFML_START 81
- #define ht_CFML_END 82
-
- #define ht_ASP_TAG 104
- #define ht_HEXNUMBER 105
- #define ht_CFML_COMMENT 106
-
- #define ht_STYLE_TAG 120
- #define ht_STYLE_START 121
- #define ht_STYLE_END 122
-
- #define css_COMMENT 130
- #define css_SELECTOR 131
- #define css_PROPERTY 133
- #define css_VALUE 134
- #define css_OPENBRACKET 135
- #define css_CLOSEBRACKET 136
- #define css_COLON 137
- #define css_SEMICOLON 138
- #define css_PERIOD 140
- #define css_NUMBER 141
- #define css_STRING 142
- #define css_STRING2 143
- #define css_COMMENT_STAR 144
- #define css_HEXNUMBER 145
-
- // ht_PUNCTUATION = brackets in scripts and styles; semi-colons and colons in styles
- #define ht_PUNCTUATION 150
- #define ht_COMMENT_LINE 151
-
- /*--------------------------------------------------------------------------------------------------------------------
- *
- * State definitions
- *
- */
- #define ss_START 0
- #define ss_SCRIPT 2
- #define ss_INTAG 3
- #define ss_INTABLE 4
- #define ss_INANCHOR 5
- #define ss_INIMAGE 6
- #define ss_INCFML 7
- #define ss_INSTYLE 10
-
- #define ss_IN_CSS_SELECTOR 50
- #define ss_IN_CSS_PROPERTY 52
- #define ss_IN_CSS_VALUE 53
-
- /*--------------------------------------------------------------------------------------------------------------------
- *
- * Common script elements
- *
- */
- #define _non_alpha_ '[^_A-Za-z0-9]'
- #define _all_chars_ '[\x01-\xFF]'
- #define _no_chars_ '[]'
- #define _dont_care_ _all_chars_
- #define _DEFAULT_BACKGROUND clWhite
- #define _DEFAULT_FOREGROUND clBlack
-
-
-
- %%language
- Name = 'HTML / JS / VBS'
- Case = __INSENSITIVE
- StartState = [ss_START]
- Anchor = [ht_TAGSTART]
- ContextStates = (jt_BUILTINMETHOD, jt_SYMBOL, jt_RESERVED [ss_SCRIPT])
- ExampleText = '<!-- Comment -->\n\
- \<td><p><a href="link">Plain Text </a>\n\
- \<cfquery>\n\
- \<img src="image" width=15><%asp%>\n\
- \<script="JavaScript">\n\
- \ function DoIt {\n\
- \ var worldString="Hello, world" }\n\
- \</script>\n\
- \<style> headline {font-size: 24pt;} </style>\n'
-
- EditableStyles
- ('Default Text', ht_DEFAULT),
- ('HTML Tags', ht_TAGNAME),
- ('HTML Attributes', ht_ATTRIBUTE),
- ('Comments', ht_COMMENT),
- ('Strings', ht_STRING),
- ('Numbers', ht_NUMBER),
- ('Microsoft ASP Tags', ht_ASP_TAG),
- ('HTML Special Characters', ht_SPECIAL),
- ('HTML Anchor Tags', ht_ANCHOR_TAG),
- ('HTML Image Tags', ht_IMAGE_TAG),
- ('HTML Table Tags', ht_TABLE_TAG),
- ('Script Tags', ht_TAG_SCRIPT),
- ('Allaire Cold Fusion Tags', ht_CFML_TAG),
- ('HTML Style Tags', ht_STYLE_TAG),
- ('Punctuation { } ; :', ht_PUNCTUATION),
- ('JavaScript Keywords', jt_RESERVED),
- ('JavaScript Methods', jt_BUILTINMETHOD),
- ('JavaScript Symbols', jt_SYMBOL),
- ('JavaScript Strings', jt_STRING),
- ('JavaScript Identifiers', jt_IDENTIFIER),
- ('JavaScript Numbers', jt_NUMBER),
- ('StyleSheet Selectors', css_SELECTOR),
- ('StyleSheet Properties', css_PROPERTY),
- ('StyleSheet Values', css_VALUE)
-
-
-
- /*--------------------------------------------------------------------------------------------------------------------
- *
- * Fixed lexeme definitions
- *
- */
- // Column 1 Quoted string giving the characters that make up the word
- // Column 2 Quoted string that specifies how the word is terminated
- // Column 3 Token value returned when word is recognised
- // Column 4 Optional state set in which the word is recognised in any one or more of the given states
- //
-
- %%words
- '<' _dont_care_ ht_TAGSTART [ss_START]
- '</' _dont_care_ ht_TAGSTART [ss_START]
- '>' _dont_care_ ht_TAGEND [ss_INTAG]
- //////////////////////////////////////////////////////////////////////////////////////
- '<!---' _dont_care_ ht_CFML_COMMENT [ss_START]
- '<!--' _dont_care_ ht_COMMENT [ss_START]
- '<!' _dont_care_ ht_TAGSTART [ss_START]
- '<%' _dont_care_ ht_ASP_TAG [ss_START]
- //////////////////////////////////////////////////////////////////////////////////////
- '<a' _non_alpha_ ht_ANCHOR_START [ss_START]
- '</a' _non_alpha_ ht_ANCHOR_START [ss_START]
- '>' _dont_care_ ht_ANCHOR_END [ss_INANCHOR]
- //////////////////////////////////////////////////////////////////////////////////////
- '<img' _non_alpha_ ht_IMAGE_START [ss_START]
- '>' _dont_care_ ht_IMAGE_END [ss_INIMAGE]
- //////////////////////////////////////////////////////////////////////////////////////
- '<cf' _dont_care_ ht_CFML_START [ss_START]
- '</cf' _dont_care_ ht_CFML_START [ss_START]
- '>' _dont_care_ ht_CFML_END [ss_INCFML]
- //////////////////////////////////////////////////////////////////////////////////////
- // TABLES
- //////////////////////////////////////////////////////////////////////////////////////
- '<table' _non_alpha_ ht_TABLE_START [ss_START]
- '<td' _non_alpha_ ht_TABLE_START [ss_START]
- '<th' _non_alpha_ ht_TABLE_START [ss_START]
- '<tr' _non_alpha_ ht_TABLE_START [ss_START]
- '<caption' _non_alpha_ ht_TABLE_START [ss_START]
- '<col' _non_alpha_ ht_TABLE_START [ss_START]
- '<colgroup' _non_alpha_ ht_TABLE_START [ss_START]
- '<tbody' _non_alpha_ ht_TABLE_START [ss_START]
- '<tfoot' _non_alpha_ ht_TABLE_START [ss_START]
- '<thead' _non_alpha_ ht_TABLE_START [ss_START]
- '</table' _non_alpha_ ht_TABLE_START [ss_START]
- '</td' _non_alpha_ ht_TABLE_START [ss_START]
- '</th' _non_alpha_ ht_TABLE_START [ss_START]
- '</tr' _non_alpha_ ht_TABLE_START [ss_START]
- '</caption' _non_alpha_ ht_TABLE_START [ss_START]
- '</col' _non_alpha_ ht_TABLE_START [ss_START]
- '</colgroup' _non_alpha_ ht_TABLE_START [ss_START]
- '</tbody' _non_alpha_ ht_TABLE_START [ss_START]
- '</tfoot' _non_alpha_ ht_TABLE_START [ss_START]
- '</thead' _non_alpha_ ht_TABLE_START [ss_START]
- '>' _dont_care_ ht_TABLE_END [ss_INTABLE]
- //////////////////////////////////////////////////////////////////////////////////////
- // Styles
- //////////////////////////////////////////////////////////////////////////////////////
- '<style' _non_alpha_ ht_STYLE_START [ss_START]
- '</style' _non_alpha_ ht_STYLE_END [ss_INSTYLE]
- '<!--' _dont_care_ css_COMMENT [ss_INSTYLE]
- '-->' _dont_care_ css_COMMENT [ss_INSTYLE]
- '{' _dont_care_ css_OPENBRACKET [ss_INSTYLE]
- '}' _dont_care_ css_CLOSEBRACKET [ss_IN_CSS_PROPERTY ss_IN_CSS_VALUE]
- '.' _dont_care_ css_PERIOD [ss_IN_CSS_SELECTOR]
- ':' _dont_care_ css_COLON [ss_IN_CSS_PROPERTY]
- ';' _dont_care_ css_SEMICOLON [ss_IN_CSS_VALUE]
- '\/*' _dont_care_ css_COMMENT_STAR [ss_INSTYLE]
- '#' _dont_care_ css_HEXNUMBER [ss_IN_CSS_PROPERTY ss_IN_CSS_VALUE]
- //////////////////////////////////////////////////////////////////////////////////////
- // Scripts
- //////////////////////////////////////////////////////////////////////////////////////
- '<script' _non_alpha_ ht_TAG_SCRIPT_START [ss_START]
- '</script' _dont_care_ ht_TAG_SCRIPT_END [ss_SCRIPT]
- '<!--' _dont_care_ ht_COMMENT_LINE [ss_SCRIPT]
- '-->' _dont_care_ ht_COMMENT_END [ss_SCRIPT]
-
- /*--------------------------------------------------------------------------------------------------------------------
- * Fixed lexeme follow on handlers
- */
- %%handler
- ht_COMMENT _all_chars_? '->' _use_
- ht_CFML_COMMENT _all_chars_? '\-\-\-\>' _use_
- ht_COMMENT_LINE '[^\n]'? '\n' _discard_
- css_COMMENT_STAR _all_chars_? '*\/' _use_
-
- ht_ASP_TAG _all_chars_? '\%\>' _use_
- css_HEXNUMBER '[0-9A-Fa-f]' '[^0-9a-fA-F]' _discard_
-
- ht_TAG_SCRIPT_START _all_chars_? '>' _use_
- ht_TAG_SCRIPT_END _all_chars_? '>' _use_
-
- /*--------------------------------------------------------------------------------------------------------------------
- *
- * Variable character tokens
- *
- */
- // Column 1 Token value
- // Column 2 Single start character specifier
- // Column 3 Single contains character specifier
- // Column 4 End sequence specifier
- // Column 5 Whether end sequence is part of lexeme
- // Column 6 Valid states for token
-
- %%tokens
- ht_WHITESPACE '[\x01-\s]' '[\x01-\s]'? '[^\x01-\s]' _discard_ [ss_START]
- ht_PLAIN_ID __STD_IDENTIFIER
- ht_SPECIAL '&' '[^;\n\s]'? '[;\n\s]' _discard_
-
- InState ss_INTAG
- (
- ht_TAGNAME __STD_IDENTIFIER
- ht_ATTRIBUTE __STD_HTML_STRING
- ht_NUMBER __STD_NUMBER_OR_FP
- )
-
- InState ss_INIMAGE
- (
- ht_IMAGE_TAG __STD_IDENTIFIER
- ht_ATTRIBUTE __STD_HTML_STRING
- ht_NUMBER __STD_NUMBER_OR_FP
- )
-
- InState ss_INTABLE
- (
- ht_TABLE_TAG __STD_IDENTIFIER
- ht_ATTRIBUTE __STD_HTML_STRING
- ht_NUMBER __STD_NUMBER_OR_FP
- )
-
- InState ss_INANCHOR
- (
- ht_ANCHOR_TAG __STD_IDENTIFIER
- ht_ATTRIBUTE __STD_HTML_STRING
- ht_NUMBER __STD_NUMBER_OR_FP
- )
-
- InState ss_INCFML
- (
- ht_CFML_TAG __STD_IDENTIFIER
- ht_ATTRIBUTE __STD_HTML_STRING
- ht_NUMBER __STD_NUMBER_OR_FP
- )
-
- InState ss_IN_CSS_SELECTOR
- (
- css_SELECTOR __STD_IDENTIFIER [ss_IN_CSS_SELECTOR]
- )
-
- InState ss_IN_CSS_PROPERTY
- (
- css_PROPERTY __STD_IDENTIFIER [ss_IN_CSS_PROPERTY]
- )
-
- InState ss_IN_CSS_VALUE
- (
- css_VALUE __STD_IDENTIFIER [ss_IN_CSS_VALUE]
- css_STRING __STD_HTML_STRING [ss_IN_CSS_VALUE]
- css_STRING2 __STD_PASCALSTRING [ss_IN_CSS_VALUE]
- css_NUMBER __STD_NUMBER_OR_FP [ss_IN_CSS_VALUE]
- )
-
-
- /********************************************************************************************************************\
- * *
- * J A V A S C R I P T SPECIFIC SCRIPT ITEMS *
- * =========================================== *
- * *
- \********************************************************************************************************************/
-
-
-
- /*--------------------------------------------------------------------------------------------------------------------
- *
- * Fixed lexeme definitions
- *
- */
- %%words
- 'abstract' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'boolean' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'break' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'byte' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'case' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'catch' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'char' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'class' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'const' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'continue' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'default' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'do' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'double' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'else' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'extends' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'false' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'final' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'finally' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'float' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'for' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'function' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'goto' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'if' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'implements' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'import' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'in' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'instanceof' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'int' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'interface' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'long' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'native' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'new' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'null' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'package' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'private' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'protected' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'public' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'return' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'short' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'static' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'super' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'switch' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'synchroniz' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'this' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'throw' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'throws' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'transient' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'true' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'try' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'var' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'void' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'while' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- 'with' _non_alpha_ jt_RESERVED [ss_SCRIPT]
- //
- //
- //
- 'abs' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'acos' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'alert' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'anchor' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'asin' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'atan' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'back' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'big' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'blink' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'blur' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'bold' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'ceil' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'charAt' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'clear' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'clearTimeout' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'click' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'close' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'confirm' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'cos' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'escape' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'eval' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'exp' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'fixed' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'floor' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'focus' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'fontcolor' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'fontsize' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'forward' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'getDate' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'getDay' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'getHours' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'getMinutes' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'getMonth' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'getSeconds' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'getTime' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'getTimezoneOffset' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'getYear' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'go' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'indexOf' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'isNaN' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'italics' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'lastIndexOf' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'link' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'log' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'max' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'min' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'open' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'parse' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'parseFloat' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'parseInt' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'pow' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'prompt' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'random' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'round' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'select' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'setDate' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'setHours' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'setMinutes' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'setMonth' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'setSeconds' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'setTimeout' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'setTime' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'setYear' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'sin' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'small' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'sqrt' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'strike' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'sub' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'submit' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'substring' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'sup' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'tan' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'toGMTString' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'toLocaleString' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'toLowerCase' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'toUpperCase' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'unescape' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'UTC' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'write' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
- 'writeln' _non_alpha_ jt_BUILTINMETHOD [ss_SCRIPT]
-
- ',' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '=' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '+=' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '-=' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '*=' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '/=' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '%=' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '<<=' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '>>=' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '>>>=' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '&=' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '^=' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '|=' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '?:' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '||' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '&&' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '|' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '^' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '&' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '==' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '!=' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '<' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '<=' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '>' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '>=' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '<<' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '>>' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '>>>' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '+' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '-' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '*' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '/' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '%' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '!' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '~' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '++' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '--' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '(' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- ')' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '[' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- ']' _dont_care_ jt_SYMBOL [ss_SCRIPT]
- '.' _dont_care_ jt_SYMBOL [ss_SCRIPT]
-
- '0' '[xX]' jt_HEXNUMBER [ss_SCRIPT]
- '\/\/' _dont_care_ jt_COMMENT_LINE [ss_SCRIPT]
- '\/*' _dont_care_ jt_COMMENT_STAR [ss_SCRIPT]
-
- /*--------------------------------------------------------------------------------------------------------------------
- *
- * Fixed lexeme follow on handlers
- *
- */
- %%handler
- jt_COMMENT_STAR _all_chars_? '*\/' _use_
- jt_COMMENT_LINE __STD_JS_LINE_COMMENT
- jt_HEXNUMBER '[xX0-9A-Fa-f]' '[^0-9a-fA-F]' _discard_
- ht_HEXNUMBER '[0-9A-Fa-f]' '[^0-9a-fA-F]' _discard_
-
-
- /*--------------------------------------------------------------------------------------------------------------------
- *
- * Variable character tokens
- *
- */
- %%tokens
-
- InState ss_SCRIPT
- (
- jt_IDENTIFIER __STD_IDENTIFIER
- jt_STRING __STD_C_STRING
- jt_NUMBER __STD_NUMBER_OR_FP
- jt_WHITESPACE '[\x01-\s]' '[\x01-\s]'? '[^\x01-\s]' _discard_
- ht_PUNCTUATION '[\{\}:]' '[\x01]'? _all_chars_ _discard_
- )
-
-
-
- /*--------------------------------------------------------------------------------------------------------------------
- *
- * Display effects specification
- *
- */
- %%effects
- ht_DEFAULT [] _DEFAULT_FOREGROUND _DEFAULT_BACKGROUND
- ht_TAGNAME [] clNavy _DEFAULT_BACKGROUND*
- ht_COMMENT [fsItalic] clGray _DEFAULT_BACKGROUND*
- ht_ATTRIBUTE [] clBlue _DEFAULT_BACKGROUND*
- ht_STRING [] clBlue _DEFAULT_BACKGROUND*
- ht_NUMBER [] clBlue _DEFAULT_BACKGROUND*
- ht_SPECIAL [fsItalic, fsBold] _DEFAULT_FOREGROUND* _DEFAULT_BACKGROUND*
- ht_ASP_TAG [] _DEFAULT_FOREGROUND* clYellow
- ht_ANCHOR_TAG [] clGreen _DEFAULT_BACKGROUND*
- ht_IMAGE_TAG [] clPurple _DEFAULT_BACKGROUND*
- ht_TABLE_TAG [] clTeal _DEFAULT_BACKGROUND*
- ht_CFML_TAG [] clMaroon _DEFAULT_BACKGROUND*
- ht_TAG_SCRIPT [] clMaroon _DEFAULT_BACKGROUND*
- ht_STYLE_TAG [] clPurple _DEFAULT_BACKGROUND*
- ht_PUNCTUATION [fsBold] clNavy _DEFAULT_BACKGROUND*
- jt_RESERVED [fsBold] clNavy _DEFAULT_BACKGROUND*
- jt_BUILTINMETHOD [fsBold] _DEFAULT_FOREGROUND* _DEFAULT_BACKGROUND*
- jt_SYMBOL [] clBlue _DEFAULT_BACKGROUND*
- jt_STRING [fsItalic] _DEFAULT_FOREGROUND* _DEFAULT_BACKGROUND*
- jt_IDENTIFIER [] _DEFAULT_FOREGROUND* _DEFAULT_BACKGROUND*
- jt_NUMBER [] clFuchsia _DEFAULT_BACKGROUND*
- css_SELECTOR [] clFuchsia _DEFAULT_BACKGROUND*
- css_PROPERTY [] clNavy _DEFAULT_BACKGROUND*
- css_VALUE [] clRed _DEFAULT_BACKGROUND*
- /*--------------------------------------------------------------------------------------------------------------------
- *
- * State switching definitions
- *
- */
- %%states
- ht_TAG_SCRIPT_START (+[ss_SCRIPT] -[ss_START ss_INTAG])
- ht_TAG_SCRIPT_END (+[ss_START] -[ss_SCRIPT])
- ht_COMMENT_END (+[ss_START] -[ss_SCRIPT])
-
- ht_TAGSTART (+[ss_INTAG])
- ht_TAGEND (-[ss_INTAG])
-
- ht_TABLE_START (+[ss_INTABLE])
- ht_TABLE_END (-[ss_INTABLE])
-
- ht_ANCHOR_START (+[ss_INANCHOR])
- ht_ANCHOR_END (-[ss_INANCHOR])
-
- ht_IMAGE_START (+[ss_INIMAGE])
- ht_IMAGE_END (-[ss_INIMAGE])
-
- ht_CFML_START (+[ss_INCFML])
- ht_CFML_END (-[ss_INCFML])
-
- ht_STYLE_START (+[ss_INSTYLE ss_IN_CSS_SELECTOR] -[ss_SCRIPT ss_START])
- ht_STYLE_END (+[ss_START] -[ss_INSTYLE ss_IN_CSS_SELECTOR ss_IN_CSS_VALUE ss_IN_CSS_PROPERTY])
-
- css_OPENBRACKET (+[ss_IN_CSS_PROPERTY] -[ss_IN_CSS_VALUE ss_IN_CSS_SELECTOR])
- css_CLOSEBRACKET (+[ss_IN_CSS_SELECTOR] -[ss_IN_CSS_PROPERTY ss_IN_CSS_VALUE])
- css_COLON (+[ss_IN_CSS_VALUE] -[ss_IN_CSS_PROPERTY ss_IN_CSS_SELECTOR])
- css_SEMICOLON (+[ss_IN_CSS_PROPERTY] -[ss_IN_CSS_VALUE ss_IN_CSS_SELECTOR])
-
- %%map
- ht_DEFAULT ht_DEFAULT
-
- ht_TAGNAME ht_TAGNAME
- ht_TAGSTART ht_TAGNAME
- ht_TAGEND ht_TAGNAME
- ht_ATTRIBUTE ht_ATTRIBUTE
-
- ht_COMMENT ht_COMMENT
- ht_CFML_COMMENT ht_COMMENT
- ht_STRING ht_STRING
- ht_IDENTIFIER ht_TAGNAME
- ht_NUMBER ht_NUMBER
- ht_SPECIAL ht_SPECIAL
- ht_TAG_SCRIPT ht_TAG_SCRIPT
- ht_TAG_SCRIPT_END ht_TAG_SCRIPT
- ht_TAG_SCRIPT_START ht_TAG_SCRIPT
- ht_COMMENT_END ht_COMMENT
- ht_PLAIN_ID ht_DEFAULT
- ht_ASP_TAG ht_ASP_TAG
- ht_HEXNUMBER ht_NUMBER
- ht_WHITESPACE ht_DEFAULT
-
- ht_CFML_TAG ht_CFML_TAG
- ht_CFML_START ht_CFML_TAG
- ht_CFML_END ht_CFML_TAG
-
- ht_IMAGE_TAG ht_IMAGE_TAG
- ht_IMAGE_START ht_IMAGE_TAG
- ht_IMAGE_END ht_IMAGE_TAG
-
- ht_ANCHOR_TAG ht_ANCHOR_TAG
- ht_ANCHOR_START ht_ANCHOR_TAG
- ht_ANCHOR_END ht_ANCHOR_TAG
-
- ht_TABLE_TAG ht_TABLE_TAG
- ht_TABLE_START ht_TABLE_TAG
- ht_TABLE_END ht_TABLE_TAG
-
- ht_STYLE_TAG ht_STYLE_TAG
- ht_STYLE_START ht_STYLE_TAG
- ht_STYLE_END ht_STYLE_TAG
- ht_COMMENT_LINE ht_COMMENT
- ht_PUNCTUATION ht_PUNCTUATION
-
- jt_RESERVED jt_RESERVED
- jt_STRING jt_STRING
- jt_COMMENT ht_COMMENT
- jt_IDENTIFIER jt_IDENTIFIER
- jt_COMMENT_STAR ht_COMMENT
- jt_COMMENT_LINE ht_COMMENT
- jt_STRING jt_STRING
- jt_STRING_CHAR jt_STRING
- jt_BUILTINMETHOD jt_BUILTINMETHOD
- jt_HEXNUMBER jt_NUMBER
- jt_NUMBER jt_NUMBER
- jt_IDENTIFIER jt_IDENTIFIER
- jt_WHITESPACE ht_DEFAULT
- jt_SYMBOL jt_SYMBOL
-
- css_SELECTOR css_SELECTOR
- css_PROPERTY css_PROPERTY
- css_VALUE css_VALUE
- css_NUMBER ht_NUMBER
- css_HEXNUMBER ht_NUMBER
- css_STRING ht_STRING
- css_STRING2 ht_STRING
- css_OPENBRACKET ht_PUNCTUATION
- css_CLOSEBRACKET ht_PUNCTUATION
- css_PERIOD ht_PUNCTUATION
- css_COLON ht_PUNCTUATION
- css_SEMICOLON ht_PUNCTUATION
- css_COMMENT_STAR ht_COMMENT
- css_COMMENT ht_COMMENT