Problem when using listener mode
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 45/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- python, typescript
- Domain
- compilers
Research direction
Reproduce the two examples with Python3Parser.parse and parser.listen, comparing input with and without the trailing newline. Start at the parser and listener behavior around the final import statement, then verify that listener callbacks work for code without a trailing line break while preserving the existing multiline behavior.
Written by the indexing model from the issue text.
Description
When using listener mode the parser is always expecting a line break after each line of python code.
For instance,
const parser = new Python3Parser();
const python ='import sys\nfor i in sys.argv:\n print(i)';
// parseTree
const tree = parser.parse(python);
class MyListener extends Python3Listener {
enterImport_name(ctx): void {
let importName = ctx
.getText()
.toLowerCase()
.match(/(?<=import).+/)?.[0];
console.log('ImportName', importName);
}
}
const listenTableName = new MyListener();
parser.listen(listenTableName, tree);
The above code will work but when I remove '\n' from the python code it won't (Given below).
const parser = new Python3Parser();
const python ='import sys';
// parseTree
const tree = parser.parse(python);
class MyListener extends Python3Listener {
enterImport_name(ctx): void {
let importName = ctx
.getText()
.toLowerCase()
.match(/(?<=import).+/)?.[0];
console.log('ImportName', importName);
}
}
const listenTableName = new MyListener();
parser.listen(listenTableName, tree);
Is there a work around for this? I want to dynamically pass the python code to the parser so it might not always have a line break.
- Dominant language
- JavaScript
- Stars
- 25
- Forks
- 7
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from DTStack/dt-python-parser
-
Difficulty 3/5 1-2 days Newbie friendliness 48/100
DTStack/dt-python-parser#28 ·
-
Difficulty 5/5 Over a week Newbie friendliness 20/100
DTStack/dt-python-parser#27 · 1 comment ·
-
Difficulty 3/5 1-2 days Newbie friendliness 45/100
DTStack/dt-python-parser#24 · 1 comment ·
-
Difficulty 5/5 Over a week Newbie friendliness 15/100
DTStack/dt-python-parser#15 · 3 comments ·
-
支持最新版Python3语法 Open
Difficulty 5/5 Over a week Newbie friendliness 20/100
DTStack/dt-python-parser#11 ·
All issues in DTStack/dt-python-parser
Similar issues
-
bug customer-eng Durable Agents Inngest status: needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
optimization optimization:agents-md-curator
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
githubnext/gh-aw-cao#13475 ·
-
[BUG]: "Clear All" in Settings doesn't clear the saved analysis, old data comes back after reload Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
AOSSIE-Org/OrgExplorer#253 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
oxc-project/oxc#26944 ·
-
ai-observability bug team/ai-observability
Difficulty 2/5 1-3 hours Newbie friendliness 78/100