用于vb解析器的Mono Compiler as Service或Microsoft Roselyn

时间:2013-08-13 03:43:05

标签: compiler-construction mono roslyn

我想用像roselyn或mcs这样的解析来分析vb代码,但我想用它来做 c sharp但我要分析的代码是vb代码。

我已经看到在两个框架中,您可以传递代码并为您提供语法树,但是 例如,如果你用c sharp写它,它可以解析视觉基本代码?

SyntaxTree tree = SyntaxTree.ParseCompilationUnit(@"Imports System
Imports System.Collections
Imports System.Linq
Imports System.Text

Namespace HelloWorld

    Module Program
       
        Sub Main(args As String())
      
            Console.WriteLine(“Hello, World!”)
     
        End Sub
  
     End Module

End Namespace");
var root = (CompilationUnitSyntax)tree.GetRoot();

我的问题是,是否可以使用单声道的mcs或使用microsoft roslyn完成?

1 个答案:

答案 0 :(得分:2)

是的,你可以这样做。您只需要使用命名空间Roslyn.Compilers.VisualBasic中的类型(在具有相同名称的程序集中)而不是Roslyn.Compilers.CSharp中的类型。