トークン読み込み用クラス (T-SQL用)

これまでC# で作成してきた「SourceToHTML」を、VB.NET に焼きなおしてみます。

TokenReaderTsql.vb


'*******************************************************************************************************
' トークンごとに 文字列と その種類を返す (T-SQL 用)
'*******************************************************************************************************
Public Class TokenReaderTsql
Inherits TokenReaderNoCase
'---------------------------------------------------------------------------------------------------
' 初期化
'---------------------------------------------------------------------------------------------------
Friend Sub New(ByVal aReader As Reader, ByVal langType As String)
MyBase.New(aReader, langType)
End Sub
'---------------------------------------------------------------------------------------------------
' 終了
'---------------------------------------------------------------------------------------------------
Protected Overrides Sub Finalize()
End Sub
'---------------------------------------------------------------------------------------------------
' 単一行コメントか?
'---------------------------------------------------------------------------------------------------
Protected Overrides Function IsComSingle() As Boolean
Return ((_context.currChar = "-"c) AndAlso (_context.nextChar = "-"c))
End Function
'---------------------------------------------------------------------------------------------------
' エスケープされた識別子か?
'---------------------------------------------------------------------------------------------------
Protected Overrides Function IsEscape() As Boolean
Return ((_context.currChar = """"c) OrElse (_context.currChar = "["c))
End Function
'---------------------------------------------------------------------------------------------------
' 状態を更新 (エスケープされた識別子)
'---------------------------------------------------------------------------------------------------
Protected Overrides Sub getNextStateIdwEsc()
MyBase.getNextStateIdwEsc()

If (_context.currToken.tokenString.Length > 1) Then
If ((_context.currToken.tokenString.Chars(0) = """"c) AndAlso (_context.currChar = """"c)) Then
_context.State = "その他"
ElseIf ((_context.currToken.tokenString.Chars(0) = "["c) AndAlso (_context.currChar = "]"c)) Then
_context.State = "その他"
End If
End If
End Sub
End Class