@Override public void handle(Token v) throws ScriptError {
		switch( v.type ) {
		case BAREWORD: case SINGLE_QUOTED_STRING:
			Word w = words.get(v.text);
			if( w == null ) {
				Matcher m;
				if( (m = DECIMAL.matcher(v.text)).matches() ) {
					vm.push(Short.parseShort(v.text));
				} else if( (m = HEX.matcher(v.text)).matches() ) {
					vm.push(Short.parseShort(m.group(1), 16));
				} else {
					throw new ScriptError("Unrecognized word: '"+v.text+"'", v);
				}
			} else {
				w.invoke(vm);
			}
			return;
		case DOUBLE_QUOTED_STRING:
			throw new ScriptError("Literal strings not supported!", v);
		}
	}