/// <summary> /// Create the Target Document. /// </summary> /// <param name="bTrackFirtNonCblDirectiveLine">True if the First non Cobol Directive line must be tracked and return returned</param> /// <returns>if bTrackFirtNonCblDirectiveLine is set to true this method return the first non cbl directive line it a 0 based line number.</returns> protected virtual int CreateTargetDocument(bool bTrackFirtNonCblDirectiveLine) { int iNonDirectiveLine = -1; TargetDocument = new Compiler.Source.SourceDocument(/*new StringSourceText()*/); //Insert all input lines StringWriter sw = new StringWriter(); int i = 0; //Line count foreach (TypeCobol.Compiler.Scanner.ITokensLine line in this.CompilationResults.TokensLines) { if (bTrackFirtNonCblDirectiveLine && iNonDirectiveLine < 0) { TypeCobol.Compiler.Parser.CodeElementsLine cel = (TypeCobol.Compiler.Parser.CodeElementsLine)line; if (!(cel.TokensWithCompilerDirectives.Count == 1 && cel.TokensWithCompilerDirectives[0].TokenFamily == TokenFamily.CompilerDirective)) { iNonDirectiveLine = i; } i++; } sw.WriteLine(line.Text); } //Load the Original source code TargetDocument.LoadSourceText(sw.ToString()); //TargetDocument.Dump(); return(iNonDirectiveLine); }
/// <summary> /// Create the Target Document. /// </summary> private void CreateTargetDocument() { TargetDocument = new Compiler.Source.SourceDocument(/*new StringSourceText()*/); //Insert all input lines StringWriter sw = new StringWriter(); foreach (TypeCobol.Compiler.Scanner.ITokensLine line in this.CompilationResults.TokensLines) { sw.WriteLine(line.Text); } //Load the Original source code TargetDocument.LoadSourceText(sw.ToString()); //TargetDocument.Dump(); }
/// <summary> /// Create the Target Document. /// </summary> private void CreateTargetDocument() { TargetDocument = new Compiler.Source.SourceDocument(/*new StringSourceText()*/); //Insert all input lines StringBuilder sw = new StringBuilder(); int lineNumber = 0; foreach (TypeCobol.Compiler.Scanner.ITokensLine line in this.CompilationResults.TokensLines) { lineNumber += 1; sw.AppendLine(line.Text); } //Load the Original source code TargetDocument.LoadSourceText(sw.ToString()); //TargetDocument.Dump(); EraseCompilerDirectiveTokens(); }