Русскоязычное программирование

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Русскоязычное программирование » предложения работы » Написание комментариев для НЯ-компилятора


Написание комментариев для НЯ-компилятора

Сообщений 61 страница 63 из 63

61

> mark - метка или лучше заклалка используется в опережающем чтении.

Код:
PROCEDURE ВставьЗнакОшибкиВИсходник*(n: ТипКодОшибки; pos: ТипМестоВТексте); (* <Mark> *)
 BEGIN
  IF (n >= 0) & ~((oberon IN options) & (n >= 181) & (n <= 190)) THEN
   noerr := FALSE;
   IF pos < 0 THEN pos := 0 END;
   IF (pos < lastpos) OR (lastpos + 9 < pos) THEN
    lastpos := pos;
    IF errors < maxErrors THEN
     errNo[errors] := n; errPos[errors] := pos
    END;
    INC(errors)
   END;
   IF trap IN options THEN HALT(100) END;
  ELSIF (n <= -700) & (errors < maxErrors) THEN
   errNo[errors] := -n; errPos[errors] := pos; INC(errors)
  END
 END ВставьЗнакОшибкиВИсходник;

Вот исходник функции Mark. Не скажу, что я понимаю всё, но выглядит всё же как вставка маркера ошибки (ББ вставляет квадратики в текст в месте ошибки). Я поверю, что это упреждающее чтение, если вы покажете мне, где потом эти ошибки используются в парсере. У vis даже есть расшифровка в исходниках:

Код:
   vis*: BYTE;	(* internal, external, externalR, inPar, outPar *)

0

62

> Михаил уже говорил одно дело перевод другое рефакторинг. И в третьих что бы понять надо пропустить через себя. Каждый видит по своему у каждого свой уклад мыслий. Поэтому я ии не надеялся что вы поймёте.

Тут неизбежно происходит такой процесс при переименовании: читаем, понимаем, составляем полную фразу, которая для нас понятно описывает смысл, потом сокращаем эту фразу. Сократить mode до сорт - вам понятно, мне - нет. Выход состоит из двух частей.
1. Писать не одно слово, а всю фразу. Фраза всё равно будет составлена из понятных только вам понятий, но всё же будет проще её понять стороннему человеку.
2. Определять каждое понятие, расшифровывая его комментарием в хорошем месте. Например, если это тип, то у определения типа. Если это набор целых констант (перечисление), то там, где определены константы.

Исключение из этого правила - те слова, которые встречаются очень часто. Порог, думаю, где-то 300-400 вхождений на 2000 строк. Это, прежде всего, имена модулей, из которых мы что-то импортируем. Хотя я посмотрел, что НяМ встречается всего 100 раз в Парсер.kp. Но во всём компиляторе оно встречается уже 1500 раз (на 13000 строк), т.к. примерно в каждой 10-й строке. Думаю, всё же оправдано здесь сократить. Дальше, текущая лексема встречается 233 раза в Парсер.kp, но я её сократил. Может, и зря. Но само слово лексема встречается уже 364 раза, т.е. её уже имеет смысл сократить до Лксм.

0

63

budden написал(а):

Но само слово лексема встречается уже 364 раза, т.е. её уже имеет смысл сократить до Лксм.

Лексема - это просто целостная ходовая единица.
"текШт" или "шт"
На самом деле - тот же "кусок" с немецкого. Но в русском сокращение до "шт" общераспространено.
А ещё когда-то говорили просто "кус". (тогда там откусы и кусачки или кусака :D )

Отредактировано MihalNik (2018-11-07 13:29:48)

0


Вы здесь » Русскоязычное программирование » предложения работы » Написание комментариев для НЯ-компилятора