public IExpression Parse(string expression) { _expression = expression; _lexicalScanner = new LexicalScanner(expression); return(ParseExpression()); }
public void TestSimpleParenthesisExpression() { LexicalScanner scanner = new LexicalScanner("(1*2)"); AbstractToken token = scanner.GetNextToken(); Assert.IsInstanceOf(typeof(OpenParenthesis), token); Assert.IsTrue(token.GetValue().Equals("(")); token = scanner.GetNextToken(); Assert.IsInstanceOf(typeof(Integer), token); Assert.IsTrue(token.GetValue().Equals("1")); token = scanner.GetNextToken(); Assert.IsInstanceOf(typeof(Operator), token); Assert.IsTrue(token.GetValue().Equals("*")); token = scanner.GetNextToken(); Assert.IsInstanceOf(typeof(Integer), token); Assert.IsTrue(token.GetValue().Equals("2")); token = scanner.GetNextToken(); Assert.IsInstanceOf(typeof(CloseParenthesis), token); Assert.IsTrue(token.GetValue().Equals(")")); }
public void TestGetAllTokens() { LexicalScanner scanner = new LexicalScanner("1+2"); List <AbstractToken> tokens = scanner.GetAllTokens() as List <AbstractToken>; Assert.AreEqual(3, tokens.Count); }
public void TestPolynomialMixedSpacesEqualsExpression() { LexicalScanner scanner = new LexicalScanner("4 = 1^2 + 4*x \\22.8"); List <AbstractToken> tokens = scanner.GetAllTokens() as List <AbstractToken>; Assert.AreEqual(11, tokens.Count); }
public void TestPolynomialMixedSpacesExpExpression() { LexicalScanner scanner = new LexicalScanner("1.0e+2 ^2 + 4*x +22.8"); List<AbstractToken> tokens = scanner.GetAllTokens() as List<AbstractToken>; Assert.AreEqual(9, tokens.Count); }
public void TestPolynomialExpression() { LexicalScanner scanner = new LexicalScanner("a^2+b*x+c"); List<AbstractToken> tokens = scanner.GetAllTokens() as List<AbstractToken>; Assert.AreEqual(9, tokens.Count); }
public void TestGetAllTokens() { LexicalScanner scanner = new LexicalScanner("1+2"); List<AbstractToken> tokens = scanner.GetAllTokens() as List<AbstractToken>; Assert.AreEqual(3, tokens.Count); }
public void TestPolynomialExpression() { LexicalScanner scanner = new LexicalScanner("a^2+b*x+c"); List <AbstractToken> tokens = scanner.GetAllTokens() as List <AbstractToken>; Assert.AreEqual(9, tokens.Count); }
public void TestFloat() { LexicalScanner scanner = new LexicalScanner("1.0"); AbstractToken token = scanner.GetNextToken(); Assert.IsInstanceOf(typeof(Float), token); Assert.IsTrue(token.GetValue().Equals("1.0")); }
public void TestInt() { LexicalScanner scanner = new LexicalScanner("1"); AbstractToken token = scanner.GetNextToken(); Assert.IsInstanceOf(typeof(Integer), token); Assert.IsTrue(token.GetValue().Equals("1")); }
public void TestPolynomialsExpression() { LexicalScanner scanner = new LexicalScanner("(5-2)*3^6+1"); List <AbstractToken> tokens = new List <AbstractToken>(); while (!scanner.EndOfInput) { tokens.Add(scanner.GetNextToken()); } Assert.AreEqual(11, tokens.Count); }
public void TestSimpleAddSubExpression() { LexicalScanner scanner = new LexicalScanner("1+2"); AbstractToken token = scanner.GetNextToken(); Assert.IsInstanceOf(typeof(Integer), token); Assert.IsTrue(token.GetValue().Equals("1")); token = scanner.GetNextToken(); Assert.IsInstanceOf(typeof(AddSub), token); Assert.IsTrue(token.GetValue().Equals("+")); token = scanner.GetNextToken(); Assert.IsInstanceOf(typeof(Integer), token); Assert.IsTrue(token.GetValue().Equals("2")); }
public CliApp(LexicalScanner lexicalScanner, SemanticAnalyzer.SemanticAnalyzer semanticAnalyzer) { Lexer = lexicalScanner; SemAnalyzer = semanticAnalyzer; }
public void TestPolynomialsExpression() { LexicalScanner scanner = new LexicalScanner("(5-2)*3^6+1"); List<AbstractToken> tokens = new List<AbstractToken>(); while (!scanner.EndOfInput) { tokens.Add(scanner.GetNextToken()); } Assert.AreEqual(11, tokens.Count); }
public Parser(String invoer) { _lex = new LexicalScanner(invoer); _currentNode = _start; }