トークン読み込み用クラス (PL/SQL用)

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

TokenReaderPlsql.vb


'*******************************************************************************************************
' トークンごとに 文字列と その種類を返す (PL/SQL 用)
'*******************************************************************************************************
Public Class TokenReaderPlsql
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)
End Function
'---------------------------------------------------------------------------------------------------
' 16進表記か?
'---------------------------------------------------------------------------------------------------
Protected Overrides Function IsNotHex() As Boolean
Return True
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 = "その他"
End If
End If
End Sub
End Class