[ssa] [дальнейшие размышления]

Vladislav Ivanishin vladislav.ivanishin at gmail.com
Mon Apr 9 16:38:27 MSK 2018


Spiridonov Alexander <spiridoncha at gmail.com> writes:

>> 4. Если просто считать программу, а затем записать её с помощью printfn, то
>> ввод и вывод не будут идентичны:
>> 1)ret заменяется на ret<тип возвращаемого значения> (соответственно из
>> сигнатуры функции возвращаемое значение убирается)
>> 2)вызов функции с аргументами типа print(w a, l b), заменяется на несколько
>> строчек типа argw a; arglb; print.
>> Но самое интересное, что эти преобразования не воспринимаются парсером в
>> обратную сторону.
>> То есть если взять программу на qbe, загнать её в программу, в которой
>> сделать printfn, а затем результат снова загнать в программу, получим
>> unresolved reference или что-то типа этого (не помню точно). Это
>> подсказывает мне, что первый вариант из предыдущего пункта автоматом
>> отпадает, а второй слишком геморный.
>> 
>> Вот такие пироги
> Воу, вот с этим завтра тогда при личной встрече поразбираемся(звучит
> больно)

Я тоже сталкивался с этой проблемой. Мне кажется, в парсер QBE нужно
внести не так много изменений, чтобы это починить.

-- 
Влад


More information about the ssa mailing list