Kecaknoah.Analyze.KecaknoahLexer.AnalyzeFromFile C# (CSharp) Method

AnalyzeFromFile() public method

ファイルを指定して解析します。 Encoding.Defaultのエンコードのものとされます。
public AnalyzeFromFile ( string fileName ) : Kecaknoah.Analyze.KecaknoahLexResult
fileName string ファイル名
return Kecaknoah.Analyze.KecaknoahLexResult
        public KecaknoahLexResult AnalyzeFromFile(string fileName) => AnalyzeFromText(Path.GetFileName(fileName), File.ReadAllText(fileName, Encoding.Default));

Same methods

KecaknoahLexer::AnalyzeFromFile ( string fileName, Encoding encode ) : Kecaknoah.Analyze.KecaknoahLexResult

Usage Example

Exemplo n.º 1
0
 private void ProcessUseDirective(KecaknoahSource src)
 {
     var cur = Directory.GetCurrentDirectory();
     var asm = Path.GetDirectoryName(typeof(KecaknoahModule).Assembly.Location);
     var lex = new KecaknoahLexer();
     var par = new KecaknoahParser();
     var prc = new KecaknoahPrecompiler();
     foreach (var text in src.Uses)
     {
         var arg = text.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
         switch (arg[0])
         {
             case "import":
                 var it = Path.Combine(cur, arg[1]);
                 Directory.SetCurrentDirectory(Path.GetDirectoryName(it));
                 var s = prc.PrecompileAll(par.Parse(lex.AnalyzeFromFile(it)));
                 RegisterSource(s);
                 Directory.SetCurrentDirectory(cur);
                 break;
             case "stdlib":
                 var lt = Path.Combine(asm, "lib");
                 Directory.SetCurrentDirectory(Path.GetDirectoryName(lt));
                 var s2 = prc.PrecompileAll(par.Parse(lex.AnalyzeFromFile(lt)));
                 RegisterSource(s2);
                 Directory.SetCurrentDirectory(cur);
                 break;
         }
     }
 }