Andy Melnikov (nponeccop) wrote,
Andy Melnikov
nponeccop

Примечания к описанию HN0

  • Входной язык может быть существенно расширен или полностью заменён. Убогий входной язык был выбран для облегчения реализации прототипа. Быстрый и грязный прототип нужен, в свою очередь, для проверки гипотезы о возможности генерировать человекоподобный код.
  • Побочной целью проекта является написание маленького или по крайней мере модульного компилятора (с возможностью отключения-удаления ненужных модулей) для исследований в компиляторостроении. Идея сделать язык, тривиально компилирующийся в другой высоко¬уров¬не¬вый язык, возникла именно из-за желания уменьшить объём работ и сделать возмож¬ной разработку компилятора «на коленках» малой командой, а также из-за наивных подозрений в чрезмерной раздутости кода коммерческих компиляторов.
  • В настоящий момент реализуется «функциональное» подмножество входного языка. Для обеспечения человекочитаемости необходимо будет пополнить язык присваиванием, составным оператором и циклом. В отдаленном будущем планируется вновь избавиться от нефункциональных конструкций, дополнив систему компилятором из функционального высокоуровневого языка в текущий входной язык (императивный низкоуровневый).
Subscribe

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments