Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Parsing of the EXE template fails #26

Open
GitMirar opened this issue Oct 21, 2019 · 2 comments
Open

Parsing of the EXE template fails #26

GitMirar opened this issue Oct 21, 2019 · 2 comments

Comments

@GitMirar
Copy link

Parsing of the EXE template (https://www.sweetscape.com/010editor/repository/files/EXE.bt) fails with

In [2]: dom = pfp.parse(data_file="/home/user/samples/d22563d7b913f3c64176301f3de41a16f604bde5e4d335405574485d1817
   ...: 3844", template_file="/home/user/Documents/SweetScape/010 Templates/Repository/EXE.bt")                                                            
---------------------------------------------------------------------------
ParseError                                Traceback (most recent call last)
<ipython-input-2-0ad089ec8cd1> in <module>
----> 1 dom = pfp.parse(data_file="/home/user/samples/d22563d7b913f3c64176301f3de41a16f604bde5e4d335405574485d18173844", template_file="/home/user/Documents/SweetScape/010 Templates/Repository/EXE.bt")

~/.venv/pfp/lib/python3.7/site-packages/pfp/__init__.py in parse(data, template, data_file, template_file, interp, debug, predefines, int3, keep_successful, printf)
     89         orig_filename=orig_filename,
     90         keep_successful=keep_successful,
---> 91         printf=printf,
     92     )
     93 

~/.venv/pfp/lib/python3.7/site-packages/pfp/interp.py in parse(self, stream, template, predefines, orig_filename, keep_successful, printf)
    731         self._template = template
    732         self._template_lines = self._template.split("\n")
--> 733         self._ast = self._parse_string(template, predefines)
    734         self._dlog("parsed template into ast")
    735 

~/.venv/pfp/lib/python3.7/site-packages/pfp/interp.py in _parse_string(self, string, predefines)
    876             parser=self._parser,
    877             # only keep the scopes if we ran the predefines
--> 878             keep_scopes=predefines,
    879         )
    880         res.ext = exts + res.ext

~/.venv/pfp/lib/python3.7/site-packages/py010parser/__init__.py in parse_string(text, parser, filename, optimize, predefine_types, use_cpp, cpp_path, cpp_args, keep_scopes)
    135         filename,
    136         predefine_types = predefine_types,
--> 137         keep_scopes     = keep_scopes
    138     )

~/.venv/pfp/lib/python3.7/site-packages/py010parser/c_parser.py in parse(self, text, filename, debuglevel, predefine_types, keep_scopes)
    176                 input=text,
    177                 lexer=self.clex,
--> 178                 debug=debuglevel)
    179 
    180         res.ext = predefined_ext + res.ext

~/.venv/pfp/lib/python3.7/site-packages/py010parser/ply/yacc.py in parse(self, input, lexer, debug, tracking, tokenfunc)
    263             return self.parseopt(input,lexer,debug,tracking,tokenfunc)
    264         else:
--> 265             return self.parseopt_notrack(input,lexer,debug,tracking,tokenfunc)
    266 
    267 

~/.venv/pfp/lib/python3.7/site-packages/py010parser/ply/yacc.py in parseopt_notrack(self, input, lexer, debug, tracking, tokenfunc)
   1045                         if errtoken and not hasattr(errtoken,'lexer'):
   1046                             errtoken.lexer = lexer
-> 1047                         tok = self.errorfunc(errtoken)
   1048                         del errok, token, restart   # Delete special functions
   1049 

~/.venv/pfp/lib/python3.7/site-packages/py010parser/c_parser.py in p_error(self, p)
   1950                 'before: %s' % p.value,
   1951                 self._coord(lineno=p.lineno,
-> 1952                             column=self.clex.find_tok_column(p)))
   1953         else:
   1954             self._parse_error('At end of input', '')

~/.venv/pfp/lib/python3.7/site-packages/py010parser/plyparser.py in _parse_error(self, msg, coord)
     52 
     53     def _parse_error(self, msg, coord):
---> 54         raise ParseError("%s: %s" % (coord, msg))
     55 

ParseError: /tmp/tmp3ckztvn9:163:77: before: 2

@GitMirar GitMirar changed the title Parsing of the EXE template failes Parsing of the EXE template fails Oct 21, 2019
@d0c-s4vage
Copy link
Owner

Thank you for reporting this issue!

I have created the following two issues to track some specific problems that cropped up trying to use the EXE template:

This ticket will be closed once those two are complete

@d0c-s4vage
Copy link
Owner

@GitMirar #28 was fixed with release 0.1.16. #27 still needs to be fixed.

Run

pip install --upgrade py010parser

to pull down the latest version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants