DTStack / DTStack/dt-python-parser
Problem when using listener mode
- 主要语言
- JavaScript
- 星标
- 25
- 派生
- 7
- PR 合并指标
- 30 天内没有已合并 PR
描述
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.
贡献指南
这个仓库没有索引到贡献指南
评估
这个 Issue 还没有评估数据。