@ -121,7 +121,7 @@
<Compile Include="Runtime\Registry.vb" />
<Compile Include="Runtime\Symbol.vb" />
<Compile Include="Runtime\Environment.vb" />
<Compile Include="Script\Builders\Module1.vb" />
<Compile Include="Script\Builders\BinaryBuilder.vb" />
<Compile Include="Script\SyntaxImplements.vb" />
</ItemGroup>
<ItemGroup>
@ -81,6 +81,8 @@ Namespace Language
Else
Return Nothing
End If
ElseIf c = ASCII.CR OrElse c = ASCII.LF Then
Return New Token(Tokens.Terminator, vbCrLf)
ElseIf c = "<"c OrElse c = ">"c OrElse c = "="c Then
Return createToken(bufferNext:=c)
ElseIf c = "["c OrElse c = "("c Then
@ -24,6 +24,10 @@
[Boolean]
Comma
''' <summary>
''' 与VB语言类似的,是以换行作为语句结束
''' </summary>
Terminator
Comment
End Enum
@ -0,0 +1,3 @@
Module BinaryBuilder
End Module
@ -1,3 +0,0 @@
Module Module1
@ -10,5 +10,9 @@ Namespace Script
Public Function PopulateQueryExpressions(tokens As IEnumerable(Of Token)) As IEnumerable(Of Expression)
End Function
Public Function ParseExpression(tokens As IEnumerable(Of Token)) As Expression
End Namespace
@ -5,7 +5,11 @@
End Sub
Sub parserTest()
Dim script = "from x as double in [1,2,3,4,5,6,7,8,9] where x > 5 select x ^ 2 # this is comment text"
Dim script = "
from x as double in [1,2,3,4,5,6,7,8,9] # this is comment text
where x > 5
select x ^ 2
"
Dim tokens = LINQ.Language.GetTokens(script).ToArray
Pause()