diff options
Diffstat (limited to 'Compiler/PreprocessingCharStream.cs')
| -rw-r--r-- | Compiler/PreprocessingCharStream.cs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/Compiler/PreprocessingCharStream.cs b/Compiler/PreprocessingCharStream.cs new file mode 100644 index 0000000..428cbff --- /dev/null +++ b/Compiler/PreprocessingCharStream.cs @@ -0,0 +1,25 @@ +namespace Q1.Compiler; + +using Antlr4.Runtime; +using Antlr4.Runtime.Misc; + +public class PreprocessingCharStream : ICharStream +{ + private readonly AntlrInputStream inner; + + public PreprocessingCharStream(string filePath) + { + string preprocessed = Preprocessor.Process(filePath); + this.inner = new AntlrInputStream(preprocessed); + } + + public int Index => this.inner.Index; + public int Size => this.inner.Size; + public string SourceName => this.inner.SourceName; + public void Consume() => this.inner.Consume(); + public int LA(int i) => this.inner.LA(i); + public int Mark() => this.inner.Mark(); + public void Release(int marker) => this.inner.Release(marker); + public void Seek(int index) => this.inner.Seek(index); + public string GetText(Interval interval) => this.inner.GetText(interval); +}
\ No newline at end of file |
