On 24/08/2013 03:10, shankha wrote:
Hi,
I am trying to run the following piece of code:

https://greyhat.gatech.edu/wiki/index.php?title=Java_Bytecode_Tutorial/Getting_Started

python Krakatau/assemble.py minimal.j.

The scripts are written for 2.7. I want to convert them to 3.3.

I am struck with the following error:



[]$ python Krakatau/assemble.py minimal.j
Traceback (most recent call last):
   File "Krakatau/assemble.py", line 4, in <module>
     from Krakatau.assembler import tokenize, parse, assembler


   File "c:\tmp\ByteCode\Krakatau\Krakatau\assembler\tokenize.py", line 3, in 
<module>
     from ..classfile import ClassFile
   File "c:\tmp\ByteCode\Krakatau\Krakatau\classfile.py", line 1, in <module>


     from . import constant_pool, method, field
   File "c:\tmp\ByteCode\Krakatau\Krakatau\constant_pool.py", line 10
     def decodeStr((s,)):
                   ^
SyntaxError: invalid syntax





The code where this error originates from:

def decodeStr((s,)):
     return s.replace('\xc0\x80','\0').decode('utf8'),



I looked athttp://docs.python.org/3/whatsnew/3.0.html  but I couldn't figure 
out where

I am going wrong?

Look here:

    http://docs.python.org/3/whatsnew/3.0.html#changed-syntax

at the "Removed Syntax" section where it mentions PEP 3113.

A simple fix is:

def decodeStr(arg):
    (s,) = arg
    return s.replace('\xc0\x80','\0').decode('utf8'),

or:

def decodeStr(s):
    return s[0].replace('\xc0\x80','\0').decode('utf8'),

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to