--- source: crates/ruff_python_parser/tests/fixtures.rs input_file: crates/ruff_python_parser/resources/valid/expressions/compare.py --- ## AST ``` Module( ModModule { range: 0..542, body: [ Expr( StmtExpr { range: 9..15, value: Compare( ExprCompare { range: 9..15, left: Name( ExprName { range: 9..10, id: "a", ctx: Load, }, ), ops: [ Eq, ], comparators: [ Name( ExprName { range: 14..15, id: "b", ctx: Load, }, ), ], }, ), }, ), Expr( StmtExpr { range: 16..21, value: Compare( ExprCompare { range: 16..21, left: Name( ExprName { range: 16..17, id: "b", ctx: Load, }, ), ops: [ Lt, ], comparators: [ Name( ExprName { range: 20..21, id: "a", ctx: Load, }, ), ], }, ), }, ), Expr( StmtExpr { range: 22..27, value: Compare( ExprCompare { range: 22..27, left: Name( ExprName { range: 22..23, id: "b", ctx: Load, }, ), ops: [ Gt, ], comparators: [ Name( ExprName { range: 26..27, id: "a", ctx: Load, }, ), ], }, ), }, ), Expr( StmtExpr { range: 28..34, value: Compare( ExprCompare { range: 28..34, left: Name( ExprName { range: 28..29, id: "a", ctx: Load, }, ), ops: [ GtE, ], comparators: [ Name( ExprName { range: 33..34, id: "b", ctx: Load, }, ), ], }, ), }, ), Expr( StmtExpr { range: 35..41, value: Compare( ExprCompare { range: 35..41, left: Name( ExprName { range: 35..36, id: "a", ctx: Load, }, ), ops: [ LtE, ], comparators: [ Name( ExprName { range: 40..41, id: "b", ctx: Load, }, ), ], }, ), }, ), Expr( StmtExpr { range: 42..48, value: Compare( ExprCompare { range: 42..48, left: Name( ExprName { range: 42..43, id: "a", ctx: Load, }, ), ops: [ NotEq, ], comparators: [ Name( ExprName { range: 47..48, id: "b", ctx: Load, }, ), ], }, ), }, ), Expr( StmtExpr { range: 49..55, value: Compare( ExprCompare { range: 49..55, left: Name( ExprName { range: 49..50, id: "a", ctx: Load, }, ), ops: [ Is, ], comparators: [ Name( ExprName { range: 54..55, id: "c", ctx: Load, }, ), ], }, ), }, ), Expr( StmtExpr { range: 56..62, value: Compare( ExprCompare { range: 56..62, left: Name( ExprName { range: 56..57, id: "a", ctx: Load, }, ), ops: [ In, ], comparators: [ Name( ExprName { range: 61..62, id: "b", ctx: Load, }, ), ], }, ), }, ), Expr( StmtExpr { range: 63..73, value: Compare( ExprCompare { range: 63..73, left: Name( ExprName { range: 63..64, id: "a", ctx: Load, }, ), ops: [ NotIn, ], comparators: [ Name( ExprName { range: 72..73, id: "c", ctx: Load, }, ), ], }, ), }, ), Expr( StmtExpr { range: 74..84, value: Compare( ExprCompare { range: 74..84, left: Name( ExprName { range: 74..75, id: "a", ctx: Load, }, ), ops: [ IsNot, ], comparators: [ Name( ExprName { range: 83..84, id: "b", ctx: Load, }, ), ], }, ), }, ), Expr( StmtExpr { range: 110..156, value: Compare( ExprCompare { range: 110..156, left: Name( ExprName { range: 110..111, id: "a", ctx: Load, }, ), ops: [ NotIn, IsNot, NotIn, NotIn, IsNot, ], comparators: [ Name( ExprName { range: 119..120, id: "b", ctx: Load, }, ), Name( ExprName { range: 128..129, id: "c", ctx: Load, }, ), Name( ExprName { range: 137..138, id: "d", ctx: Load, }, ), Name( ExprName { range: 146..147, id: "e", ctx: Load, }, ), Name( ExprName { range: 155..156, id: "f", ctx: Load, }, ), ], }, ), }, ), Expr( StmtExpr { range: 177..203, value: Compare( ExprCompare { range: 177..203, left: BinOp( ExprBinOp { range: 177..182, left: Name( ExprName { range: 177..178, id: "a", ctx: Load, }, ), op: BitOr, right: Name( ExprName { range: 181..182, id: "b", ctx: Load, }, ), }, ), ops: [ Lt, NotIn, ], comparators: [ BinOp( ExprBinOp { range: 185..190, left: Name( ExprName { range: 185..186, id: "c", ctx: Load, }, ), op: BitOr, right: Name( ExprName { range: 189..190, id: "d", ctx: Load, }, ), }, ), BinOp( ExprBinOp { range: 198..203, left: Name( ExprName { range: 198..199, id: "e", ctx: Load, }, ), op: BitAnd, right: Name( ExprName { range: 202..203, id: "f", ctx: Load, }, ), }, ), ], }, ), }, ), Expr( StmtExpr { range: 379..393, value: UnaryOp( ExprUnaryOp { range: 379..393, op: Not, operand: Compare( ExprCompare { range: 383..393, left: Name( ExprName { range: 383..384, id: "x", ctx: Load, }, ), ops: [ NotIn, ], comparators: [ Name( ExprName { range: 392..393, id: "y", ctx: Load, }, ), ], }, ), }, ), }, ), Expr( StmtExpr { range: 395..416, value: BoolOp( ExprBoolOp { range: 395..416, op: Or, values: [ Name( ExprName { range: 395..396, id: "x", ctx: Load, }, ), BoolOp( ExprBoolOp { range: 400..416, op: And, values: [ Compare( ExprCompare { range: 400..410, left: Name( ExprName { range: 400..401, id: "y", ctx: Load, }, ), ops: [ NotIn, ], comparators: [ Name( ExprName { range: 409..410, id: "z", ctx: Load, }, ), ], }, ), Name( ExprName { range: 415..416, id: "a", ctx: Load, }, ), ], }, ), ], }, ), }, ), Expr( StmtExpr { range: 417..429, value: Compare( ExprCompare { range: 417..429, left: Name( ExprName { range: 417..418, id: "x", ctx: Load, }, ), ops: [ Eq, ], comparators: [ Await( ExprAwait { range: 422..429, value: Name( ExprName { range: 428..429, id: "y", ctx: Load, }, ), }, ), ], }, ), }, ), Expr( StmtExpr { range: 430..446, value: Compare( ExprCompare { range: 430..446, left: Name( ExprName { range: 430..431, id: "x", ctx: Load, }, ), ops: [ IsNot, ], comparators: [ Await( ExprAwait { range: 439..446, value: Name( ExprName { range: 445..446, id: "y", ctx: Load, }, ), }, ), ], }, ), }, ), Expr( StmtExpr { range: 489..541, value: Compare( ExprCompare { range: 489..541, left: Name( ExprName { range: 489..490, id: "a", ctx: Load, }, ), ops: [ Lt, Eq, Gt, Is, NotIn, IsNot, LtE, GtE, NotEq, ], comparators: [ Name( ExprName { range: 493..494, id: "b", ctx: Load, }, ), Name( ExprName { range: 498..499, id: "c", ctx: Load, }, ), Name( ExprName { range: 502..503, id: "d", ctx: Load, }, ), Name( ExprName { range: 507..508, id: "e", ctx: Load, }, ), Name( ExprName { range: 516..517, id: "f", ctx: Load, }, ), Name( ExprName { range: 525..526, id: "g", ctx: Load, }, ), Name( ExprName { range: 530..531, id: "h", ctx: Load, }, ), Name( ExprName { range: 535..536, id: "i", ctx: Load, }, ), Name( ExprName { range: 540..541, id: "j", ctx: Load, }, ), ], }, ), }, ), ], }, ) ```