私の目的は、Python でループ文の開始と終了の行番号を見つけることです。
シナリオ例
#A.py
Line1: a=0
Line2: while a<5:
Line3: print a
Line4: a=a+1
Desired output:
Start of a loop Line2
End of a loop Line4
現在のパーサー コード
#parser.py
with open(a) as f:
tree = ast.parse(f.read())
taskline=[]
for node in ast.walk(tree):
if isinstance(node, (ast.For)) or isinstance(node,(ast.While)):
print node.lineno-1 <-- This give line number on for the start of a loop
上記の出力を達成したかったのです。AST を使用して特定のファイルを解析し、ループの発生を判断します。AST 解析を使用すると、ループの開始の行番号を見つけることができますが、ループの終了の行番号はまだ決定されていません。ループ ステートメント全体を解析し、その開始行番号と終了行番号を特定する方法はありますか?