Skip to content

Instantly share code, notes, and snippets.

@bonprosoft
Created June 23, 2012 15:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bonprosoft/2978716 to your computer and use it in GitHub Desktop.
Save bonprosoft/2978716 to your computer and use it in GitHub Desktop.
どっちがいいかなぁ...?
'どちらのほうが、パーサーから見ると、扱いやすいのでしょうか...?
'1.)VBCPP_Statementを継承したクラスに、直に処理内容をつける。
'2.)VBCPP_Statementを継承したクラスにはVBCPP_IfStatementのクラスを結びつけるだけで、
' 処理内容は、単独のVBCPP_IfStatementクラスにつける。
'1.)の実装例
Public Class IfStatement
Inherits VBCPP_Statement
Public Condition As VBCPP_Expression
Public IfTrueItem As VBCPP_Body
Public IfElseItem As VBCPP_Body
Public Sub New(ByVal Condition As VBCPP_Expression, ByVal IfTrueItem As VBCPP_Body, ByVal IfElseItem As VBCPP_Body)
Me.Condition = Condition
Me.IfTrueItem = IfTrueItem
Me.IfElseItem = IfElseItem
End Sub
End Class
'2.)の実装例
Public Class IfStatement
Inherits VBCPP_Statement
Public Item As VBCPP_IfStatement
End Class
Public Class VBCPP_IfStatement
Public Condition As VBCPP_Expression
Public IfTrueItem As VBCPP_Body
Public IfElseItem As VBCPP_Body
Public Sub New(ByVal Condition As VBCPP_Expression, ByVal IfTrueItem As VBCPP_Body, ByVal IfElseItem As VBCPP_Body)
Me.Condition = Condition
Me.IfTrueItem = IfTrueItem
Me.IfElseItem = IfElseItem
End Sub
End Class
@takeshik
Copy link

Roslyn 使うか、正式版待ってみるかはどうでしょう。VB のパーザが現状でそれなりに動いたかは覚えてないですが

@bonprosoft
Copy link
Author

コメントありがとうございます!

なるほど...
Roslynですか...
詳しく調べてみようとおもいます!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment