Вам не нужно вручную создавать AST - PowerShell сделает это за вас!
Обернуть выражение в блоке сценария (должен быть синтаксически допустимым PowerShell, конечно):
$AST = {22*$x+($z–5)*2}.Ast
Вуаля, $AST.Endblock
теперь содержит корневой элемент AST вашего выражения.
Вы также можете создать AST, явно передав выражение Parser.ParseInput()
в виде строки:
$AST = [System.Management.Automation.Language.Parser]::ParseInput('22*$x+($z–5)*2', [ref]$null, [ref]$null)