private List<String> returnExpr(List<String> tokenList) {
		final int St_START = 1, St_LP_START = 2;

		Iterator tokenIt = tokenList.iterator();
		int currentState = St_START;

		while (tokenIt.hasNext()) {
			String nextToken = (String) tokenIt.next();
			switch (currentState) {
			case St_START:
				if (nextToken.equals("LP")) {
					currentState = St_LP_START;
				} else if (nextToken.equals("RETURN")) {
					List<String> exprList = new ArrayList<String>();
					while (tokenIt.hasNext()) {
						exprList.add((String) tokenIt.next());
					}
					return exprList;
				} else {
					return new ArrayList<String>();
				}
				break;
			case St_LP_START:
				if (nextToken.equals("LP")) {
					// state stays the same
				} else if (nextToken.equals("RETURN")) {
					List<String> exprList = new ArrayList<String>();
					while (tokenIt.hasNext()) {
						exprList.add((String) tokenIt.next());
					}
					return exprList;
				}
				break;
			default:
				System.out.println("Error: Incorrect state in isReturnExpr");
				System.exit(-1);
				break;
			}
		}

		return new ArrayList<String>();
	}