Stmt.java 724 B

1234567891011121314151617181920212223242526272829
  1. //Stmt:top//
  2. //Stmt:import//
  3. import java.util.*;
  4. public abstract class Stmt /*Stmt:class*/ {
  5. public static final String $className = "Stmt";
  6. public static Stmt parse(Scan scn$, Trace trace$) {
  7. Token t$ = scn$.cur();
  8. Token.Match match$ = t$.match;
  9. switch(match$) {
  10. case IN:
  11. return InputStmt.parse(scn$,trace$);
  12. case VAR:
  13. return AssignStmt.parse(scn$,trace$);
  14. case OUT:
  15. return OutputStmt.parse(scn$,trace$);
  16. default:
  17. throw new PLCCException(
  18. "Parse error",
  19. "Stmt cannot begin with " + t$.errString()
  20. );
  21. }
  22. }
  23. abstract public void execute();
  24. //Stmt//
  25. }