Implemented lexer

This commit is contained in:
Clemens-Dautermann 2020-08-15 23:36:29 +02:00
parent cb809bfd29
commit ea26acce4a
34 changed files with 641 additions and 0 deletions

36
Compiler/Compiler.cs Normal file
View file

@ -0,0 +1,36 @@
using System;
using System.Collections.Generic;
using System.IO;
namespace Compiler
{
public class Compiler
{
public static void Main()
{
TestCompiler("../../../../tests/week_1/valid");
TestCompiler("../../../../tests/week_1/invalid");
}
static void TestCompiler(String path)
{
String[] files = Directory.GetFiles(path);
Lexer lexer = new Lexer();
foreach (String filename in files)
{
StreamReader file = new StreamReader(filename);
String contents = file.ReadToEnd();
List<Token> tokens = lexer.Lex(contents);
Console.WriteLine("-----------" + filename + "-----------");
foreach (Token token in tokens)
{
Console.WriteLine(token.ToString());
}
Console.WriteLine("--------------------------------------");
}
}
}
}