scrapinghub / js2xml

Convert Javascript code to an XML document
MIT License
186 stars 23 forks source link

Technical issue #42

Closed jinkinson closed 4 years ago

jinkinson commented 4 years ago

I want to report a technical issue with js2xml. When I try to execute the example script step by step exactly as given in the readme at this link https://github.com/scrapinghub/js2xml I get an error. Specifically, when I try to run the step "parsed = js2xml.parse(jscode)", I get the following error:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/jinkinsonsmith/Documents/Scripting/my_project/spiders/tutorial/tutorial/spiders/venv/lib/python3.6/site-packages/js2xml/__init__.py", line 17, in parse
    tree = _parser.parse(text, debug=debug)
  File "/Users/jinkinsonsmith/Documents/Scripting/my_project/spiders/tutorial/tutorial/spiders/venv/lib/python3.6/site-packages/js2xml/parser.py", line 36, in parse
    result = super(CustomParser, self).parse(text, debug=debug)
  File "/Users/jinkinsonsmith/Documents/Scripting/my_project/spiders/tutorial/tutorial/spiders/venv/lib/python3.6/site-packages/slimit/parser.py", line 93, in parse
    return self.parser.parse(text, lexer=self.lexer, debug=debug)
  File "/Users/jinkinsonsmith/Documents/Scripting/my_project/spiders/tutorial/tutorial/spiders/venv/lib/python3.6/site-packages/ply/yacc.py", line 333, in parse
    return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc)
  File "/Users/jinkinsonsmith/Documents/Scripting/my_project/spiders/tutorial/tutorial/spiders/venv/lib/python3.6/site-packages/ply/yacc.py", line 1201, in parseopt_notrack
    tok = call_errorfunc(self.errorfunc, errtoken, self)
  File "/Users/jinkinsonsmith/Documents/Scripting/my_project/spiders/tutorial/tutorial/spiders/venv/lib/python3.6/site-packages/ply/yacc.py", line 192, in call_errorfunc
    r = errorfunc(token)
  File "/Users/jinkinsonsmith/Documents/Scripting/my_project/spiders/tutorial/tutorial/spiders/venv/lib/python3.6/site-packages/slimit/parser.py", line 106, in p_error
    self._raise_syntax_error(token)
  File "/Users/jinkinsonsmith/Documents/Scripting/my_project/spiders/tutorial/tutorial/spiders/venv/lib/python3.6/site-packages/slimit/parser.py", line 89, in _raise_syntax_error
    self.lexer.prev_token, self.lexer.token())
SyntaxError: Unexpected token (PERIOD, '.') at 1:24 between LexToken(LINE_TERMINATOR,'\n',1,23) and LexToken(PERIOD,'.',1,25)
Gallaecio commented 4 years ago

There are no periods in the code, so I believe you copy-pasted all lines from the README, including the ... at the beginning of each line. You are not meant to copy those. This is the code you are meant to copy:

function factorial(n) {
    if (n === 0) {
        return 1;
    }
    return n * factorial(n - 1);
}