Exemplo n.º 1
0
        protected LanguageTempCodeCompiler(IronyAst rootAst, LanguageCompilationLog compilationLog)
        {
            var textCodeUnit = new LanguageCodeText("", "");

            CodeUnit          = textCodeUnit;
            RootAst           = rootAst;
            CompilationLog    = compilationLog ?? new LanguageCompilationLog(textCodeUnit, Progress);
            TranslatorContext = null;
        }
Exemplo n.º 2
0
 /// <summary>
 /// Initialize the compilation log of this compiler
 /// </summary>
 protected virtual void InitializeCompilationLog()
 {
     if (CompilationLog == null)
     {
         CompilationLog = new LanguageCompilationLog(Project, Progress);
     }
     else
     {
         CompilationLog.Initialize(Project);
     }
 }
Exemplo n.º 3
0
        private static readonly Parser GMacCommandsIronyParser         = new Parser(GMacCommandsIronyLangData);//(GMacCommandsIronyGrammar);


        private static ParseTreeNode Parse(Parser ironyParser, string sourceCode, LanguageCompilationLog compilationLog)
        {
            var parseTree = ironyParser.Parse(sourceCode);

            if (!parseTree.HasErrors())
            {
                return(parseTree.Root);
            }

            var messageList =
                parseTree
                .ParserMessages
                .Where(message => message.Level == ErrorLevel.Error);

            foreach (var message in messageList)
            {
                return(compilationLog.RaiseParserError <ParseTreeNode>(message.ToString(), message.Location.Position));
            }

            return(parseTree.Root);
        }
Exemplo n.º 4
0
        private void FillWarningList(LanguageCompilationLog compilationLog)
        {
            tabPageWarnings.Text = compilationLog.WarningsCount + @" Warnings";

            listViewWarnings.Items.Clear();

            for (var i = 0; i < compilationLog.WarningsCount; i++)
            {
                var warningMessage = compilationLog.WarningMessages[i];

                var item = listViewWarnings.Items.Add((i + 1).ToString());

                item.SubItems.Add(warningMessage.CodeLocation.CodeUnit.FilePath);
                item.SubItems.Add(warningMessage.CodeLocation.LineColumnDescription());
                item.SubItems.Add(warningMessage.Description);

                item.Tag = warningMessage;
            }

            listViewWarnings.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
        }
Exemplo n.º 5
0
 public static ParseTreeNode ParseQualifiedItem(string sourceCode, LanguageCompilationLog compilationLog)
 {
     return(Parse(GMacQualifiedItemIronyParser, sourceCode, compilationLog));
 }
Exemplo n.º 6
0
 public static ParseTreeNode ParseExpression(string sourceCode, LanguageCompilationLog compilationLog)
 {
     return(Parse(GMacExpressionIronyParser, sourceCode, compilationLog));
 }
Exemplo n.º 7
0
 public static ParseTreeNode ParseCommands(string sourceCode, LanguageCompilationLog compilationLog)
 {
     return(Parse(GMacCommandsIronyParser, sourceCode, compilationLog));
 }
Exemplo n.º 8
0
 public static ParseTreeNode ParseStructure(string sourceCode, LanguageCompilationLog compilationLog)
 {
     return(Parse(GMacStructureIronyParser, sourceCode, compilationLog));
 }
Exemplo n.º 9
0
 protected LanguageTempCodeCompiler(LanguageCompilationLog compilationLog)
     : this(null, compilationLog)
 {
 }
Exemplo n.º 10
0
 internal GMacTempCodeCompiler(LanguageCompilationLog compilationLog)
     : base(compilationLog)
 {
 }