protected LanguageTempCodeCompiler(IronyAst rootAst, LanguageCompilationLog compilationLog) { var textCodeUnit = new LanguageCodeText("", ""); CodeUnit = textCodeUnit; RootAst = rootAst; CompilationLog = compilationLog ?? new LanguageCompilationLog(textCodeUnit, Progress); TranslatorContext = null; }
/// <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); } }
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); }
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); }
public static ParseTreeNode ParseQualifiedItem(string sourceCode, LanguageCompilationLog compilationLog) { return(Parse(GMacQualifiedItemIronyParser, sourceCode, compilationLog)); }
public static ParseTreeNode ParseExpression(string sourceCode, LanguageCompilationLog compilationLog) { return(Parse(GMacExpressionIronyParser, sourceCode, compilationLog)); }
public static ParseTreeNode ParseCommands(string sourceCode, LanguageCompilationLog compilationLog) { return(Parse(GMacCommandsIronyParser, sourceCode, compilationLog)); }
public static ParseTreeNode ParseStructure(string sourceCode, LanguageCompilationLog compilationLog) { return(Parse(GMacStructureIronyParser, sourceCode, compilationLog)); }
protected LanguageTempCodeCompiler(LanguageCompilationLog compilationLog) : this(null, compilationLog) { }
internal GMacTempCodeCompiler(LanguageCompilationLog compilationLog) : base(compilationLog) { }