дневник Яос

Операционная система, написанная на языке Оберон и проект её перевода на русский язык. Только технические вопросы.
БудДен
Сообщения: 940
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 13.08.20 18:32

Ещё немного продвинулся. Теперь из такого исходника

Код: Выделить всё

MODULE TestImportaSPerevodom; 
 
IMPORT KL := KernelLog;

CONST constant* = 5;
PROCEDURE Do*;
  PROCEDURE subProc(); VAR myVar: ARRAY 5 OF CHAR; 
  BEGIN KL.String(myVar); END subProc;
BEGIN subProc(); END Do;
END TestImportaSPerevodom.
И такого XML файла

Код: Выделить всё

<PerevodyEhlementovKoda>
  <Module ru="ТестИмпортаСПереводом" en="TestImportaSPerevodom" russianExists="0" dyn="1">
    <Scope ru="Дуй" en="Do" russianExists="0" dyn="0">
      <Scope ru="подПроц" en="subProc" russianExists="0" dyn="0">
        <Scope ru="мояПерем" en="myVar" russianExists="0" dyn="0"/></Scope></Scope>
    <Scope ru="константа" en="constant" russianExists="0" dyn="0"/>
  </Module>
  <Module ru="ЛогЯдра" en="KernelLog" russianExists="0" dyn="1">
    <PopularAlias en="KL" ru="ЛЯ"/></Module></PerevodyEhlementovKoda>
Получается такой исходник:

Код: Выделить всё

модуль ТестИмпортаСПереводом;
  использует ЛЯ := ЛогЯдра;
конст 
  константа* = 5; 
  проц Дуй*;
    проц подПроц;
    перем мояПерем: ряд 5 из CHAR; 
    тело  ЛЯ.String(мояПерем)  кн подПроц; 
  тело
    подПроц()  кн Дуй; 
кн ТестИмпортаСПереводом.

БудДен
Сообщения: 940
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 16.08.20 19:37

Переводятся поля записи.

БудДен
Сообщения: 940
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 16.08.20 22:36

Переводится тип записи в выражении типа "укль на NAME"

БудДен
Сообщения: 940
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 19.08.20 10:21

Отпуск закончился, делать что-либо некогда. Получил от коллеги очередные 20 страниц перевода языка, читаем: https://gitlab.com/budden/jaos/-/blob/b ... е-языка.md

БудДен
Сообщения: 940
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 22.08.20 17:22

Сегодня хватило сил только на массированное уничтожение кода, не участвующего в сборке. Стёр остатки приложения оберон, старый компилятор и поддержку ARM, к-рую я никогда не проверял. ARM - не российский процессор, поэтому ну его нафиг.

БудДен
Сообщения: 940
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 23.08.20 23:30

Научился переводить встроенные типы. Вот таблица перевода.

Код: Выделить всё

CHAR литера8
RANGE отрезок_целых
INTEGER системно_зависимое_целое
LONGINTEGER длинное_системно_зависимое_целое
INTEGERSET INTEGERSET

SIGNED8 цел8 
SIGNED16 цел16 
SIGNED32 цел32 
SIGNED64 цел64 

UNSIGNED8 бцел8 
UNSIGNED16 бцел16 
UNSIGNED32 бцел32 
UNSIGNED64 бцел64 

FLOAT32 вещ32
FLOAT64 вещ64

COMPLEX32 комплексное32 
COMPLEX64 комплексное64 

REAL машинно_зависимое_вещ 
COMPLEX машинно_зависимое_комплексное 
BOOLEAN булево
SET байт_размером_с_адрес
ANY динамически_типизированный_укль
OBJECT существо

SET8 байт 
SET16 байт16 
SET32 байт32 
SET64 байт64 
https://gitlab.com/budden/jaos/-/commit ... 7df32d9a60

А также переименовал "ряд" в "массив" и "объект" в "существо".

БудДен
Сообщения: 940
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 23.08.20 23:34

Перевод встроенных типов - весьма черновой. Вероятно, я слишком рано стал использовать русские ключевые слова в боевых исходниках - приходится теперь писать на меняющемся языке. Эта проблема пока не решена и автоматического перевода из старой в новую версию языка нету. Но это нужно было для подъёма морального духа. Теперь дух приподнялся, можно и выкинуть.

БудДен
Сообщения: 940
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 28.08.20 15:14

Последние дни вяло копаюсь с движком перевода - после работы сил почти не остаётся.

БудДен
Сообщения: 940
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 29.08.20 00:36

Очередные 20 страниц https://gitlab.com/budden/jaos/-/commit ... fb61629763

БудДен
Сообщения: 940
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 29.08.20 00:37

Удалось немного продвинуться - теперь некоторые типы переводятся. Хотя всё это какое-то блуждание в потёмках... Структура дерева разбора несколько непонятна и вся целиком в голове никак не помещается.

Ответить