Skip to content

Commit 963b727

Browse files
committed
Update parser and related utilities
1 parent e768eeb commit 963b727

19 files changed

Lines changed: 15326 additions & 12239 deletions

File tree

graalpython/com.oracle.graal.python.pegparser.generator/input_files/Python.asdl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ module Python
4545

4646
| Raise(expr? exc, expr? cause)
4747
| Try(stmt* body, excepthandler* handlers, stmt* orelse, stmt* finalbody)
48+
| TryStar(stmt* body, excepthandler* handlers, stmt* orelse, stmt* finalbody)
4849
| Assert(expr test, expr? msg)
4950

5051
| Import(alias* names)

graalpython/com.oracle.graal.python.pegparser.generator/input_files/python.gram

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
# Copyright (C) 1996-2021 Python Software Foundation
33
#
44
# Licensed under the PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
5-
#
6-
# taken from CPython commit 6cc6b13308b3202270ea7ac0ee776762a66f6a2f (tag: v3.10.7)
75
# PEG grammar for Python
86

97
@trailer '''

graalpython/com.oracle.graal.python.pegparser.generator/pegen/python_generator.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
# Copyright (C) 1996-2022 Python Software Foundation
33
#
44
# Licensed under the PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
5+
import os.path
56
import token
67
from typing import IO, Any, Dict, Optional, Sequence, Set, Text, Tuple
78

graalpython/com.oracle.graal.python.pegparser.generator/pegjava/java_generator.py

Lines changed: 53 additions & 54 deletions
Large diffs are not rendered by default.

graalpython/com.oracle.graal.python.pegparser.test/src/com/oracle/graal/python/pegparser/test/sst/SSTTreePrinterVisitor.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1094,7 +1094,19 @@ public String visit(StmtTy.Try node) {
10941094
appendNodes(sb, "Else", node.orElse);
10951095
level--;
10961096
return sb.toString();
1097+
}
10971098

1099+
@Override
1100+
public String visit(StmtTy.TryStar node) {
1101+
StringBuilder sb = new StringBuilder();
1102+
sb.append(addHeader(node));
1103+
level++;
1104+
appendNodes(sb, "Body", node.body);
1105+
appendNodes(sb, "Except", node.handlers);
1106+
appendNodes(sb, "Finally", node.finalBody);
1107+
appendNodes(sb, "Else", node.orElse);
1108+
level--;
1109+
return sb.toString();
10981110
}
10991111

11001112
@Override
@@ -1107,7 +1119,6 @@ public String visit(ExceptHandler node) {
11071119
appendNodes(sb, "Body", node.body);
11081120
level--;
11091121
return sb.toString();
1110-
11111122
}
11121123

11131124
@Override

graalpython/com.oracle.graal.python.pegparser/src/com/oracle/graal/python/pegparser/CopyWithContextVisitor.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2022, 2022, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved.
33
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
*
55
* The Universal Permissive License (UPL), Version 1.0
@@ -169,6 +169,11 @@ public ExprTy visit(StmtTy.Try node) {
169169
throw new IllegalStateException();
170170
}
171171

172+
@Override
173+
public ExprTy visit(StmtTy.TryStar node) {
174+
throw new IllegalStateException();
175+
}
176+
172177
@Override
173178
public ExprTy visit(StmtTy.Assert node) {
174179
throw new IllegalStateException();

graalpython/com.oracle.graal.python.pegparser/src/com/oracle/graal/python/pegparser/NodeFactory.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2021, 2022, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved.
33
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
*
55
* The Universal Permissive License (UPL), Version 1.0
@@ -418,6 +418,10 @@ public StmtTy createTry(StmtTy[] body, ExceptHandlerTy[] handlers, StmtTy[] orEl
418418
return new StmtTy.Try(body, handlers, orElse, finalBody, sourceRange);
419419
}
420420

421+
public StmtTy.TryStar createTryStar(StmtTy[] body, ExceptHandlerTy[] handlers, StmtTy[] orElse, StmtTy[] finalBody, SourceRange sourceRange) {
422+
return new StmtTy.TryStar(body, handlers, orElse, finalBody, sourceRange);
423+
}
424+
421425
public ExceptHandlerTy createExceptHandler(ExprTy type, String name, StmtTy[] body, SourceRange sourceRange) {
422426
return new ExceptHandlerTy.ExceptHandler(type, name, body, sourceRange);
423427
}

0 commit comments

Comments
 (0)