Промежуточный файл C просмотра в mlton при использовании `-codegen c`

У меня есть следующий исходный файл SML с тривиальной функцией в нем:

(* fact.sml *)
fun fact_unguarded 0 = 1
  | fact_unguarded n = n * fact_unguarded(n-1)

fun fact 0 = SOME(1)
  | fact n = if n > 0 then SOME(n * fact_unguarded(n-1)) else NONE

Я пытаюсь скомпилировать его с помощью MLTon, используя бэкэнд C, и посмотреть на сгенерированный C-код.

% mlton -codegen c fact.sml

Однако ни один из промежуточных файлов не выгружается в текущем рабочем каталоге, и, похоже, в /tmp или. Есть ли способ направить MLTon либо: а) создать только исходный файл C и остановить его, либо б) сохранить промежуточные файлы даже после того, как будет создан последний артефакт.

% pwd
~/tmp/sml
% ls
fact*       fact.sml

1 ответ

Решение

mlton -stop g -codegen c должен делать то, что вы хотите, но благодаря тому, как MLton работает как компилятор всей программы, от ваших функций ничего не останется.

Другие вопросы по тегам