Skip to content
This repository has been archived by the owner on Apr 3, 2018. It is now read-only.

Commit

Permalink
LANG: minor ILexingRule change
Browse files Browse the repository at this point in the history
  • Loading branch information
bruno-medeiros committed Sep 24, 2015
1 parent 5d598d0 commit 52db8bb
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 4 deletions.
Expand Up @@ -14,12 +14,12 @@

import melnorme.lang.utils.parse.ICharacterReader;

public interface ILexingRule2<TOKEN> {
public interface ILexingRule2<TOKEN> extends ILexingRule {

default TOKEN evaluateToken(ICharacterReader reader) {
CharacterReader_SubReader subReader = new CharacterReader_SubReader(reader);

TOKEN result = doEvaluate(subReader);
TOKEN result = doEvaluateToken(subReader);
if(subReader.getReadOffset() == 0) {
assertTrue(result == null);
}
Expand All @@ -29,6 +29,11 @@ default TOKEN evaluateToken(ICharacterReader reader) {
return result;
}

TOKEN doEvaluate(ICharacterReader subReader);
TOKEN doEvaluateToken(ICharacterReader subReader);

@Override
default boolean doEvaluate(ICharacterReader reader) {
return evaluateToken(reader) != null;
}

}
Expand Up @@ -35,7 +35,7 @@ public void addWord(String keyword, TOKEN token) {
}

@Override
public TOKEN doEvaluate(ICharacterReader reader) {
public TOKEN doEvaluateToken(ICharacterReader reader) {
if(LexingUtils.skipWhitespace(reader) > 0) {
return whitespaceToken;
}
Expand Down

0 comments on commit 52db8bb

Please sign in to comment.