Skip to content

[Old] More than one Comparision operator is not recognized by the OId parser #814

Open
@Thirumalai-Shaktivel

Description

@Thirumalai-Shaktivel

Example:

a = all(0 < x < 20 for x in numbers)

causes Old parser Error:

$ lpython --show-ast examples/expr2.py --tree             
Traceback (most recent call last):
  File "/home/thirumalai/Open_Source/lpython/src/bin/../runtime/lpython_parser.py", line 110, in <module>
    a2 = v.visit(a)
  File "/home/thirumalai/conda_root/envs/lf/lib/python3.10/ast.py", line 410, in visit
    return visitor(node)
  File "/home/thirumalai/Open_Source/lpython/src/bin/../runtime/lpython_parser.py", line 77, in generic_visit
    new_list.append(self.visit(item))
  File "/home/thirumalai/conda_root/envs/lf/lib/python3.10/ast.py", line 410, in visit
    return visitor(node)
  File "/home/thirumalai/Open_Source/lpython/src/bin/../runtime/lpython_parser.py", line 88, in generic_visit
    d[field] = self.visit(value)
  File "/home/thirumalai/conda_root/envs/lf/lib/python3.10/ast.py", line 410, in visit
    return visitor(node)
  File "/home/thirumalai/Open_Source/lpython/src/bin/../runtime/lpython_parser.py", line 77, in generic_visit
    new_list.append(self.visit(item))
  File "/home/thirumalai/conda_root/envs/lf/lib/python3.10/ast.py", line 410, in visit
    return visitor(node)
  File "/home/thirumalai/Open_Source/lpython/src/bin/../runtime/lpython_parser.py", line 88, in generic_visit
    d[field] = self.visit(value)
  File "/home/thirumalai/conda_root/envs/lf/lib/python3.10/ast.py", line 410, in visit
    return visitor(node)
  File "/home/thirumalai/Open_Source/lpython/src/bin/../runtime/lpython_parser.py", line 71, in generic_visit
    assert len(value) == 1
AssertionError
The command 'python /home/thirumalai/Open_Source/lpython/src/bin/../runtime/lpython_parser.py examples/expr2.py examples/expr2.pyDCA6071' failed.
Internal Compiler Error: Unhandled exception
Traceback (most recent call last):
  Binary file "/home/thirumalai/Open_Source/lpython/src/bin/lpython", in _start()
  File "./csu/../csu/libc-start.c", line 392, in __libc_start_main_impl()
  File "./csu/../sysdeps/nptl/libc_start_call_main.h", line 58, in __libc_start_call_main()
  File "/home/thirumalai/Open_Source/lpython/src/bin/lpython.cpp", line 827, in ??
    return emit_ast(arg_file, runtime_library_dir, compiler_options);
AssertFailed: diagnostics.has_error()

Originally posted by @akshanshbhatt in #786 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    ParserIssues or improvements related to parsercould closeIssues/PRs which can be closed.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions