【发布时间】:2018-04-07 05:45:50
【问题描述】:
给定一个语法有效但在其他方面任意的 Julia 表达式,例如
3 - 4 > 1 & 2 + 2 == 4 | 10 - 5 > 2
或
2 + 9 - 8 * 8 ^ 7 / 2 == 8 + 8 / 1 ^ 2
...有没有一种方便的方法来将表达式完全括起来,以符合 Julia 的标准解析方式?
一种远远不够的方法:
julia> parse("3 - 4 > 1 & 2+2 == 4 | 10 - 5 > 2")
:(3 - 4 > 1 & 2 + 2 == (4 | 10) - 5 > 2)
julia> parse("2 + 9 - 8 * 8 ^ 7 / 2 == 8 + 8 / 1 ^ 2")
:((2 + 9) - (8 * 8^7) / 2 == 8 + 8 / 1^2)
例如,对于最后一种情况,“全括号”是指:
:(((2 + 9) - ((8 * (8 ^ 7)) / 2)) == (8 + (8 / (1 ^ 2))))
还有别的吗?
【问题讨论】:
标签: parsing syntax julia parentheses