InputStmt.java 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. //InputStmt:top//
  2. //InputStmt:import//
  3. import java.util.*;
  4. // <stmt>InputStmt ::= <IN> <VAR> <SEMI>
  5. public class InputStmt extends Stmt /*InputStmt:class*/ {
  6. public static final String $className = "InputStmt";
  7. public static final String $ruleString =
  8. "<stmt>InputStmt ::= <IN> <VAR> <SEMI>";
  9. public Token in;
  10. public Token var;
  11. public Token semi;
  12. public InputStmt(Token in, Token var, Token semi) {
  13. //InputStmt:init//
  14. this.in = in;
  15. this.var = var;
  16. this.semi = semi;
  17. }
  18. public static InputStmt parse(Scan scn$, Trace trace$) {
  19. if (trace$ != null)
  20. trace$ = trace$.nonterm("<stmt>InputStmt", scn$.lno);
  21. Token in = scn$.match(Token.Match.IN, trace$);
  22. Token var = scn$.match(Token.Match.VAR, trace$);
  23. Token semi = scn$.match(Token.Match.SEMI, trace$);
  24. return new InputStmt(in, var, semi);
  25. }
  26. public void execute() {
  27. System.out.print("? ");
  28. Program.hshmap.put(var.toString(), Program.scanner.nextInt());
  29. }
  30. //InputStmt//
  31. }