Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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();
        }
Esempio n. 3
0
        /// <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();
        }