Foxoft.Ci.CiParser.Parse C# (CSharp) Method

Parse() public method

public Parse ( string filename, TextReader reader ) : void
filename string
reader TextReader
return void
        public void Parse(string filename, TextReader reader)
        {
            Open(filename, reader);
            while (!See(CiToken.EndOfFile)) {
            CiCodeDoc doc = ParseDoc();
            bool pub = Eat(CiToken.Public);
            CiSymbol symbol;
            if (See(CiToken.Enum))
                symbol = ParseEnum();
            else if (See(CiToken.Class) || See(CiToken.Abstract))
                symbol = ParseClass();
            else if (See(CiToken.Delegate))
                symbol = ParseDelegate();
            else
                throw new ParseException("Expected class, enum or delegate");
            symbol.Documentation = doc;
            symbol.Visibility = pub ? CiVisibility.Public : CiVisibility.Internal;
            this.Symbols.Add(symbol);
            }
        }

Usage Example

Example #1
0
 static CiProgram ParseAndResolve(CiParser parser, CiScope parent, List <string> files, List <string> searchDirs)
 {
     parser.Program = new CiProgram {
         Parent = parent
     };
     foreach (string file in files)
     {
         parser.Parse(file, File.OpenText(file));
     }
     new CiResolver(parser.Program, searchDirs);
     return(parser.Program);
 }
All Usage Examples Of Foxoft.Ci.CiParser::Parse