Насчет end'ов.
Было рассмотрено много примеров мод оберона без использования точки с запятой. Можно сделать так: end оставить в именованых конструкциях, таких как модули, процедуры: end name;
а в остальных случаях использовать вместо end, точку с запятой: if...then...else...; while...do...;
Vartovyj - зачем вам это нужно? вроде как уже и не смешно.. но если вы всерьез, то озаботьтесь 1. достойной целью, 2. попробуйте понять философию Oберона, и каждое свое "предложение" соразмеряйте с этим пунктами.. и учтите,что даже в этом случае возможны проблемы .. я специально показал вам на примере
казалось безобидной и "правильной" замены := на <- возможно разночтение (разумеется на уровне человеческого восприятия, компилятор эту проблему выловит), казалось, наглядная идея кастомной инициализации переменных в секции VAR, соответствующая философии языка, - ведет к появлению исключений.. наконец, банальное внедрение нового типа (кортежей) плохо вписывается в язык.. (не говоря уж о неименованных подпрограммах, жестко нарушающих концепцию языка - вы пытаетесь ввести их не представляя даже зачем это нужно в нем).