public byte evaluate() {
        if(!type.hasLiteral()) {
            return type.getCode();
        } else {
            assert(data.checkResolved());
            if(hasNextWord()) {
                return type.getCode();
            } else {
                assert(type == ValueType.LITERAL);
                return (byte)(0x20+data.getUnresolvedWord());
            }
        }
    }