From 7bda9de511a5642efb297eae98c6ea7c42b27754 Mon Sep 17 00:00:00 2001 From: "Benjamin J. Culkin" Date: Wed, 25 Oct 2017 12:10:14 -0300 Subject: Start switch to maven modules --- dice-lang/src/bjc/dicelang/expr/Lexer.java | 62 ------------------------------ 1 file changed, 62 deletions(-) delete mode 100644 dice-lang/src/bjc/dicelang/expr/Lexer.java (limited to 'dice-lang/src/bjc/dicelang/expr/Lexer.java') diff --git a/dice-lang/src/bjc/dicelang/expr/Lexer.java b/dice-lang/src/bjc/dicelang/expr/Lexer.java deleted file mode 100644 index dfa0f76..0000000 --- a/dice-lang/src/bjc/dicelang/expr/Lexer.java +++ /dev/null @@ -1,62 +0,0 @@ -package bjc.dicelang.expr; - -import java.util.LinkedList; -import java.util.List; - -import bjc.utils.funcdata.IList; -import bjc.utils.parserutils.splitter.ConfigurableTokenSplitter; - -/* - * @TODO 10/08/18 :IntExpressions - * Add support for integer constants, and maybe floating-point ones as well - * if you feel like. Heck, you could even go for ratio constants and things - * as well. - */ -/** - * Implements the lexer for simple expression operations. - * - * @author Ben Culkin - */ -public class Lexer { - /* Splitter we use. */ - private final ConfigurableTokenSplitter split; - - /** Create a new expression lexer. */ - public Lexer() { - split = new ConfigurableTokenSplitter(true); - - split.addSimpleDelimiters("(", ")"); - split.addSimpleDelimiters("+", "-", "*", "/"); - } - - /** - * Convert a string from a input command to a series of infix tokens. - * - * @param inp - * The input command. - * - * @param tks - * The token state. - * - * @return A series of infix tokens representing the command. - */ - public Token[] lexString(final String inp, final Tokens tks) { - /* Split tokens on whitespace. */ - final String[] spacedTokens = inp.split("[ \t]"); - /* Tokens to return. */ - final List tokens = new LinkedList<>(); - - /* Process each token. */ - for (final String spacedToken : spacedTokens) { - /* Split on operators. */ - final IList splitTokens = split.split(spacedToken); - /* Convert strings to tokens. */ - final IList rawTokens = splitTokens.map(tok -> tks.lexToken(tok, spacedToken)); - - /* Add tokens to results. */ - rawTokens.forEach(tokens::add); - } - - return tokens.toArray(new Token[0]); - } -} -- cgit v1.2.3