Пример #1
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="options">ParsingOptions</param>
 public BaseParser(ParsingOptions options)
 {
     this.Options = options;
 }
Пример #2
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="context">CompilationContext</param>
 /// <param name="options">ParsingOptions</param>
 private ParsingEngine(CompilationContext context, ParsingOptions options)
 {
     this.CompilationContext = context;
     this.Options = options;
 }
Пример #3
0
 /// <summary>
 /// Creates a P# parsing engine for the specified compilation
 /// context and using the specified parsing options.
 /// </summary>
 /// <param name="context">CompilationContext</param>
 /// <param name="options">ParsingOptions</param>
 /// <returns>ParsingEngine</returns>
 public static ParsingEngine Create(CompilationContext context, ParsingOptions options)
 {
     return new ParsingEngine(context, options);
 }
Пример #4
0
        /// <summary>
        /// Parses a C# syntax tree to C#.
        /// th
        /// </summary>
        /// <param name="tree">SyntaxTree</param>
        /// <param name="options">ParsingOptions</param>
        private void ParseCSharpSyntaxTree(SyntaxTree tree, ParsingOptions options)
        {
            var root = (CompilationUnitSyntax)tree.GetRoot();

            var program = new CSharpParser(this, tree, options).Parse();

            this.CSharpPrograms.Add(program as CSharpProgram);
            this.ProgramMap.Add(program, tree);
        }
Пример #5
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="project">PSharpProject</param>
 /// <param name="tree">SyntaxTree</param>
 /// <param name="options">ParsingOptions</param>
 internal CSharpParser(PSharpProject project, SyntaxTree tree, ParsingOptions options)
     : base(project, tree, options)
 {
     this.ErrorLog = new List<Tuple<SyntaxToken, string>>();
     this.WarningLog = new List<Tuple<SyntaxToken, string>>();
 }
Пример #6
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="project">PSharpProject</param>
 /// <param name="tree">SyntaxTree</param>
 /// <param name="options">ParsingOptions</param>
 internal TokenParser(PSharpProject project, SyntaxTree tree, ParsingOptions options)
     : base(project, tree, options)
 {
     this.ErrorLog = new StringBuilder();
 }
Пример #7
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="project">PSharpProject</param>
 /// <param name="tree">SyntaxTree</param>
 /// <param name="options">ParsingOptions</param>
 internal PSharpParser(PSharpProject project, SyntaxTree tree, ParsingOptions options)
     : base(project, tree, options)
 {
 }
Пример #8
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CSharpParser"/> class.
 /// </summary>
 public CSharpParser(ParsingOptions options)
     : base(options)
 {
     this.ErrorLog   = new List <Tuple <SyntaxToken, string> >();
     this.WarningLog = new List <Tuple <SyntaxToken, string> >();
 }
Пример #9
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CSharpParser"/> class.
 /// </summary>
 internal CSharpParser(PSharpProject project, SyntaxTree tree, ParsingOptions options)
     : base(project, tree, options)
 {
     this.ErrorLog   = new List <Tuple <SyntaxToken, string> >();
     this.WarningLog = new List <Tuple <SyntaxToken, string> >();
 }
Пример #10
0
 /// <summary>
 /// Creates a P# parsing engine for the specified compilation
 /// context and using the specified parsing options.
 /// </summary>
 public static ParsingEngine Create(CompilationContext context, ParsingOptions options)
 {
     return(new ParsingEngine(context, options));
 }
Пример #11
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ParsingEngine"/> class.
 /// </summary>
 private ParsingEngine(CompilationContext context, ParsingOptions options)
 {
     this.CompilationContext = context;
     this.Options            = options;
 }
Пример #12
0
 /// <summary>
 /// Creates a P# parsing engine for the specified compilation
 /// context and using the default parsing options.
 /// </summary>
 public static ParsingEngine Create(CompilationContext context)
 {
     return(new ParsingEngine(context, ParsingOptions.CreateDefault()));
 }
Пример #13
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="project">PSharpProject</param>
 /// <param name="tree">SyntaxTree</param>
 /// <param name="options">ParsingOptions</param>
 internal BaseParser(PSharpProject project, SyntaxTree tree, ParsingOptions options)
 {
     this.Project    = project;
     this.SyntaxTree = tree;
     this.Options    = options;
 }
Пример #14
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="options">ParsingOptions</param>
 public BaseParser(ParsingOptions options)
 {
     this.Options = options;
 }
Пример #15
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="project">PSharpProject</param>
 /// <param name="tree">SyntaxTree</param>
 /// <param name="options">ParsingOptions</param>
 internal BaseParser(PSharpProject project, SyntaxTree tree, ParsingOptions options)
 {
     this.Project = project;
     this.SyntaxTree = tree;
     this.Options = options;
 }
Пример #16
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TokenParser"/> class.
 /// </summary>
 public TokenParser(ParsingOptions options)
     : base(options)
 {
     this.ErrorLog = new StringBuilder();
 }
Пример #17
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="options">ParsingOptions</param>
 public TokenParser(ParsingOptions options)
     : base(options)
 {
     this.ErrorLog = new StringBuilder();
 }
Пример #18
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TokenParser"/> class.
 /// </summary>
 internal TokenParser(PSharpProject project, SyntaxTree tree, ParsingOptions options)
     : base(project, tree, options)
 {
     this.ErrorLog = new StringBuilder();
 }
Пример #19
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="options">ParsingOptions</param>
 public PSharpParser(ParsingOptions options)
     : base(options)
 {
 }
Пример #20
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="options">ParsingOptions</param>
 public PSharpParser(ParsingOptions options)
     : base(options)
 {
 }
Пример #21
0
        /// <summary>
        /// Parses the project.
        /// </summary>
        /// <param name="options">ParsingOptions</param>
        public void Parse(ParsingOptions options)
        {
            var project = this.CompilationContext.GetProjectWithName(this.Name);
            var compilation = project.GetCompilationAsync().Result;

            foreach (var tree in compilation.SyntaxTrees.ToList())
            {
                if (this.CompilationContext.IsPSharpFile(tree))
                {
                    this.ParsePSharpSyntaxTree(tree, options);
                }
                else if (this.CompilationContext.IsCSharpFile(tree))
                {
                    this.ParseCSharpSyntaxTree(tree, options);
                }
            }
        }
Пример #22
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="project">PSharpProject</param>
 /// <param name="tree">SyntaxTree</param>
 /// <param name="options">ParsingOptions</param>
 internal PSharpParser(PSharpProject project, SyntaxTree tree, ParsingOptions options)
     : base(project, tree, options)
 {
 }
Пример #23
0
        /// <summary>
        /// Parses a P# syntax tree to C#.
        /// th
        /// </summary>
        /// <param name="tree">SyntaxTree</param>
        /// <param name="options">ParsingOptions</param>
        private void ParsePSharpSyntaxTree(SyntaxTree tree, ParsingOptions options)
        {
            var root = (CompilationUnitSyntax)tree.GetRoot();

            var tokens = new PSharpLexer().Tokenize(root.ToFullString());
            var program = new PSharpParser(this, tree, options).ParseTokens(tokens);

            this.PSharpPrograms.Add(program as PSharpProgram);
            this.ProgramMap.Add(program, tree);
        }
Пример #24
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="options">ParsingOptions</param>
 public CSharpParser(ParsingOptions options)
     : base(options)
 {
     this.ErrorLog = new List<Tuple<SyntaxToken, string>>();
     this.WarningLog = new List<Tuple<SyntaxToken, string>>();
 }