import java.util.StringTokenizer; abstract class Expression { static Expression parse(String expText) throws SyntaxException { StringTokenizer tokenizer = new StringTokenizer(expText," \t"); int numtokens = tokenizer.countTokens(); if (numtokens<1||numtokens>3) throw new SyntaxException("right hand side \""+expText+ "\" has "+numtokens+ " tokens (should be 1-3)"); String tokens[] = new String[numtokens]; for(int i=0;i