Performed some minor code cleanup

This commit is contained in:
Mike Cifelli 2016-12-16 14:15:29 -05:00
parent 6f4a319dab
commit 064f905045
6 changed files with 16 additions and 24 deletions

View File

@ -14,15 +14,15 @@ public class Eof extends Token {
@Override @Override
public SExpression parseSExpression(Supplier<Token> getNextToken) { public SExpression parseSExpression(Supplier<Token> getNextToken) {
throw new EofEncounteredException(this); throw new EofEncounteredException(getPosition());
} }
public static class EofEncounteredException extends LineColumnException { public static class EofEncounteredException extends LineColumnException {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public EofEncounteredException(Token token) { public EofEncounteredException(FilePosition position) {
super(token.getPosition()); super(position);
} }
public String getMessagePrefix() { public String getMessagePrefix() {

View File

@ -15,7 +15,7 @@ public class RightParenthesis extends Token {
@Override @Override
public SExpression parseSExpression(Supplier<Token> getNextToken) { public SExpression parseSExpression(Supplier<Token> getNextToken) {
throw new StartsWithRightParenthesisException(this); throw new StartsWithRightParenthesisException(getPosition());
} }
@Override @Override
@ -27,12 +27,12 @@ public class RightParenthesis extends Token {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public StartsWithRightParenthesisException(Token token) { public StartsWithRightParenthesisException(FilePosition position) {
super(token.getPosition()); super(position);
} }
public String getMessagePrefix() { public String getMessagePrefix() {
return "Expression begins with ')'"; return "expression begins with ')'";
} }
} }

View File

@ -27,18 +27,6 @@ public abstract class Token {
return position; return position;
} }
public String getFileName() {
return position.getFileName();
}
public int getLine() {
return position.getLineNumber();
}
public int getColumn() {
return position.getColumnNumber();
}
// sExpr ::= NUMBER | IDENTIFIER | STRING | QUOTE_MARK sExpr | LEFT_PAREN sExprTail // sExpr ::= NUMBER | IDENTIFIER | STRING | QUOTE_MARK sExpr | LEFT_PAREN sExprTail
public abstract SExpression parseSExpression(Supplier<Token> getNextToken); public abstract SExpression parseSExpression(Supplier<Token> getNextToken);

View File

@ -7,6 +7,7 @@ import java.io.InputStream;
import org.junit.Test; import org.junit.Test;
import file.FilePosition;
import token.Token; import token.Token;
public class LispScannerLineColumnTester { public class LispScannerLineColumnTester {
@ -24,8 +25,8 @@ public class LispScannerLineColumnTester {
return lineColumn; return lineColumn;
} }
public boolean isEqual(Token token) { public boolean isEqual(FilePosition position) {
return (this.line == token.getLine()) && (this.column == token.getColumn()); return (this.line == position.getLineNumber()) && (this.column == position.getColumnNumber());
} }
} }
@ -35,7 +36,7 @@ public class LispScannerLineColumnTester {
for (LineColumn lineColumn : expectedLineColumnList) { for (LineColumn lineColumn : expectedLineColumnList) {
Token nextToken = lispScanner.getNextToken(); Token nextToken = lispScanner.getNextToken();
assertTrue(lineColumn.isEqual(nextToken)); assertTrue(lineColumn.isEqual(nextToken.getPosition()));
} }
} }

View File

@ -7,6 +7,8 @@ import java.io.InputStream;
import org.junit.Test; import org.junit.Test;
import file.FilePosition;
public class LispScannerTextTester { public class LispScannerTextTester {
private void assertTokenTextMatches(String input, String[] expectedTextList) { private void assertTokenTextMatches(String input, String[] expectedTextList) {
@ -31,8 +33,9 @@ public class LispScannerTextTester {
private void assertInputFileNameMatches(String input, String expectedInputFileName) { private void assertInputFileNameMatches(String input, String expectedInputFileName) {
InputStream stringInputStream = createInputStreamFromString(input); InputStream stringInputStream = createInputStreamFromString(input);
LispScanner lispScanner = new LispScanner(stringInputStream, expectedInputFileName); LispScanner lispScanner = new LispScanner(stringInputStream, expectedInputFileName);
FilePosition tokenPosition = lispScanner.getNextToken().getPosition();
assertEquals(expectedInputFileName, lispScanner.getNextToken().getFileName()); assertEquals(expectedInputFileName, tokenPosition.getFileName());
} }
@Test @Test