mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2025-07-03 16:35:50 +00:00
fix tscript comment issues
This commit is contained in:
parent
2be4b36d1a
commit
99acadaf59
@ -87,7 +87,11 @@ public class Parser {
|
|||||||
|
|
||||||
TokenHolder tokens = new TokenHolder();
|
TokenHolder tokens = new TokenHolder();
|
||||||
try {
|
try {
|
||||||
while(tokenizer.hasNext()) tokens.add(tokenizer.fetch());
|
Token t = tokenizer.fetch();
|
||||||
|
while(t != null) {
|
||||||
|
tokens.add(t);
|
||||||
|
t = tokenizer.fetch();
|
||||||
|
}
|
||||||
} catch(TokenizerException e) {
|
} catch(TokenizerException e) {
|
||||||
throw new ParseException("Failed to tokenize input", new Position(0, 0), e);
|
throw new ParseException("Failed to tokenize input", new Position(0, 0), e);
|
||||||
}
|
}
|
||||||
|
@ -18,23 +18,14 @@ public class Tokenizer {
|
|||||||
reader = new Lookahead(new StringReader(data + '\0'));
|
reader = new Lookahead(new StringReader(data + '\0'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean hasNext() {
|
|
||||||
|
|
||||||
int whiteEnd = 0;
|
|
||||||
|
|
||||||
while(!reader.next(whiteEnd).isEOF() && reader.next(whiteEnd).isWhitespace()) whiteEnd++; // Consume whitespace.
|
|
||||||
|
|
||||||
return !reader.next(whiteEnd).isEOF();
|
|
||||||
}
|
|
||||||
|
|
||||||
public Token fetch() throws TokenizerException {
|
public Token fetch() throws TokenizerException {
|
||||||
while(!reader.current().isEOF() && reader.current().isWhitespace()) reader.consume();
|
while(!reader.current().isEOF() && reader.current().isWhitespace()) reader.consume();
|
||||||
if(reader.current().isEOF()) return null; // EOF
|
|
||||||
|
|
||||||
if(reader.matches("//", true)) skipLine(); // Skip line if comment
|
while(reader.matches("//", true)) skipLine(); // Skip line if comment
|
||||||
|
|
||||||
if(reader.matches("/*", true)) skipTo("*/"); // Skip multi line comment
|
if(reader.matches("/*", true)) skipTo("*/"); // Skip multi line comment
|
||||||
|
|
||||||
|
if(reader.current().isEOF()) return null; // EOF
|
||||||
|
|
||||||
if(reader.matches("==", true))
|
if(reader.matches("==", true))
|
||||||
return new Token("==", Token.Type.EQUALS_OPERATOR, new Position(reader.getLine(), reader.getIndex()));
|
return new Token("==", Token.Type.EQUALS_OPERATOR, new Position(reader.getLine(), reader.getIndex()));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user