В Mathematica мы используем FullForm
или TreeForm
или Developer'WriteExpressionJSONString
, чтобы получить сведения о синтаксисе для заданных выражений.Как я могу получить полное AST (абстрактное синтаксическое дерево) для любого выражения?Например, существует ли какая-либо функция toAST
такая, что
toAST["a +b c\nSin[%];"]
, которая будет давать такой результат:
{
{
Plus,
0,
6,
{a, 0, 1},
{Multiply, 3, 6, {b, 3, 4}, {c, 5, 6}}
},
{
CompoundExpression,
7,
14,
{Sin, 7, 13, {Out, 11, 12}},
{Null, 14, 14}
}
}