正在阅读:详解如何编写一个简明编译器详解如何编写一个简明编译器

2004-11-04 11:51 出处:CSDN 作者:lzmtw 责任编辑:linjixiong


  fs = New System.IO.FileStream(FileName, IO.FileMode.Open, IO.FileAccess.Read, IO.FileShare.Read)

  Dim Reader As New System.IO.StreamReader(fs, System.Text.Encoding.Default)

  tmpStr = Reader.ReadToEnd

  Reader.Close()

  fs.Close()

  _StringBuilder.Append(tmpStr)

  End Sub

  '//返回代码串

  Public Overrides Function ToString() As String

  Return _StringBuilder.ToString

  End Function

  '//清除原有代码

  Public Sub Clear()

  If _StringBuilder.Length > 0 Then _StringBuilder.Remove(0, _StringBuilder.Length - 1)

  End Sub

  End Class 'CodeBuilder

  '测试

  Dim MyComp As SourceComp

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

  '如果不重新生成实例,则因重新编译时输出同名的临时程序集,会出错

  MyComp = New SourceComp

  Console.WriteLine(MyComp.GetExpressionValue("Math.Round(Math.SQRT(123 * 456), 2) ").ToString)

  '结果236.83

  MyComp = New SourceComp

  Console.WriteLine(MyComp.GetExpressionValue("123 * 456 > 12 * 6987").ToString)

  '结果False

  End Sub


  


察看评论详细内容 我要发表评论
作者笔名 简短内容 发表时间
:
键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品