Classes 12

This commit is contained in:
nazrin 2025-06-02 22:22:04 +00:00
parent 52a7b73a9e
commit d8ac625429
18 changed files with 417 additions and 186 deletions

View file

@ -30,7 +30,7 @@ class Scanner {
current++;
return true;
}
private void addToken(TokenType type, TValue literal = TValue.nil(tvalueNil)){
private void addToken(TokenType type, LoxValue literal = new LoxNil()){
string text = source[start .. current];
tokens ~= new Token(type, text, literal, line);
}
@ -54,7 +54,7 @@ class Scanner {
}
advance();
string value = source[start + 1 .. current -1];
addToken(TokenType.STRING, TValue.str(value));
addToken(TokenType.STRING, new LoxStr(value));
}
private void number(){
while(peek().isDigit)
@ -64,7 +64,7 @@ class Scanner {
while(peek().isDigit)
advance();
}
addToken(TokenType.NUMBER, TValue.dbl(source[start .. current].to!double));
addToken(TokenType.NUMBER, new LoxNum(source[start .. current].to!double));
}
private TokenType keywords(string word){
with(TokenType) switch(word){