lectures.alex.balgavy.eu

Lecture notes from university.
git clone git://git.alex.balgavy.eu/lectures.alex.balgavy.eu.git
Log | Files | Refs | Submodules

syntax_test_asp.asp (57003B)


      1 ' SYNTAX TEST "Packages/ASP/HTML-ASP.sublime-syntax"
      2 <!DOCTYPE html>
      3 <html>
      4 '<- meta.tag.structure.any.html punctuation.definition.tag.begin.html - source.asp.embedded.html
      5 '^^^^ meta.tag.structure.any.html entity.name.tag.structure.any.html
      6 '    ^ meta.tag.structure.any.html punctuation.definition.tag.end.html
      7  <%@ TRANSACTION = Required %>
      8 '^^ punctuation.section.embedded.begin.asp
      9 '    ^^^^^^^^^^^ constant.language.processing-directive.asp
     10 '                ^ punctuation.separator.key-value.asp
     11 '                           ^^ punctuation.section.embedded.end.asp
     12 <%
     13    @language = VBScript ENABLESESSIONSTATE=False @@LCID=1033
     14 '   ^^^^^^^^ constant.language.processing-directive.asp
     15 '            ^ punctuation.separator.key-value.asp
     16 '                       ^^^^^^^^^^^^^^^^^^ constant.language.processing-directive.asp
     17 '                                         ^ punctuation.separator.key-value.asp
     18 '                                                  ^^^^ constant.language.processing-directive.asp
     19 '                                                      ^ punctuation.separator.key-value.asp
     20 ' comments are not supported here
     21 '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - comment
     22 %>
     23 <% @
     24                  transaction
     25 '                ^^^^^^^^^^^ constant.language.processing-directive.asp
     26 = required
     27 '<- punctuation.separator.key-value.asp
     28 %>
     29 <% transaction=required %>
     30 '  ^^^^^^^^^^^ variable.other.asp - constant.language.processing-directive.asp
     31 <head>
     32 '<- meta.tag
     33     <title>ASP Test Page: <%=Request.ServerVariables("SCRIPT_NAME")%></title>
     34     '                     ^^^ punctuation.section.embedded.begin.asp - source.asp
     35     '                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.asp
     36     '                        ^^^^^^^ support.class.asp
     37     '                               ^ punctuation.accessor.dot.asp
     38     '                                ^^^^^^^^^^^^^^^ support.class.collection.asp
     39     '                                                              ^^ punctuation.section.embedded.end.asp - source.asp
     40     '                                                                ^^^^^^^^ meta.tag
     41 </head>
     42 <body>
     43     <%
     44    '^^ punctuation.section.embedded.begin.asp
     45     'this is a comment
     46    '^ punctuation.definition.comment.asp
     47    '^^^^^^^^^^^^^^^^^^^ comment.line.apostrophe.asp
     48     
     49     Option Explicit
     50    '^^^^^^^^^^^^^^^ keyword
     51     
     52     Class TestClass
     53    '^^^^^^^^^^^^^^^ meta.class.asp meta.class.identifier.asp - meta.class.body.asp
     54    '^^^^^ storage.type.asp
     55    '      ^^^^^^^^^ meta.class.asp meta.class.identifier.asp entity.name.class.asp
     56         ' comment
     57        '^^^^^^^^^^ comment.line.apostrophe.asp
     58        '<- meta.class.body.asp - meta.class.identifier.asp
     59         Private m_NameVar
     60        '^^^^^^^ storage.modifier.asp - meta.method.identifier.asp
     61        '        ^^^^^^^^^ variable.other.asp
     62         Private m_CategoryVar
     63         Public Const a = 2e-3, b2="c""": const c = 4, const =
     64        '^^^^^^^^^^^^ storage.modifier.asp
     65        '             ^ entity.name.constant.asp
     66        '               ^ keyword.operator.assignment.asp
     67        '                 ^^^^ constant.numeric.float.decimal.asp
     68        '                     ^ punctuation.separator.variable-declaration.asp
     69        '                       ^^ entity.name.constant.asp
     70        '                         ^ keyword.operator.assignment.asp
     71        '                          ^^^^^ string.quoted.double.asp
     72        '                               ^ punctuation.terminator.statement.asp
     73        '                                 ^^^^^ storage.modifier.asp
     74        '                                              ^^^^^ invalid.illegal.name.asp - entity.name.constant.asp
     75 '<- - invalid.illegal.unexpected-token.asp
     76         Const d = &HAB
     77        '^^^^^ storage.modifier.asp
     78        '          ^^^^ constant.numeric.integer.hexadecimal.asp
     79        '          ^^ punctuation.definition.numeric.hexadecimal.asp
     80         Const e = "I am an unclosed string
     81         '         ^^^^^^^^^^^^^^^^^^^^^^^^ string.quoted.double.asp
     82         '                                 ^ invalid.illegal.unclosed-string.asp
     83 '<- - invalid.illegal.unclosed-string.asp
     84         
     85         private sub Class_Initialize ()
     86        '^^^^^^^ storage.modifier.asp
     87        '        ^^^ storage.type.function.asp
     88        '            ^^^^^^^^^^^^^^^^ support.function.magic.event.asp
     89             m_NameVar = ""
     90            '^^^^^^^^^ variable.other.asp
     91            '            ^ punctuation.definition.string.begin.asp
     92            '             ^ punctuation.definition.string.end.asp
     93            '            ^^ string.quoted.double.asp
     94            '              ^ - string
     95         End Sub
     96         
     97         Public Property Get Name()
     98        '^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.method.asp meta.method.identifier.asp
     99        '^^^^^^ storage.modifier.asp
    100        '       ^^^^^^^^^^^^ storage.type.function.asp
    101        '                    ^^^^ entity.name.function.asp
    102        '                        ^ punctuation.section.parens.begin.asp - entity.name.function.asp
    103        '                         ^ punctuation.section.parens.end.asp
    104             Name = m_NameVar
    105 '<- meta.method.asp meta.method.body.asp - meta.method.identifier.asp
    106         End Property
    107        '^^^^^^^^^^^^ meta.method.asp
    108        '^^^^^^^^^^^^ storage.type.function.end.asp
    109        '            ^ - meta.method.asp - meta.method.body.asp - storage.type.function.end.asp
    110         
    111         public property let Name(nameParam)
    112        '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.method.asp meta.method.identifier.asp
    113        '^^^^^^ storage.modifier.asp
    114        '       ^^^^^^^^^^^^ storage.type.function.asp
    115        '                    ^^^^ entity.name.function.asp - storage.type.function.asp
    116        '                        ^ punctuation.section.parens.begin.asp - entity.name.function.asp
    117        '                         ^^^^^^^^^ variable.parameter.function.asp
    118        '                                  ^ punctuation.section.parens.end.asp
    119             m_NameVar = nameParam
    120         End Property
    121         
    122         Public Property Get Category
    123        '^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.method.asp meta.method.identifier.asp
    124        '       ^^^^^^^^^^^^ storage.type.function.asp
    125        '                    ^^^^^^^^ entity.name.function.asp
    126             Category = m_CategoryVar
    127 '<- meta.method.asp meta.method.body.asp - meta.method.identifier.asp
    128         End Property
    129         
    130         Property Let Category(categoryParam
    131        '^^^^^^^^^^^^^^^^^^^^^ meta.method.asp meta.method.identifier.asp
    132        '^^^^^^^^^^^^ storage.type.function.asp
    133        '             ^^^^^^^^ entity.name.function.asp
    134        '                     ^ punctuation.section.parens.begin.asp
    135        '                      ^^^^^^^^^^^^^ variable.parameter.function.asp
    136        '                                   ^ invalid.illegal.unexpected-end-of-statement.asp
    137             m_CategoryVar = categoryParam
    138 '<- meta.method.asp meta.method.body.asp - meta.method.identifier.asp
    139         End Property
    140        '^^^^^^^^^^^^ meta.method.asp
    141        '^^^^^^^^^^^^ storage.type.function.end.asp
    142        '            ^ - meta.method.asp - meta.method.body.asp - storage.type.function.end.asp
    143         
    144         Private Property Set Category(categoryParam) Set m_CategoryVar = categoryParam End Property
    145        '^^^^^^^ storage.modifier.asp
    146        '        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.class.asp meta.class.body.asp meta.method.asp meta.method.identifier.asp - meta.method.identifier.asp meta.method.identifier.asp - meta.method.body.asp
    147        '        ^^^^^^^^^^^^ storage.type.function.asp
    148        '                     ^^^^^^^^ entity.name.function.asp
    149        '                             ^ punctuation.section.parens.begin.asp
    150        '                              ^^^^^^^^^^^^^ variable.parameter.function.asp
    151        '                                           ^ punctuation.section.parens.end.asp
    152        '                 ^^^ storage.type.function.asp - keyword - storage.type.asp
    153        '                                            ^ meta.method.asp meta.method.body.asp - meta.method.identifier.asp
    154        '                                                                               ^^^^^^^^^^^^ storage.type.function.end.asp
    155        '                                                                                           ^ - meta.method
    156         
    157         Public Default Function Go rem no parens
    158        '^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.method.asp meta.method.identifier.asp
    159        '^^^^^^^^^^^^^^ storage.modifier.asp
    160        '               ^^^^^^^^ storage.type.function.asp
    161        '                        ^^ entity.name.function.asp
    162        '                           ^^^^^^^^^^^^^ comment.line.rem.asp
    163             Go = "going... going... gone!"
    164 '<- meta.method.asp meta.method.body.asp - meta.method.identifier.asp
    165            '^^ - invalid
    166            '   ^ keyword.operator.asp
    167         End Function
    168        '^^^^^^^^^^^^ meta.method.asp
    169        '^^^^^^^^^^^^ storage.type.function.end.asp
    170        '            ^ - meta.method
    171         
    172         Sub Test123:Call DoSomething:End Sub
    173        '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.method.asp
    174        '^^^ meta.method.asp meta.method.identifier.asp storage.type.function.asp
    175        '    ^^^^^^^ meta.method.identifier.asp entity.name.function.asp
    176        '           ^ punctuation.terminator.statement.asp
    177        '            ^^^^^^^^^^^^^^^^ meta.method.body.asp
    178        '                             ^^^^^^^ storage.type.function.end.asp
    179        '                                    ^ - meta.method
    180         
    181         Class SubClass ' nested classes are not allowed
    182 '<- - invalid.illegal.unexpected-token.asp
    183        '^^^^^ invalid.illegal.unexpected-token.asp
    184        '      ^^^^^^^^ invalid.illegal.unexpected-token.asp
    185        '               ^ comment.line.apostrophe.asp - invalid.illegal.unexpected-token.asp
    186         
    187         Sub Test1234 Set x = y
    188                     '^^^ invalid.illegal.unexpected-token.asp
    189         End Sub
    190        '^^^^^^^ meta.class.asp meta.method.asp storage.type.function.end.asp
    191         
    192         code_in_class_definition_but_outside_of_a_method = "invalid"
    193        '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ invalid.illegal.unexpected-token.asp
    194        '                                                 ^ invalid.illegal.unexpected-token.asp
    195        '                                                   ^^^^^^^^^ invalid.illegal.unexpected-token.asp
    196     End Class
    197    '^^^^^^^^^ storage.type.class.end.asp
    198    '^^^^^^^^^ meta.class.body.asp
    199    '         ^ - storage.type.class.end.asp - meta.class.body.asp
    200     
    201     Const blah = _
    202     
    203                  "blah"rem-"testing"
    204     '            ^^^^^^ string.quoted.double.asp
    205     '                  ^^^^^^^^^^^^^^ comment.line.rem.asp - string
    206     
    207     Class TestClass2 Public Sub TestSub () Response.Write("wow") End Sub End Class
    208    '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.class.asp
    209    '^^^^^^^^^^^^^^^^ meta.class.identifier.asp - meta.class.body.asp - meta.class.identifier.asp meta.class.identifier.asp
    210    '^^^^^ storage.type.asp
    211    '      ^^^^^^^^^^ entity.name.class.asp
    212    '                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.class.body.asp - meta.class.identifier.asp
    213    '                 ^^^^^^^^^^^^^^^^^^^^^ meta.method.asp meta.method.identifier.asp
    214    '                 ^^^^^^ storage.modifier.asp
    215    '                        ^^^ storage.type.function.asp
    216    '                            ^^^^^^^ entity.name.function.asp
    217    '                                    ^^ punctuation.section.parens - meta.method.identifier.asp meta.method.identifier.asp
    218    '                                      ^ meta.method.asp meta.method.body.asp - meta.method.identifier.asp
    219    '                                                             ^^^^^^ storage.type.function.end.asp
    220    '                                                                     ^^^^^^^^^ meta.class.body.asp
    221    '                                                                     ^^^^^^^^^ storage.type.class.end.asp
    222    '                                                                              ^ - meta.class
    223     
    224     Const abc = 'fgfg
    225    '^^^^^ storage.modifier.asp
    226    '      ^^^ entity.name.constant.asp
    227     Private a, b
    228    '^^^^^^^ storage.modifier.asp
    229    '        ^ variable.other.asp
    230    '         ^ punctuation.separator.variable-declaration.asp
    231    '           ^ variable.other.asp
    232     Set a = new TestClass
    233    '^^^ keyword.other.set.asp - storage.type.function.asp
    234    '    ^ variable.other.asp
    235    '        ^^^ keyword.other.new.asp
    236     a.Name = blah
    237    '^ variable.other.asp
    238    ' ^ punctuation.accessor.dot.asp
    239     
    240     Function GetModifiedDate(path) ' test function
    241    '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.method.asp meta.method.identifier.asp
    242    '                               ^ punctuation.definition.comment.asp
    243    '                               ^^^^^^^^^^^^^^^^ comment.line.apostrophe.asp
    244    '                              ^ - meta.method.identifier.asp
    245    '^^^^^^^^ storage.type.function.asp
    246    '         ^^^^^^^^^^^^^^^ entity.name.function.asp
    247    '                        ^ punctuation.section.parens.begin.asp
    248    '                         ^^^^ variable.parameter.function.asp
    249    '                             ^ punctuation.section.parens.end.asp
    250         On Error Resume Next
    251 '<- meta.method.body.asp - comment
    252        '^^^^^^^^^^^^^^^^^^^^ storage.type.asp
    253         Set fs = Server.CreateObject("Scripting.FileSystemObject")
    254        '^^^ keyword.other.set.asp
    255        '       ^ keyword.operator.asp
    256        '         ^^^^^^ support.class.asp
    257        '               ^ punctuation.accessor.dot.asp
    258        '                ^^^^^^^^^^^^ support.function
    259        '                             ^ punctuation.definition.string.begin.asp
    260        '                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ string.quoted.double.asp - punctuation.accessor.dot.asp
    261        '                                                        ^ punctuation.definition.string.end.asp
    262         With fs
    263        '^^^^ keyword.control.flow.asp
    264        '     ^^ variable.other.asp
    265        '       ^ meta.with.block.asp
    266             Set rs = .GetFile(Server.MapPath(path))
    267            '         ^ meta.with.block.asp punctuation.accessor.dot.asp
    268            '                        ^ meta.with.block.asp punctuation.accessor.dot.asp
    269             GetModifiedDate = rs.DateLastModified
    270             Set rs = Nothing
    271            '^^^ keyword.other.set.asp
    272            '       ^ keyword.operator.asp
    273            '         ^^^^^^^ storage.type.asp
    274             .Close
    275            '^ punctuation.accessor.dot.asp
    276            ' ^^^^^ variable
    277             . Close
    278            '^ punctuation.accessor.dot.asp
    279            ' ^ - invalid
    280            '  ^^^^^ variable
    281         End With
    282        '^^^^^^^^ keyword.control.flow.asp
    283        '        ^ - meta.with.block.asp
    284        
    285         Set fs = Nothing
    286         On Error Goto 0
    287        '^^^^^^^^^^^^^^^ storage.type.asp
    288        '               ^ - storage.type.asp
    289     End Function
    290    '^^^^^^^^^^^^ storage.type.function.end.asp
    291     
    292     modified = GetModifiedDate("demo_lastmodified.asp")
    293    '           ^^^^^^^^^^^^^^^ variable
    294     
    295     Sub Example ()
    296    '^^^^^^^^^^^^^^ meta.method.asp meta.method.identifier.asp
    297    '^^^ storage.type.function.asp
    298    '    ^^^^^^^ entity.name.function.asp
    299    '           ^ - entity.name.function.asp
    300    '            ^^ punctuation.section.parens
    301         div = 4
    302        '    ^ keyword.operator.asp
    303        '      ^ constant.numeric
    304        
    305         If 1<div And 2>1 Then ' if block
    306        '^^ keyword.control.flow.asp
    307        '  ^^^^^^^^^^^^^^^ meta.between-if-and-then.asp
    308        '    ^ keyword.operator.asp - punctuation.definition.tag.begin.html
    309        '         ^^^ keyword.operator.logical.asp
    310        '              ^ keyword.operator.asp - punctuation.definition.tag.end.html
    311        '                 ^^^^ keyword.control.flow.asp
    312        '                     ^ meta.if.block.asp
    313             Exit Sub
    314            '^^^^^^^^ keyword.control.flow.asp
    315         ElseIf "abc>"<>"def= then " Then
    316        '^^^^^^ keyword.control.flow.asp
    317        '      ^^^^^^^^^^^^^^^^^^^^^^ meta.between-if-and-then.asp
    318        '           ^ string.quoted.double.asp - keyword.operator.asp
    319        '             ^^ keyword.operator.asp
    320        '                   ^ string.quoted.double.asp - keyword.operator
    321        '                     ^^^^ string.quoted.double.asp - keyword.control.flow.asp
    322        '                            ^^^^ keyword.control.flow.asp
    323        '                                ^ meta.if.block.asp
    324         ElseIf new TestClass Then
    325        '       ^^^ keyword.other.new.asp
    326        '           ^^^^^^^^^ variable
    327         Else
    328        '^^^^ keyword.control.flow.asp
    329        '    ^ meta.if.block.asp
    330             example = example - 1
    331             '                 ^ keyword.operator.asp
    332             example -= 1
    333             '       ^^ invalid.illegal.unexpected-token.asp
    334             example = example \ 5
    335             '                 ^ keyword.operator.asp
    336         End If
    337        '^^^^^^ keyword.control.flow.asp
    338        '      ^ - meta.if.block.asp
    339     End Sub
    340    '^^^^^^^ storage.type.function.end.asp
    341     
    342     If 1 _
    343        = 2 Then Call DoSomething
    344     '      ^^^^ keyword.control.flow.asp
    345     '          ^^^^^^^^^^^^^^^^^ meta.if.line.asp - meta.if.block.asp
    346     '           ^^^^ keyword.other.call.asp
    347     '                ^^^^^^^^^^^ variable
    348     '                           ^ - meta.if.line.asp
    349     
    350     Function IIf(expr, true_part, false_part) ' https://support.microsoft.com/en-us/kb/219271
    351     '            ^^^^ variable.parameter.function.asp
    352     '                  ^^^^^^^^^ variable.parameter.function.asp
    353     '                             ^^^^^^^^^^ variable.parameter.function.asp
    354         If expr Then IIf = true_part Else IIf = false_part
    355         '           ^^^^^^^^^^^^^^^^^ meta.if.line.asp
    356         '             ^^ - keyword.control.flow.asp
    357         '                                ^^^^^^^^^^^^^^^^^ meta.if.line.asp
    358         '                                                 ^ - meta.if.line.asp
    359     End Function
    360     
    361     If a is not nothing then a.b = a.b + 2
    362     '    ^^^^^^ invalid.illegal.unexpected-token.asp
    363     '           ^^^^^^^ storage.type.asp
    364     '                   ^^^^ keyword.control.flow.asp
    365     ' ^^^^^^^^^^^^^^^^^^ meta.between-if-and-then.asp
    366     '                       ^^^^^^^^^^^^^^ meta.if.line.asp
    367     '                                     ^ - meta.if.line.asp
    368     If not a is nothing then a.b = a.b + 2
    369     ' ^^^^^^^^^^^^^^^^^^ meta.between-if-and-then.asp
    370     '                       ^^^^^^^^^^^^^^ meta.if.line.asp
    371     '                        ^ variable.other.asp
    372     '                         ^ punctuation.accessor.dot.asp
    373     '                          ^ variable
    374     '                                     ^ - meta.if.line.asp
    375     '        ^^^^^^ - invalid
    376     '        ^^ keyword.operator.logical.asp
    377     '           ^^^^^^^ storage.type.asp
    378     
    379     If a Then
    380         '    ^ meta.if.block.asp - meta.if.line.asp
    381         DoSomething ( invalid_token_inside_parens, 2, if )
    382        '                                              ^^ invalid.illegal.unexpected-token.literal.asp
    383        '^^^^^^^^^^^ variable
    384        '            ^ punctuation.section.parens.begin.asp
    385        '                                                 ^ punctuation.section.parens.end.asp
    386     ElseIf a = b Then AnotherSomething ' despite this being on the same line as the ElseIf, the End If is still required because the opening if statement was a block
    387     '                ^ meta.if.block.asp - meta.if.line.asp
    388     Else DoSomethingElse ' despite this being on the same line as the Else, the End If is still required because the opening if statement was a block
    389    '^^^^ keyword.control.flow.asp
    390    '    ^^^^^^^^^^^^^^^^ meta.if.block.asp
    391     End If
    392    '      ^ - meta.if.block.asp
    393     
    394     If a Then Call
    395     
    396     Dim str1_ REM example
    397    '^^^ storage.modifier.asp
    398    '       ^ - constant.numeric.asp
    399    '        ^ - punctuation.separator.continuation.line.asp
    400    '          ^^^ punctuation.definition.comment.asp
    401    '          ^^^^^^^^^^^^ comment.line.rem.asp
    402     str1 = "this is a ""hello-world""" & " " &"""" + "test" +_ 'continue on next line, comments not allowed here
    403 '<- - comment.line.rem.asp
    404     '                 ^^ string.quoted.double.asp constant.character.escape.apostrophe.asp
    405     '                        ^ string.quoted.double.asp - keyword.operator.asp
    406     '                              ^^ string.quoted.double.asp constant.character.escape.apostrophe.asp - punctuation.definition.string.end.asp
    407     '                                ^ string.quoted.double.asp punctuation.definition.string.end.asp
    408     '                                  ^ keyword.operator.asp
    409     '                                    ^^^ string.quoted.double.asp
    410     '                                        ^ keyword.operator.asp
    411     '                                         ^^^^ string.quoted.double.asp
    412     '                                          ^^ constant.character.escape.apostrophe.asp - punctuation.definition.string.end.asp
    413     '                                              ^ keyword.operator.asp
    414     '                                                        ^ punctuation.separator.continuation.line.asp
    415     '                                                          ^^^^^^^^^^^^^ invalid.illegal.expected-end-of-line.asp - comment
    416                 Chr(34) & vbCrLf _ +
    417     '           ^^^ support.function.vb.asp
    418     '              ^ punctuation.section.parens.begin.asp
    419     '                 ^ punctuation.section.parens.end.asp
    420     '                     ^^^^^^ support.type.vb.asp
    421     '                            ^ punctuation.separator.continuation.line.asp
    422     '                              ^ invalid.illegal.expected-end-of-line.asp
    423     
    424     value = 1/2
    425     '        ^ keyword.operator.asp
    426     value = &HFF mod 3
    427     '       ^^^^ constant.numeric.integer.hexadecimal.asp
    428     '            ^^^ keyword.operator.asp
    429     Select Case call value:Case 1
    430    '^^^^^^^^^^^ keyword.control.flow.asp
    431    '            ^^^^ meta.select.block.asp invalid.illegal.unexpected-token.literal.asp
    432    '                      ^ meta.select.block.asp punctuation.terminator.statement.asp
    433    '                       ^^^^ keyword.control.flow.asp
    434         Case 2
    435        '^^^^ keyword.control.flow.asp
    436 '<- meta.select.block.asp
    437         Case
    438         Case vbNullString
    439        '^^^^ keyword.control.flow.asp
    440         '    ^^^^^^^^^^^^ support.type.vb.asp
    441         Case Else
    442        '^^^^^^^^^ keyword.control.flow.asp
    443             If value >= 4 and Value<=5 Then MsgBox("no end if required here")
    444             '        ^^ keyword.operator.asp
    445             '                      ^^ keyword.operator.asp
    446             '                               ^^^^^^ support.function.vb.asp
    447             If Not (value Is Nothing) then valueis = vbFalse
    448             '  ^^^ keyword.operator.logical.asp
    449             '      ^ punctuation.section.parens.begin.asp
    450             '             ^^ keyword.operator.logical.asp
    451             '                       ^ punctuation.section.parens.end.asp
    452             '                                   ^^ - keyword.operator
    453             '                                        ^^^^^^^ support.type.vb.asp
    454 '<- meta.select.block.asp
    455     End Select
    456    '^^^^^^^^^^ keyword.control.flow.asp
    457    '          ^ - meta.select.block.asp
    458     'the underscore in this comment should be ignored _ as should the colon :
    459     '                                                 ^ comment.line.apostrophe.asp - keyword - invalid - punctuation
    460     '                                                                       ^ comment.line.apostrophe.asp - keyword - punctuation - invalid
    461     
    462     Sub Test _
    463  _ '         ^ punctuation.separator.continuation.line.asp
    464  _ '^^^ storage.type.function.asp
    465  _ '    ^^^^ entity.name.function.asp
    466  _ '^^^^^^^^^ meta.method.asp meta.method.identifier.asp
    467             (_
    468  _ '        ^ meta.method.asp meta.method.identifier.asp punctuation.section.parens.begin.asp
    469  _ '         ^ punctuation.separator.continuation.line.asp
    470              abc, ByRef def _
    471  _          '^^^ meta.method.asp meta.method.identifier.asp variable.parameter.function.asp
    472  _          '   ^ meta.method.asp meta.method.identifier.asp punctuation.separator.parameter-declaration.asp
    473  _          '     ^^^^^ meta.method.asp meta.method.identifier.asp storage.modifier.reference.asp
    474  _          '           ^^^ meta.method.asp meta.method.identifier.asp variable.parameter.function.asp
    475  _          '               ^ meta.method.asp meta.method.identifier.asp punctuation.separator.continuation.line.asp
    476              )
    477             '^ meta.method.asp meta.method.identifier.asp punctuation.section.parens.end.asp
    478         
    479         Dim x _
    480            ,y()
    481         '    ^^ meta.array.definition.asp punctuation.section.array
    482         a)
    483         '^ invalid.illegal.stray-close-bracket.asp
    484         a(
    485         ReDim arr(2,b)
    486        '^^^^^ storage.modifier.asp
    487        '      ^^^ variable.other.asp
    488        '         ^^^^^ meta.array.definition.asp
    489        '          ^ constant.numeric
    490        '           ^ punctuation.separator.array.asp
    491        '            ^ variable.other.asp - invalid - constant.numeric
    492        '             ^ punctuation.section.array.end.asp
    493         
    494         ReDim arr(dim, other)
    495         '         ^^^ invalid.illegal
    496         '        ^ - invalid
    497         '            ^^^^^^^^ - invalid
    498         ReDim Dim(2,4)
    499         '     ^^^ invalid.illegal.name.asp
    500         
    501 '<- - invalid
    502 
    503         Dim a(0,&H5&)
    504         '    ^^^^^^^ meta.array.definition.asp
    505         '    ^ punctuation.section.array.begin.asp
    506         '     ^ constant.numeric
    507         '      ^ punctuation.separator.array.asp
    508         '       ^^^^ constant.numeric.integer.hexadecimal.asp
    509         '       ^^ punctuation.definition.numeric.hexadecimal.asp
    510         '          ^ punctuation.definition.numeric.hexadecimal.asp
    511         '           ^ punctuation.section.array.end.asp
    512         b = a Is Empty : Dim loop,nope : Dim foobar
    513        '^^^^^^^^^^^^^^^^^^^^^ - invalid.illegal.unexpected-token.asp - invalid.illegal.name.asp
    514        '                               ^^^^^^^^^^^^^ - invalid
    515         '              ^ punctuation.terminator.statement.asp
    516         '                ^^^ storage.modifier.asp
    517         '                    ^^^^ invalid.illegal.name.asp - variable.other.asp
    518         '                              ^ punctuation.terminator.statement.asp
    519         '                                ^^^ storage.modifier.asp
    520         Dim hello_world, 2
    521         '                ^ invalid.illegal.unexpected-token.asp - variable
    522         '                 ^ - invalid
    523         
    524         ReDim Preserve arr ( &HA,c)
    525        '^^^^^^^^^^^^^^ storage.modifier.asp
    526        '               ^^^ variable.other.asp
    527        '                   ^^^^^^^^ meta.array.definition.asp
    528        '                   ^ punctuation.section.array.begin.asp
    529        '                     ^^^ constant.numeric.integer.hexadecimal.asp
    530        '                        ^ punctuation.separator.array.asp
    531        '                          ^ punctuation.section.array.end.asp
    532         For x = LBound(a) to UBound(a) Step 2 'test
    533        '^^^ keyword.control.flow.asp
    534        '    ^ variable.other.asp
    535        '      ^ keyword.operator.asp
    536        '        ^^^^^^ support.function.vb.asp
    537        '              ^ punctuation.section.parens.begin.asp
    538        '               ^ variable.other.asp
    539        '                ^ punctuation.section.parens.end.asp
    540        '                           ^ punctuation.section.parens.begin.asp
    541        '                            ^ variable.other.asp
    542        '                             ^ punctuation.section.parens.end.asp
    543        '                  ^^ keyword.control.flow.asp
    544        '                     ^^^^^^ support.function.vb.asp
    545        '                               ^^^^ keyword.control.flow.asp
    546        '                                    ^ constant.numeric
    547        '                                     ^ meta.for.block.asp
    548        '                                      ^^^^^^ comment.line.apostrophe.asp
    549             a(x) = x * 10
    550            '^ variable.other.asp
    551            '  ^ variable.other.asp
    552            ' ^ punctuation.section.parens.begin.asp - variable.other.asp
    553            '   ^ punctuation.section.parens.end.asp - variable.other.asp
    554            '       ^ variable.other.asp
    555            '         ^ keyword.operator.asp
    556         Next
    557        '^^^^ keyword.control.flow.asp
    558        '    ^ - meta.for.block.asp
    559     End Sub
    560     
    561     Sub NoParens fg
    562     '   ^^^^^^^^ meta.method.asp meta.method.identifier.asp entity.name.function.asp
    563     '            ^^ invalid.illegal.unexpected-token.asp - meta.method.identifier.asp
    564     End Sub
    565     
    566     Function NoParams'()
    567    '^^^^^^^^^^^^^^^^^ meta.method.asp meta.method.identifier.asp
    568    '         ^^^^^^^^ entity.name.function.asp
    569    '                 ^^^ comment.line.apostrophe.asp - entity.name.function.asp - invalid.illegal.unexpected-token-after-method-declaration.asp - punctuation.section.parens
    570         NoParams = InStr(1, "hello_'", "L", vbTextCompare)
    571 '<- meta.method.body.asp - invalid.illegal.unexpected-token-after-method-declaration.asp - meta.method.identifier.asp
    572        '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - invalid.illegal.unexpected-token-after-method-declaration.asp - meta.method.asp meta.method.identifier.asp - invalid.illegal.expected-end-of-line.asp - comment.line.rem.asp
    573         '          ^^^^^ support.function.vb.asp
    574         '               ^ punctuation.section.parens.begin.asp
    575         '                                   ^^^^^^^^^^^^^ support.type.vb.asp
    576         '                                                ^ punctuation.section.parens.end.asp
    577         Test = True Xor False
    578         '      ^^^^ storage.type.asp
    579         '           ^^^ keyword.operator.logical.asp
    580         '               ^^^^^ storage.type.asp
    581     End Function
    582     Sub Test2
    583    '^^^ meta.method.asp meta.method.identifier.asp storage.type.function.asp
    584     '   ^^^^^ meta.method.asp meta.method.identifier.asp entity.name.function.asp
    585         hello = world
    586        '^ - entity.name.function.asp - meta.method.asp meta.method.identifier.asp
    587     End Sub
    588     Call Test
    589    '^^^^ keyword.other.call.asp
    590     Call NoParams
    591     
    592          Sub Wow (test _ 'test
    593  ,def _ '^^^^^^^^^^^^^^^^^^^^^^ meta.method.asp meta.method.identifier.asp
    594       _ '^^^ storage.type.function.asp
    595         '    ^^^ entity.name.function.asp
    596         '                ^^^^^ invalid.illegal.expected-end-of-line.asp
    597     ) ' this bracket doesn't form part of the method declaration - the line above is missing a _ and contains non-whitespace
    598    '^ meta.method.body.asp - meta.method.identifier.asp - punctuation.section.parens.end.asp
    599         MsgBox "hi", vbOkCancel or vbExclamation or vbDefaultButton1, "title"
    600         '            ^^^^^^^^^^ support.type.vb.asp - variable.other.asp
    601         '                       ^^ keyword.operator.logical.asp
    602         '                          ^^^^^^^^^^^^^ support.type.vb.asp
    603         '                                           ^^^^^^^^^^^^^^^^ support.type.vb.asp
    604     End Sub
    605     
    606     Dim [], [ažė+, (], [dim], [a(4)]
    607     '   ^^ variable.other.asp
    608     '     ^ punctuation.separator.variable-declaration.asp - meta.variable-definition.asp
    609     '       ^^^^^^^^^ variable.other.asp - keyword - punctuation
    610     '                  ^^^^^ variable.other.asp
    611     '                       ^ punctuation.separator.variable-declaration.asp
    612     '                         ^^^^^^ variable.other.asp - meta.array.definition.asp - punctuation.section.array
    613     [dim] = 5 ^ 2
    614    '^^^^^ variable.other.asp
    615     '         ^ keyword.operator.asp
    616     
    617     Function [abcdef()hij] (blah)
    618    '^^^^^^^^ storage.type.function.asp
    619    '         ^^^^^^^^^^^^^ entity.name.function.asp
    620    '                      ^ - entity.name.function.asp
    621    '                        ^^^^ variable.parameter.function.asp
    622         [abcdef()hij] = blah
    623        '^^^^^^^^^^^^^ variable.other.asp
    624        '                ^^^^ variable.other.asp
    625     End Function
    626    '^^^^^^^^^^^^ storage.type.function.end.asp
    627     Response.Write [abcdef()hij]("hello")
    628    '               ^^^^^^^^^^^^^ variable.other.asp
    629    '                            ^ punctuation.section.parens.begin.asp
    630    '                                    ^ punctuation.section.parens.end.asp
    631     
    632     End If ' nothing to end
    633    '^^^ invalid.illegal.unexpected-token.asp
    634 ' check that the incomplete if gets dropped off after the end of the line
    635 '<- - meta.between-if-and-then.asp invalid.illegal.unexpected-end-of-statement.asp
    636    
    637     For Each cookie In Request.Cookies
    638    '<- - meta.between-if-and-then.asp
    639    '^^^^^^^^ keyword.control.flow.asp
    640    '         ^^^^^^ variable.other.asp
    641    '                ^^ keyword.control.flow.asp
    642    '                                  ^ meta.for.block.asp
    643         Response.Write(vbCrLf & cookie)
    644        '^^^^^^^^ support.class.asp
    645        '        ^ punctuation.accessor.dot.asp
    646        '               ^^^^^^ support.type.vb.asp
    647        '                      ^ keyword.operator.asp
    648        '                        ^^^^^^ variable.other.asp
    649         If x = y Then Exit For
    650        '^^ keyword.control.flow.asp
    651        '   ^ variable.other.asp
    652        '       ^ variable.other.asp
    653        '         ^^^^ keyword.control.flow.asp
    654        '             ^^^^^^^^^ meta.if.line.asp
    655        '              ^^^^^^^^ keyword.control.flow.asp
    656        '                      ^ - meta.if.line.asp
    657         Response.Write("----" & vbCrLf)
    658        '^^^^^^^^ support.class.asp
    659        '              ^ punctuation.section.parens.begin.asp
    660        '                              ^ punctuation.section.parens.end.asp
    661         
    662         abc = x >< y
    663        '        ^^ invalid.illegal.unexpected-token.asp
    664         abc = x <> y
    665        '        ^^ keyword.operator.asp
    666     Next
    667    '^^^^ keyword.control.flow.asp
    668    '    ^ - meta.for.block.asp
    669     
    670     If 
    671    '^^ keyword.control.flow.asp
    672    '  ^ meta.between-if-and-then.asp
    673     ' the above if statement has no "Then"
    674    '^ - meta.between-if-and-then.asp
    675     
    676     Do
    677    '^^ meta.do.block.asp keyword.control.flow.asp
    678         Exit Do
    679        '^^^^^^^ meta.do.block.asp keyword.control.flow.asp
    680     Loop
    681    '^^^^ keyword.control.flow.asp
    682    '    ^ - meta.do.block.asp
    683     
    684     Do
    685         Exit Do
    686     Loop Until x = y
    687    '^^^^^^^^^^ keyword.control.flow.asp
    688    '           ^ variable.other.asp
    689    '             ^ keyword.operator.asp
    690    '               ^ variable.other.asp
    691    '                ^ - meta.do.block.asp
    692     
    693     Do
    694         Exit Do
    695     Loop While x <> y
    696    '^^^^^^^^^^ keyword.control.flow.asp
    697    '           ^ variable.other.asp
    698    '                ^ variable.other.asp
    699    '                 ^ - meta.do.block.asp - meta.while.block.asp
    700     
    701     While True
    702    '^^^^^ meta.while.block.asp keyword.control.flow.asp
    703         ' ^^^^ storage.type.asp - variable.other.asp
    704     Wend
    705    '^^^^ keyword.control.flow.asp
    706    '    ^ - meta.while.block.asp
    707    
    708     Application.Lock
    709    '^^^^^^^^^^^ support.class.asp - variable.other.asp
    710    '           ^ punctuation.accessor.dot.asp
    711    '            ^^^^ support.function.asp - variable.other.asp
    712     Application("NumVisits") = Application("NumVisits") + 1
    713    '^^^^^^^^^^^ support.class.asp
    714    '           ^ punctuation.section.parens.begin.asp
    715    '                       ^ punctuation.section.parens.end.asp
    716    '                                      ^ punctuation.section.parens.begin.asp
    717    '                                                  ^ punctuation.section.parens.end.asp
    718     Application.Unlock
    719    '^^^^^^^^^^^ support.class.asp
    720    '           ^ punctuation.accessor.dot.asp
    721    '            ^^^^^^ support.function.asp
    722     %>
    723     This application page has been visited
    724     <%= Application("NumVisits") %> times!
    725     <%
    726     
    727     Sub Application_OnStart()
    728    '^^^ storage.type.function.asp
    729    '    ^^^^^^^^^^^^^^^^^^^ entity.name.function.asp support.function.magic.event.asp
    730         Application("NumVisits") = 0
    731    '               ^ punctuation.section.parens.begin.asp
    732    '                           ^ punctuation.section.parens.end.asp
    733     End Sub
    734    '^^^^^^^ storage.type.function.end.asp
    735     
    736     Sub Application_OnStartup()
    737    '    ^^^^^^^^^^^^^^^^^^^^^ entity.name.function.asp - support.function.magic.event.asp
    738     End Sub
    739     
    740     Sub Func_With_Explicit_Arrays(ByRef array_variable(), blah ())
    741    '                                                  ^ punctuation.section.array.begin.asp
    742    '                                                   ^ punctuation.section.array.end.asp
    743    '                                                  ^^^^^^^^^^^^ - invalid
    744    '                                                    ^ punctuation.separator.parameter-declaration.asp
    745    '                                                      ^^^^ variable.parameter.function.asp
    746    '                                                           ^ punctuation.section.array.begin.asp
    747    '                                                            ^ punctuation.section.array.end.asp
    748    '                                                             ^ punctuation.section.parens.end.asp
    749     End Sub
    750     
    751     Sub Another_Test()rem
    752    '^^^ storage.type.function.asp
    753    '    ^^^^^^^^^^^^ entity.name.function.asp
    754    '                ^^ punctuation.section.parens
    755    '                  ^^^^ comment.line.rem.asp - meta.method.identifier.asp
    756         Const ForAppending = 8
    757        '^^^^^ meta.method.body.asp storage.modifier.asp
    758         
    759         Set objFSO = CreateObject("Scripting.FileSystemObject")
    760        '    ^^^^^^ variable.other.asp
    761         Set objTextFile = objFSO.OpenTextFile("d:\logfile.c", ForAppending, True)
    762        '                                                      ^^^^^^^^^^^^ variable.other.asp
    763         
    764         Dim Line
    765        '    ^^^^ variable.other.asp
    766         Line = 0
    767        '^^^^ variable.other.asp
    768         Do While Line < 2000
    769        '^^^^^^^^ keyword.control.flow.asp
    770        '^^^^^^^^^^^^^^^^^^^^^ meta.do.block.asp - meta.while.block.asp
    771        '         ^^^^ variable.other.asp
    772        '              ^ keyword.operator.asp
    773        '                ^^^^ constant.numeric
    774             objTextFile.WriteLine("long l" & Line & " = " & Line)
    775            '^^^^^^^^^^^ variable.other.asp
    776            '            ^^^^^^^^^ variable
    777             Line = Line + 1
    778             Dim WshShell 'http://stackoverflow.com/a/2237479/4473405
    779             Set WshShell=Server.CreateObject("WScript.Shell")
    780             WshShell.Run "waitfor /T " & numberOfSecond & "SignalThatWontHappen", , True
    781             
    782             do until Line = Line
    783            '^^^^^^^^ keyword.control.flow.asp
    784            '         ^^^^ variable.other.asp
    785            '                ^^^^ variable.other.asp
    786            '^^^^^^^^^^^^^^^^^^^^^ meta.do.block.asp meta.do.block.asp - invalid
    787                 ' this code will never run
    788             loop
    789            '^^^^ keyword.control.flow.asp
    790         Loop
    791        '^^^^ keyword.control.flow.asp
    792        '    ^ - meta.do.block.asp
    793         
    794         objTextFile.Close
    795         
    796         Set objTextFile = Nothing
    797         Set objFSO = Nothing
    798     End _
    799       Sub
    800     ' ^^^ storage.type.function.end.asp - meta.method.identifier.asp
    801     
    802     a=3.4*.5*6.*0.25
    803     ' ^^^ constant.numeric.float.decimal.asp
    804     '     ^^ constant.numeric.float.decimal.asp
    805     '        ^^ constant.numeric.float.decimal.asp
    806     '           ^^^^ constant.numeric.float.decimal.asp
    807     a=a+0.8
    808     '   ^^^ constant.numeric.float.decimal.asp
    809     ExampleSub 3.4,.5,6.,&HA,&H2,7*2.1e2,9,-3.402823E+38, 3.402823E38 ,1.401298E-45,Round(4.94065645841247E-324),a2,2a,123.456.789.321.654.321
    810     '          ^^^ constant.numeric.float.decimal.asp
    811     '              ^^ constant.numeric.float.decimal.asp
    812     '                 ^^ constant.numeric.float.decimal.asp
    813     '                    ^^^ constant.numeric.integer.hexadecimal.asp
    814     '                        ^^^ constant.numeric.integer.hexadecimal.asp
    815     '                            ^ constant.numeric
    816     '                              ^^^^^ constant.numeric.float.decimal.asp
    817     '                                    ^ constant.numeric
    818     '                                       ^^^^^^^^^^^^ constant.numeric.float.decimal.asp
    819     '                                                     ^^^^^^^^^^^ constant.numeric.float.decimal.asp
    820     '                                                                  ^^^^^^^^^^^^ constant.numeric.float.decimal.asp
    821     '                                                                               ^^^^^ support.function.vb.asp
    822     '                                                                                     ^^^^^^^^^^^^^^^^^^^^^ constant.numeric.float.decimal.asp
    823     '                                                                                                            ^^ - constant.numeric
    824     '                                                                                                                ^ - constant.numeric
    825     '                                                                                                                         ^^^^^^^^ - constant.numeric
    826     
    827     response.write(test..b)
    828     '                  ^ punctuation.accessor.dot.asp
    829     '                   ^ invalid.illegal.unexpected-token.asp
    830     
    831     [abc=123:def] = 4
    832    '^^^^^^^^^^^^^ variable.other.asp - punctuation - keyword - constant
    833     
    834     Randomize Timer
    835    '^^^^^^^^^^^^^^^ storage.type.asp
    836     a=Abs(-6)*Rnd()*2+Fix(2.75) + Int(3.14)/Sin(30)+Cos(20)+Tan(40)+Sqr(4)+Log(6)+Sgn(3)
    837     ' ^^^ support.function.vb.asp
    838     '         ^^^ support.function.vb.asp
    839     '                 ^^^ support.function.vb.asp
    840     '                             ^^^ support.function.vb.asp
    841     '                                       ^^^ support.function.vb.asp
    842     '                                               ^^^ support.function.vb.asp
    843     '                                                       ^^^ support.function.vb.asp
    844     '                                                               ^^^ support.function.vb.asp
    845     '                                                                      ^^^ support.function.vb.asp
    846     '                                                                             ^^^ support.function.vb.asp
    847     
    848     b=Oct(12) & Hex(12)
    849     ' ^^^ support.function.vb.asp
    850     '           ^^^ support.function.vb.asp
    851     c = CSng("123") + CDbl("123") + CInt("123")+CLng("123")
    852     '   ^^^^ support.function.vb.asp
    853     '                 ^^^^ support.function.vb.asp
    854     '                               ^^^^ support.function.vb.asp
    855     '                                           ^^^^ support.function.vb.asp
    856     d = Time
    857     '   ^^^^ support.function.vb.asp
    858     e = Date()
    859     '   ^^^^ support.function.vb.asp
    860     
    861     submit = 2
    862    '^^^^^^ variable.other.asp - storage.type.function.asp
    863     function_hello = 2
    864    '^^^^^^^^^^^^^^ variable.other.asp - storage.type.function.asp
    865     
    866     %>
    867    '^^ punctuation.section.embedded.end.asp
    868    '  ^ - source.asp.embedded.html
    869     This file was last modified on: <%response.write(modified)
    870    '^ - source.asp.embedded.html
    871    '                                ^^ punctuation.section.embedded.begin.asp
    872    '                                  ^ source.asp.embedded.html
    873    '                                  ^^^^^^^^ support.class.asp
    874    '                                           ^^^^^ support.function.asp
    875     %>
    876     
    877     <p>foobar</p>
    878    '^^^ text.html.asp meta.tag.block.any.html - source.asp.embedded.html
    879     <%='test %>
    880    '^^^ punctuation.section.embedded.begin.asp - source.asp
    881    '   ^^^^^^ comment.line.apostrophe.asp
    882    '         ^^ punctuation.section.embedded.end.asp - comment
    883    '         ^^^ - source.asp.embedded.html
    884     <%= "this" + Chr(32) + "that" %>
    885    '^^^ punctuation.section.embedded.begin.asp - source.asp.embedded.html
    886    '   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.asp.embedded.html
    887    '    ^^^^^^ string.quoted.double.asp
    888    '           ^ keyword.operator.asp
    889    '             ^^^ support.function.vb.asp
    890    '                              ^^ punctuation.section.embedded.end.asp - source.asp
    891 <%
    892 
    893 Class ClassContainingMethodsWithReservedWords
    894     Sub [Select]()
    895    '^^^ storage.type.function.asp
    896    '    ^^^^^^^^ entity.name.function.asp
    897    '            ^ - entity.name.function.asp
    898         
    899     End Sub
    900     
    901     Sub [End]()
    902    '^^^ storage.type.function.asp
    903    '    ^^^^^ entity.name.function.asp
    904    '         ^ - entity.name.function.asp
    905         
    906     End Sub
    907 End Class
    908 Set ccmwrw = new ClassContainingMethodsWithReservedWords
    909 ccmwrw.Select()
    910 '     ^ punctuation.accessor.dot.asp
    911 '      ^^^^^^ variable.other.member.asp - invalid - keyword
    912 '            ^^ - variable - invalid - keyword
    913 ccmwrw. Select() ' spaces are not allowed after the .
    914 '     ^ punctuation.accessor.dot.asp
    915 '      ^ - invalid
    916 '       ^^^^^^ variable.other.member.asp - invalid - keyword
    917 '             ^^ - variable - invalid - keyword
    918 ccmwrw.End
    919 '     ^ punctuation.accessor.dot.asp
    920 '      ^^^ variable.other.member.asp - invalid - keyword
    921 '         ^ - invalid - variable
    922 ccmwrw .End
    923 '     ^ invalid.illegal.unexpected-token.asp
    924 '      ^ punctuation.accessor.dot.asp
    925 '       ^^^ variable.other.member.asp - invalid - keyword
    926 '          ^ - invalid
    927 ccmwrw.[End] ()
    928 '     ^ punctuation.accessor.dot.asp
    929 '      ^^^^^ variable.other.member.asp - invalid - keyword
    930 '           ^^^ - variable - invalid - keyword
    931 ccmwrw. [End] ()
    932 '     ^ punctuation.accessor.dot.asp
    933 '      ^ - invalid - variable
    934 '       ^^^^^ variable.other.member.asp - invalid - keyword
    935 '            ^^^ - variable - invalid - keyword
    936 
    937 _
    938      'a line continuation char can be followed by just a comment on the next non blank line
    939    ' ^ punctuation.definition.comment.asp
    940    ' ^^^^^^ comment.line.apostrophe.asp
    941 
    942 t = [unclosed variable identifier
    943 '   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ variable.other.asp
    944 Dim test
    945 '<- storage.modifier.asp - variable
    946  rem the syntax on the next line will cause an unterminated string constant error
    947 '^^^^^^ comment.line.rem.asp
    948 test = "hello%>
    949 '      ^^^^^^ source.asp.embedded.html string.quoted.double.asp
    950 '            ^^ punctuation.section.embedded.end.asp - string.quoted.double.asp
    951 '              ^ - source.asp.embedded.html
    952 
    953 <footer>
    954 '^^^^^^ text.html.asp meta.tag.block.any.html entity.name.tag.block.any.html
    955     <% With abc %>
    956     '  ^^^^ keyword.control.flow.asp
    957     '           ^^ text.html.asp punctuation.section.embedded.end.inside-block.asp
    958         <p>Some conditional content in the footer</p>
    959         '<- text.html.asp meta.tag.block.any.html punctuation.definition.tag.begin.html
    960     <% End With %>
    961    '^^ punctuation.section.embedded.begin.inside-block.asp
    962    '   ^^^^^^^^ keyword.control.flow.asp
    963    '            ^^ punctuation.section.embedded.end.asp - meta.with.block.asp
    964    '              ^ - source.asp.embedded.html
    965     <% If abc = "def" Then %>
    966     '                     ^ meta.if.block.asp - meta.if.line.asp
    967         <span id="span1">Text here</span>
    968         '     ^^ text.html.asp meta.tag.inline.any.html meta.attribute-with-value.id.html entity.other.attribute-name.id.html
    969         '                         ^^ text.html.asp meta.tag.inline.any.html punctuation.definition.tag.begin.html
    970     <% End If %>
    971     ' ^ meta.if.block.asp
    972     '  ^^^^^^ keyword.control.flow.asp
    973     '        ^^^^ - meta.if.block.asp
    974    
    975 </footer><% [%><br />
    976 '            ^^ punctuation.section.embedded.end.asp
    977 '               ^^ text.html.asp meta.tag.inline.any.html entity.name.tag.inline.any.html
    978 <% Sub InventiveMethodNameHere(list) %>
    979 '  ^^^ meta.method.identifier.asp storage.type.function.asp
    980 '                                   ^ text.html.asp source.asp.embedded.html meta.method.asp meta.method.body.asp
    981 '                                    ^^ text.html.asp punctuation.section.embedded.end.inside-block.asp
    982   <ul>
    983 <%
    984         for each item in list
    985        '^^^^^^^^ text.html.asp source.asp.embedded.html meta.method.asp meta.method.body.asp meta.for.block.asp keyword.control.flow.asp
    986        '              ^^ text.html.asp source.asp.embedded.html meta.method.asp meta.method.body.asp meta.for.block.asp keyword.control.flow.asp
    987             %><li><%= item %></li><%
    988                     '^^^^^^ text.html.asp source.asp.embedded.html meta.method.asp meta.method.body.asp meta.for.block.asp
    989            '  ^ meta.tag.inline.any.html punctuation.definition.tag.begin.html
    990            '      ^^^ punctuation.section.embedded.begin.inside-block.asp
    991            '               ^^ punctuation.section.embedded.end.inside-block.asp
    992         Next
    993        '^^^^ text.html.asp source.asp.embedded.html meta.method.asp meta.method.body.asp keyword.control.flow.asp
    994        '    ^ - meta.for.block.asp
    995 %></ul>
    996 <% End Sub %>
    997 '  ^^^^^^^ text.html.asp source.asp.embedded.html meta.method.asp storage.type.function.end.asp
    998 '         ^ - meta.method.asp
    999  <p class="<% If True Then %>test<% End If %>"></p>
   1000 '^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.tag.block.any.html
   1001 '                                         ^^^^^^^^^ meta.tag.block.any.html
   1002 '   ^^^^^ meta.attribute-with-value.class.html entity.other.attribute-name.class.html
   1003 '         ^^^ meta.attribute-with-value.class.html string.quoted.double.html
   1004 '                                   ^^^^^^^^^^ meta.attribute-with-value.class.html string.quoted.double.html
   1005 '                                             ^ - string
   1006 '          ^^^^^^^^^^^^^^^^ meta.class-name.html
   1007 '                                  ^^^^^^^^^^ meta.class-name.html
   1008 '          ^^ punctuation.section.embedded.begin.asp
   1009 '             ^^^^^^^^^^^^^ source.asp.embedded.html
   1010 '             ^^ keyword.control.flow.asp
   1011 '                ^^^^ meta.between-if-and-then.asp storage.type.asp
   1012 '                     ^^^^ keyword.control.flow.asp
   1013 '                         ^ meta.if.block.asp
   1014 '                                  ^ meta.if.block.asp
   1015 '                          ^^ punctuation.section.embedded.end.inside-block.asp
   1016 '                                ^^ punctuation.section.embedded.begin.inside-block.asp
   1017 '                                   ^^^^^^ keyword.control.flow.asp
   1018 '                                          ^^ punctuation.section.embedded.end.asp - meta.if.block.asp
   1019 '                                             ^ punctuation.definition.tag.end.html
   1020 
   1021  <p <%= "class=""test""" %> id="test1"></p>
   1022 '^^^ meta.tag.block.any.html
   1023 '                          ^^^^^^^^^^^^^^^^ meta.tag.block.any.html
   1024 '^ punctuation.definition.tag.begin.html
   1025 ' ^ entity.name.tag.block.any.html
   1026 '   ^^^ punctuation.section.embedded.begin.asp
   1027 '       ^^^^^^^^^^^^^^^^ string.quoted.double.asp
   1028 '                        ^^ punctuation.section.embedded.end.asp
   1029 '                           ^^ meta.attribute-with-value.id.html entity.other.attribute-name.id.html
   1030 '                               ^^^^^ meta.attribute-with-value.id.html string.quoted.double.html meta.toc-list.id.html
   1031 '                                     ^ punctuation.definition.tag.end.html
   1032 '                                          ^ - meta.tag.block.any.html
   1033 <% If True Then
   1034    Do
   1035  %>
   1036         <span <%= "class=""test""" %> id="test2"></span>
   1037        '^^^^^^ meta.tag.inline.any.html
   1038        '^ punctuation.definition.tag.begin.html
   1039        ' ^^^^ entity.name.tag.inline.any.html
   1040        '      ^^^ punctuation.section.embedded.begin.inside-block.asp
   1041        '          ^^^^^^^^^^^^^^^^ string.quoted.double.asp
   1042        '                           ^^ punctuation.section.embedded.end.inside-block.asp
   1043        '                             ^^^^^^^^^^^^ meta.tag
   1044        '                              ^^ meta.attribute-with-value.id.html entity.other.attribute-name.id.html
   1045        '                                  ^^^^^ meta.attribute-with-value.id.html string.quoted.double.html meta.toc-list.id.html
   1046        '                                        ^ punctuation.definition.tag.end.html
   1047        '                                         ^^^^^^^ meta.tag.inline.any.html - meta.tag.after-embedded-asp.any.html
   1048        '                                         ^^ punctuation.definition.tag.begin.html
   1049        '                                           ^^^^ entity.name.tag.inline.any.html
   1050        '                                               ^ punctuation.definition.tag.end.html
   1051 <% Loop
   1052    End If %>
   1053   '^^^^^^ keyword.control.flow.asp
   1054 
   1055  <span <% If False Then %> class="test" <% End If %> id="test3"></span>
   1056 '^^^^^^^^^^^^^^^^^^^^^^^ meta.tag.inline.any.html
   1057 '                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.tag.inline.any.html
   1058 '^ punctuation.definition.tag.begin.html
   1059 ' ^^^^ entity.name.tag.inline.any.html
   1060 '      ^^ punctuation.section.embedded.begin.asp
   1061 '         ^^ keyword.control.flow.asp
   1062 '            ^^^^^ meta.between-if-and-then.asp storage.type.asp
   1063 '                  ^^^^ keyword.control.flow.asp
   1064 '                       ^^ punctuation.section.embedded.end.inside-block.asp
   1065 '                          ^^^^^^^^^^^^ meta.attribute-with-value.class.html
   1066 '                          ^^^^^ entity.other.attribute-name.class.html
   1067 '                               ^ punctuation.separator.key-value.html
   1068 '                                ^ string.quoted.double.html punctuation.definition.string.begin.html
   1069 '                                 ^^^^ string.quoted.double.html meta.class-name.html
   1070 '                                     ^ string.quoted.double.html punctuation.definition.string.end.html
   1071 '                                       ^^ punctuation.section.embedded.begin.inside-block.asp
   1072 '                                          ^^^^^^ keyword.control.flow.asp
   1073 '                                                 ^^ punctuation.section.embedded.end.asp
   1074 '                                                    ^^ meta.attribute-with-value.id.html entity.other.attribute-name.id.html
   1075 '                                                        ^^^^^ meta.attribute-with-value.id.html string.quoted.double.html meta.toc-list.id.html
   1076 '                                                              ^ punctuation.definition.tag.end.html
   1077  <span <% If True Then %>
   1078   class="test"
   1079 '^^^^^^^^^^^^^^ meta.tag
   1080 ' ^^^^^^^^^^^^ meta.attribute-with-value.class.html
   1081 ' ^^^^^ entity.other.attribute-name.class.html
   1082 '      ^ punctuation.separator.key-value.html
   1083 '       ^ string.quoted.double.html punctuation.definition.string.begin.html
   1084 '        ^^^^ string.quoted.double.html meta.class-name.html
   1085 '            ^ string.quoted.double.html punctuation.definition.string.end.html
   1086  <% End If %>
   1087 '^^ punctuation.section.embedded.begin.inside-block.asp
   1088 '   ^^^^^^ keyword.control.flow.asp
   1089 '          ^^ punctuation.section.embedded.end.asp
   1090  id="test4"></span>
   1091 '^^^^^^^^^^^ meta.tag
   1092 '^^ meta.attribute-with-value.id.html entity.other.attribute-name.id.html
   1093 '    ^^^^^ meta.attribute-with-value.id.html string.quoted.double.html meta.toc-list.id.html
   1094 '          ^ punctuation.definition.tag.end.html
   1095 '           ^^^^^^^ meta.tag.inline.any.html - meta.tag.after-embedded-asp.any.html
   1096 '           ^^ punctuation.definition.tag.begin.html
   1097 '             ^^^^ entity.name.tag.inline.any.html
   1098 '                 ^ punctuation.definition.tag.end.html
   1099  <% If True Then %>
   1100 '^^ punctuation.section.embedded.begin.asp
   1101 '                ^^ punctuation.section.embedded.end.inside-block.asp
   1102  <span class="<%= "test" %>" id="test5"></span>
   1103 '^^^^^^^^^^^^^ meta.tag.inline.any.html
   1104 '            ^ string.quoted.double.html punctuation.definition.string.begin.html
   1105 '             ^^^ punctuation.section.embedded.begin.inside-block.asp
   1106 '                        ^^ punctuation.section.embedded.end.inside-block.asp
   1107 '                          ^^^^^^^^^^^^^ meta.tag
   1108 '                          ^ string.quoted.double.html punctuation.definition.string.end.html
   1109 '                            ^^ meta.attribute-with-value.id.html entity.other.attribute-name.id.html
   1110 '                                ^^^^^ meta.attribute-with-value.id.html string.quoted.double.html meta.toc-list.id.html
   1111 '                                      ^ punctuation.definition.tag.end.html
   1112 '                                       ^^^^^^^ meta.tag.inline.any.html - meta.tag.after-embedded-asp.any.html
   1113 '                                       ^^ punctuation.definition.tag.begin.html
   1114 '                                         ^^^^ entity.name.tag.inline.any.html
   1115 '                                             ^ punctuation.definition.tag.end.html
   1116  <% End If %>
   1117 '^^ punctuation.section.embedded.begin.inside-block.asp
   1118 '   ^^^^^^ keyword.control.flow.asp
   1119 '          ^^ punctuation.section.embedded.end.asp
   1120  <%
   1121    = hi = 2 ' will output a boolean expression - True or False %>
   1122 '  ^ punctuation.section.embedded.begin.asp
   1123 '   ^^^^^^^^^^ source.asp.embedded.html
   1124 '    ^^ variable.other.asp
   1125 '       ^ keyword.operator.asp
   1126 '         ^ constant.numeric
   1127 '           ^ comment
   1128 
   1129 '<- - comment - source.asp.embedded.html
   1130  </body>
   1131 '^^^^^^^ meta.tag.structure.any.html
   1132 <script type="text/javascript">
   1133 <% If True Then %>var hello = "world";<% End If %>
   1134 </script>
   1135 </html>