CLanguage by praeclarum

<PackageReference Include="CLanguage" Version="0.8.36" />

 Preprocessor

public class Preprocessor
public string CurrentFilePath { get; }

public int CurrentPosition { get; }

public bool Passthrough { get; }

public Report Report { get; }

public Preprocessor(Report report = null, bool passthrough = false)

public Preprocessor(string name, string code, Report report = null, bool passthrough = false)

public void AddCode(string name, string code)

public void AddDiskFile(string path, string content)

public void Dump(TextWriter o, bool showLineNumbers)

public int Peek()

public int Read()