gpt4 book ai didi

python - 使用 Scala 解析 Python 的 If 语句

转载 作者:太空宇宙 更新时间:2023-11-03 15:32:45 25 4
gpt4 key购买 nike

如何使用 Scala 解析 Python 中的 If 语句?

现在我有这样的事情:

import fastparse.all._

val ifStatement : P[Stmt] = P (
("if " ~ expr ~ ":" ~ ("\n".rep.? ~ "\t".rep.?) ~ stmt ~ ("\n".rep.? ~ "\t".rep.?) ~ "else:" ~ stmt).map {
case (e, st1, st2) => If (e, st1, st2)
}
)

stmt 基本上是一个带有语句的 val:

val stmt: Parser[StatementStuff] = P ("\n".rep.? ~ "\t".rep.? ~
( returnStatement | statement | assignStatement |
forLoop | blockBody | print | printString |
ifStatement )
)

我希望能够解析 Python 的 Fizzbuzz:

def main():
count = 0
for count in range(1, 101):
if count % 5 == 0 and count % 3 == 0:
print "FizzBuzz"
elif count % 3 == 0:
print "Fizz"
elif count % 5 == 0:
print "Buzz"
else:
print count
count = count + 1

现在我可以处理这样的 if 语句:

if x==0:
return poo

但我想处理类似的事情: 如果计数 % 5 == 0 且计数 % 3 == 0:

任何帮助都会很棒,提前谢谢您!

解析器库:http://www.lihaoyi.com/fastparse/

最佳答案

FastParse 已更新为 pythonParser ,这可能有助于解析 python。

关于python - 使用 Scala 解析 Python 的 If 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42776936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com