mirror of
https://github.com/aNNiMON/HotaruFX.git
synced 2024-09-19 14:14:21 +03:00
Add colon, plus, minus operators
This commit is contained in:
parent
37cf836c40
commit
45749bf471
@ -14,7 +14,7 @@ public class HotaruLexer extends Lexer {
|
||||
}
|
||||
|
||||
private static final String TEXT_CHARS = "'\"";
|
||||
private static final String OPERATOR_CHARS = "(){}=.,";
|
||||
private static final String OPERATOR_CHARS = "(){}:=+-.,";
|
||||
|
||||
private static final Map<String, HotaruTokenId> OPERATORS;
|
||||
static {
|
||||
@ -23,7 +23,10 @@ public class HotaruLexer extends Lexer {
|
||||
OPERATORS.put(")", HotaruTokenId.RPAREN);
|
||||
OPERATORS.put("{", HotaruTokenId.LBRACE);
|
||||
OPERATORS.put("}", HotaruTokenId.RBRACE);
|
||||
OPERATORS.put(":", HotaruTokenId.COLON);
|
||||
OPERATORS.put("=", HotaruTokenId.EQ);
|
||||
OPERATORS.put("+", HotaruTokenId.PLUS);
|
||||
OPERATORS.put("-", HotaruTokenId.MINUS);
|
||||
OPERATORS.put(".", HotaruTokenId.DOT);
|
||||
OPERATORS.put(",", HotaruTokenId.COMMA);
|
||||
}
|
||||
|
@ -11,10 +11,13 @@ public enum HotaruTokenId {
|
||||
TEXT(Category.STRING),
|
||||
|
||||
EQ(Category.OPERATOR),
|
||||
PLUS(Category.OPERATOR),
|
||||
MINUS(Category.OPERATOR),
|
||||
LPAREN(Category.OPERATOR),
|
||||
RPAREN(Category.OPERATOR),
|
||||
LBRACE(Category.OPERATOR),
|
||||
RBRACE(Category.OPERATOR),
|
||||
COLON(Category.OPERATOR),
|
||||
COMMA(Category.OPERATOR),
|
||||
DOT(Category.OPERATOR),
|
||||
|
||||
|
@ -76,14 +76,17 @@ class HotaruLexerTest {
|
||||
|
||||
@Test
|
||||
void testTokenizeOperators() {
|
||||
assertThat(t("(){}=,."), contains(
|
||||
assertThat(t("(){}=+-,.:"), contains(
|
||||
tokenId(HotaruTokenId.LPAREN),
|
||||
tokenId(HotaruTokenId.RPAREN),
|
||||
tokenId(HotaruTokenId.LBRACE),
|
||||
tokenId(HotaruTokenId.RBRACE),
|
||||
tokenId(HotaruTokenId.EQ),
|
||||
tokenId(HotaruTokenId.PLUS),
|
||||
tokenId(HotaruTokenId.MINUS),
|
||||
tokenId(HotaruTokenId.COMMA),
|
||||
tokenId(HotaruTokenId.DOT)
|
||||
tokenId(HotaruTokenId.DOT),
|
||||
tokenId(HotaruTokenId.COLON)
|
||||
));
|
||||
}
|
||||
|
||||
@ -118,11 +121,16 @@ class HotaruLexerTest {
|
||||
|
||||
@Test
|
||||
void testStatements() {
|
||||
assertThat(t("A = node()"), contains(
|
||||
assertThat(t("A = node({x : 10})"), contains(
|
||||
tokenId(HotaruTokenId.WORD),
|
||||
tokenId(HotaruTokenId.EQ),
|
||||
tokenId(HotaruTokenId.WORD),
|
||||
tokenId(HotaruTokenId.LPAREN),
|
||||
tokenId(HotaruTokenId.LBRACE),
|
||||
tokenId(HotaruTokenId.WORD),
|
||||
tokenId(HotaruTokenId.COLON),
|
||||
tokenId(HotaruTokenId.NUMBER),
|
||||
tokenId(HotaruTokenId.RBRACE),
|
||||
tokenId(HotaruTokenId.RPAREN)
|
||||
));
|
||||
assertThat(t("B.x = 100"), contains(
|
||||
|
Loading…
Reference in New Issue
Block a user