Java IRC bot
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

TreeToken.java 1.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /*
  2. * To change this template, choose Tools | Templates
  3. * and open the template in the editor.
  4. */
  5. package com.dmdirc.addons.calc;
  6. import java.util.ArrayList;
  7. import java.util.List;
  8. /**
  9. *
  10. * @author chris
  11. */
  12. public class TreeToken {
  13. private final List<TreeToken> children = new ArrayList<TreeToken>();
  14. private final Token token;
  15. private boolean processed = false;
  16. public TreeToken(Token token) {
  17. this.token = token;
  18. }
  19. public List<TreeToken> getChildren() {
  20. return children;
  21. }
  22. public Token getToken() {
  23. return token;
  24. }
  25. public void addChild(final TreeToken token) {
  26. children.add(token);
  27. }
  28. public boolean isProcessed() {
  29. return processed;
  30. }
  31. public void setProcessed() {
  32. processed = true;
  33. }
  34. public Number evaluate() {
  35. return token.getType().evaluate(this);
  36. }
  37. @Override
  38. public String toString() {
  39. return "[token: " + token + "; children: " + children + "; processed: "
  40. + processed + "]";
  41. }
  42. }