Автор Тема: [Oberon-07/11] Компилятор noct  (Прочитано 3075 раз)

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
[Oberon-07/11] Компилятор noct
« : Январь 19, 2013, 01:23:46 am »
Недавно в мыллисте пролетала инфа, что появился оберонистый irc-канал: https://lists.inf.ethz.ch/pipermail/oberon/2013/006689.html

Сегодня зашел, поболтал с народом. Было интересно. Ну, например вот как один американский друг отзывался о России:
Цитировать
<tcpip> llong time ago in the collage where I was working Russian was the "must know" language for mathematicians
<tcpip> I was able to read papers and even new few spoken "special" words
<valexey> where it was?
<tcpip> in UNH
<valexey> University of New Hampshire?
<tcpip> yeap
<tcpip> then, later on, we had few professors from Russia and Ukraine

Рассказал им немного про наши форумы, и статистику:
Цитировать
<valexey> messages per year on russian oberon forums: http://oberspace.dyndns.org/stats/stats_total.png
<valexey> http://oberspace.dyndns.org/stats/oberon_total.png
<dsar> :O
<valexey> more than 12000 messages last year :-)
<valexey> (not all messages was oberon-specific, but all written by russian oberon community )
<tcpip> looks like in Russia something start recovering finally
<valexey> yep :-)
<tcpip> glad to see it

Полные логи посиделок обещали выложить в интернет.

Да, в ходе беседы оказалось, что во-первых они знают про компилятор akorn1 (ошибочно полагая что его написал я), ну и пишут свои. Как минимум пишется две штуки, один из который буквально несколько минут назад был выложен в свободный доступ.

Цитировать
<tangentstorm> https://github.com/nickelsworth/noct :) README could probably use some work and I need to rebuild and upload the makefile, but it's a start. :)
<tangentstorm> i figured java made the most sense as a target since it already has inheritence, garbage collection, and modules (static classes)
tangentstorm> c and pascal are trickier because you have to implement garbage collection yourself, and of course pascal has the case sensitivity issue. there's a language called "D" though that might make sense as a target

Зовут его (компилятор) noct (Nickelsworth Oberon Compiler/Transpiler). Живет он здесь: https://github.com/nickelsworth/noct
Написан, как видим, на antlr + java. Транслирует он с Оберона-07 в Java и Oberon. А также пытается в pascal, но пока не умеет это делать полностью.

Как понимаете, это все должно быть весьма кроссплатформенным. То есть работать и под линуксами/хрюниксами. В общем, думаю надо будет обязательно пощупать.

Да, теперь у нас множество компиляторов, думаю имеет смысл объединенными усилиями создать набор тестов для них (набор исходников которые должны компилироваться или не компилироваться).
Y = λf.(λx.f (x x)) (λx.f (x x))

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: [Oberon-07/11] Компилятор noct
« Ответ #1 : Январь 19, 2013, 02:40:52 am »
Тесты предлагают взять отсюда http://sourceforge.net/projects/hostess/ и адаптировать под Оберон-07
Y = λf.(λx.f (x x)) (λx.f (x x))

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: [Oberon-07/11] Компилятор noct
« Ответ #2 : Январь 20, 2013, 07:09:03 pm »
У проекте появился небольшой набор тестов компилятора (набор исходников на Обероне, который компилятор должен скомпилить, а затем эта программа должна отработать).

+ добавлена рудиментарная поддержка haXe.
Y = λf.(λx.f (x x)) (λx.f (x x))