Алгоритм построения синтаксического дерева из префиксного выражения порядка - PullRequest
0 голосов
/ 13 июля 2010

Какой тип алгоритма будет использоваться для построения синтаксического дерева из выражения, представленного в нотации префикса?

1 Ответ

1 голос
/ 13 июля 2010

Простой рекурсивный алгоритм может преобразовать выражение порядка префикса в синтаксическое дерево.

GetNextPrefixExpression(tokenStream)
    nextToken = tokenStream.GetNextToken()
    if nextToken.IsValue()
        return new Value(nextToken)
    else if nextToken.IsUnaryOperator()
        return new UnaryOperator(nextToken, GetNextPrefixExpression(tokenStream))
    else if nextToken.IsBinaryOperator()
        return new BinaryOperator(nextToken, GetNextPrefixExpression(tokenStream), GetNextPrefixExpression(tokenStream))
    else if nextToken.IsTrinaryOperator()
        return new TrinaryOperator(nextToken, GetNextPrefixExpression(tokenStream), GetNextPrefixExpression(tokenStream), GetNextPrefixExpression(tokenStream))
...