LINUX.ORG.RU

История изменений

Исправление Deleted, (текущая версия) :

в стеке хранить структуру с двумя полями - на тип оператора и на массив аргументов (если твой ЯП гогно - С++ например и не содержит информации о типах то с каждым аргументом ее надо хранить вручную)

т.е. так

stack
 {op: '*', args:[{type:NUM, val:1}, {type:VEC, val:[1,2,4]}} 
 {op: '+', args:[{type:VEC, val:[1,4]}, {type:VEC, val:[1,2,4]}} 

хотя это уже не стек, в стеке просто структра - тип и значение и не парить моск

Исходная версия Deleted, :

в стеке хранить структуру с двумя полями - на тип оператора и на массив аргументов (если твой ЯП гогно - С++ например и не содержит информации о типах то с каждым аргументом ее надо хранить вручную)

т.е. так

stack
 {op: '*', args:[{type:NUM, val:1}, {type:VEC, val:[1,2,4]}} 
 {op: '+', args:[{type:VEC, val:[1,4]}, {type:VEC, val:[1,2,4]}}