Skip to content

Instantly share code, notes, and snippets.

@sliceofbytes
Last active March 3, 2022 05:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sliceofbytes/1c5f799c57f0566bc51f2979f0561707 to your computer and use it in GitHub Desktop.
Save sliceofbytes/1c5f799c57f0566bc51f2979f0561707 to your computer and use it in GitHub Desktop.
Grammer Syntax must be in all upper case for this to work.
public class InsenstiveStringStream : ANTLRStringStream
{
public InsenstiveStringStream(char\[\] data, int numberOfActualCharsInArray) : base(data, numberOfActualCharsInArray) {}
public CaseInsensitiveStringStream() {}
public CaseInsensitiveStringStream(string input) : base(input) {}
public override int LA(int i)
{
if (i == 0) return 0;
if (i < 0) i++;
if (((p + i) - 1) >= n) return (int) CharStreamConstants.EOF;
return Char.ToUpperInvariant(data\[(p + i) - 1\]);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment