Package aima.core.logic.common

Examples of aima.core.logic.common.Token


  }

  @Test
  public void testLexBasicExpression() {
    lexer.setInput("( P )");
    Assert.assertEquals(new Token(LogicTokenTypes.LPAREN, "("),
        lexer.nextToken());
    Assert.assertEquals(new Token(LogicTokenTypes.CONSTANT, "P"),
        lexer.nextToken());
    Assert.assertEquals(new Token(LogicTokenTypes.RPAREN, ")"),
        lexer.nextToken());
    Assert.assertEquals(new Token(LogicTokenTypes.EOI, "EOI"),
        lexer.nextToken());
  }
View Full Code Here


  }

  @Test
  public void testConnectors() {
    lexer.setInput(" p  AND q");
    Assert.assertEquals(new Token(LogicTokenTypes.VARIABLE, "p"),
        lexer.nextToken());
    Assert.assertEquals(new Token(LogicTokenTypes.CONNECTOR, "AND"),
        lexer.nextToken());
    Assert.assertEquals(new Token(LogicTokenTypes.VARIABLE, "q"),
        lexer.nextToken());
    Assert.assertEquals(new Token(LogicTokenTypes.EOI, "EOI"),
        lexer.nextToken());
  }
View Full Code Here

  }

  @Test
  public void testFunctions() {
    lexer.setInput(" LeftLeg(q)");
    Assert.assertEquals(new Token(LogicTokenTypes.FUNCTION, "LeftLeg"),
        lexer.nextToken());
    Assert.assertEquals(new Token(LogicTokenTypes.LPAREN, "("),
        lexer.nextToken());
    Assert.assertEquals(new Token(LogicTokenTypes.VARIABLE, "q"),
        lexer.nextToken());
    Assert.assertEquals(new Token(LogicTokenTypes.RPAREN, ")"),
        lexer.nextToken());
    Assert.assertEquals(new Token(LogicTokenTypes.EOI, "EOI"),
        lexer.nextToken());
  }
View Full Code Here

  }

  @Test
  public void testPredicate() {
    lexer.setInput(" HasColor(r)");
    Assert.assertEquals(new Token(LogicTokenTypes.PREDICATE, "HasColor"),
        lexer.nextToken());
    Assert.assertEquals(new Token(LogicTokenTypes.LPAREN, "("),
        lexer.nextToken());
    Assert.assertEquals(new Token(LogicTokenTypes.VARIABLE, "r"),
        lexer.nextToken());
    Assert.assertEquals(new Token(LogicTokenTypes.RPAREN, ")"),
        lexer.nextToken());
    Assert.assertEquals(new Token(LogicTokenTypes.EOI, "EOI"),
        lexer.nextToken());
  }
View Full Code Here

  }

  @Test
  public void testMultiArgPredicate() {
    lexer.setInput(" King(x,y)");
    Assert.assertEquals(new Token(LogicTokenTypes.PREDICATE, "King"),
        lexer.nextToken());
    Assert.assertEquals(new Token(LogicTokenTypes.LPAREN, "("),
        lexer.nextToken());
    Assert.assertEquals(new Token(LogicTokenTypes.VARIABLE, "x"),
        lexer.nextToken());
    Assert.assertEquals(new Token(LogicTokenTypes.COMMA, ","),
        lexer.nextToken());
    Assert.assertEquals(new Token(LogicTokenTypes.VARIABLE, "y"),
        lexer.nextToken());
    Assert.assertEquals(new Token(LogicTokenTypes.RPAREN, ")"),
        lexer.nextToken());
  }
View Full Code Here

  }

  @Test
  public void testQuantifier() {
    lexer.setInput("FORALL x,y");
    Assert.assertEquals(new Token(LogicTokenTypes.QUANTIFIER, "FORALL"),
        lexer.nextToken());
    Assert.assertEquals(new Token(LogicTokenTypes.VARIABLE, "x"),
        lexer.nextToken());
    Assert.assertEquals(new Token(LogicTokenTypes.COMMA, ","),
        lexer.nextToken());
    Assert.assertEquals(new Token(LogicTokenTypes.VARIABLE, "y"),
        lexer.nextToken());
    Assert.assertEquals(new Token(LogicTokenTypes.EOI, "EOI"),
        lexer.nextToken());
  }
View Full Code Here

  }

  @Test
  public void testTermEquality() {
    lexer.setInput("BrotherOf(John) = EnemyOf(Saladin)");
    Assert.assertEquals(new Token(LogicTokenTypes.FUNCTION, "BrotherOf"),
        lexer.nextToken());
    Assert.assertEquals(new Token(LogicTokenTypes.LPAREN, "("),
        lexer.nextToken());
    Assert.assertEquals(new Token(LogicTokenTypes.CONSTANT, "John"),
        lexer.nextToken());
    Assert.assertEquals(new Token(LogicTokenTypes.RPAREN, ")"),
        lexer.nextToken());
    Assert.assertEquals(new Token(LogicTokenTypes.EQUALS, "="),
        lexer.nextToken());
    Assert.assertEquals(new Token(LogicTokenTypes.FUNCTION, "EnemyOf"),
        lexer.nextToken());
    Assert.assertEquals(new Token(LogicTokenTypes.LPAREN, "("),
        lexer.nextToken());
    Assert.assertEquals(new Token(LogicTokenTypes.CONSTANT, "Saladin"),
        lexer.nextToken());
    Assert.assertEquals(new Token(LogicTokenTypes.RPAREN, ")"),
        lexer.nextToken());
  }
View Full Code Here

    consume();
    return new Symbol(sym);
  }

  private AtomicSentence parseAtomicSentence() {
    Token t = lookAhead(1);
    if (t.getType() == LogicTokenTypes.TRUE) {
      return parseTrue();
    } else if (t.getType() == LogicTokenTypes.FALSE) {
      return parseFalse();
    } else if (t.getType() == LogicTokenTypes.SYMBOL) {
      return parseSymbol();
    } else {
      throw new RuntimeException(
          "Error in parseAtomicSentence with Token " + lookAhead(1));
    }
View Full Code Here

   */
  @Override
  public Token nextToken() {
    if (lookAhead(1) == '(') {
      consume();
      return new Token(LogicTokenTypes.LPAREN, "(");

    } else if (lookAhead(1) == ')') {
      consume();
      return new Token(LogicTokenTypes.RPAREN, ")");
    } else if (identifierDetected()) {
      return symbol();

    } else if (Character.isWhitespace(lookAhead(1))) {
      consume();
      return nextToken();
      // return whiteSpace();
    } else if (lookAhead(1) == (char) -1) {
      return new Token(LogicTokenTypes.EOI, "EOI");
    } else {
      throw new RuntimeException("Lexing error on character "
          + lookAhead(1));
    }
  }
View Full Code Here

      sbuf.append(lookAhead(1));
      consume();
    }
    String symbol = sbuf.toString();
    if (isConnector(symbol)) {
      return new Token(LogicTokenTypes.CONNECTOR, sbuf.toString());
    } else if (symbol.equalsIgnoreCase("true")) {
      return new Token(LogicTokenTypes.TRUE, "TRUE");
    } else if (symbol.equalsIgnoreCase("false")) {
      return new Token(LogicTokenTypes.FALSE, "FALSE");
    } else {
      return new Token(LogicTokenTypes.SYMBOL, sbuf.toString());
    }

  }
View Full Code Here

TOP

Related Classes of aima.core.logic.common.Token

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.