lojbab about the history of Lojban

From Lojban
Jump to: navigation, search

In English

Lojbab, one of creators of Lojban about its history.

TLI Loglan grammar was originally designed with no formal parser analysis at all, and this history has driven the subsequent Lojban effort.

[James Cooke Brown, the author of Loglan] discovered the works of Victor Yngve sometime in the 60s or early 70s, and therefore got the idea of codifying the grammar in a set of rules... Around 1976-78, the effort changed to using a YACC LALR-1 grammar ... it seemed to be impossible to get the "machine grammar" to parse things quite the same as the "human grammar" did... The problem was solved around 1980... to use elidable terminators to bracket constructs... It took until around 1982-1983 to actually achieve a complete YACC grammar for the language.

When we started redeveloping Lojban, the intent was to retain the Loglan grammar in its entirety, changing only the words. Thus we were bound by the design limitations of the original language... But we had reinvented the cmavo lexicon, and we wanted to include grammar components for tense and MEX... In 1991, Cowan took over what I had done, and cleaned it up considerably, eventually achieving the baseline grammar listed in CLL (which is still the official grammar).

По-русски

[перевод la gleki]

Грамматика Логлана вообще не предполагала изначально никакого грамматического парсера. И история с парсером фактически продвинула вперёд идею создания Ложбана.


a) Джеймс Кук Браун открыл работы Виктора Yngve где-то в 60-х или 70-х годах и отсюда вывел идею кодифицировать всю грамматику в заданном наборе правил. Он также обозначил несколько целей для такой кодифицированной грамматики, которую он назвал “человеческой”. Но он не смог достичь этих целей.

b) В районе 1976-1978 годов усилия были направлены на грамматику, описываемую через YACC LALR-1 как стандарт для кодификации грамматики. Это было связано с тем, что несколько человек знали, как использовать YACC. Б`ольшая часть грамматики был закодирована, но казалось невозможным заставить “машинную грамматику” анализировать текст так же, как это бы делала “человеческая грамматика”.

c) Проблема была решена в районе 1980 года Джеффом Prothero, тогда ещё студентом Университета Вашингтон. Он стал использовать опускаемые слова-завершители (правые скобки) для скобочных конструкций. Такое опускание YACC обеспечивал благодаря встроенному механизму обработки ошибок. Вплоть до 1982-1983 года велась работа по достижению полной YACC-грамматики с таким механизмом учёта ошибок.


Когда мы начали создавать Ложбан, у нас было только одно желание: полностью сохранить грамматику Логлана, изменив только звучание слов. Таким образом, мы были связаны ограничениями в дизайне самого языка. Кук Браун попытался поиграть с авторскими правами на формальную грамматику (так же, как он это ранее делал со словами языка), но это было невозможно с точки зрения закона, так как основная работа была выполнена Prothero и другими.

Мы пересобрали лексикон для служебных слов (cmavo) и далее начали добавлять компоненты для системы грамматических времён и математической нотации (MEX), чем Кук Браун никогда не занимался. С помощью Prothero, Джеффа Тэйлора и другими знатоками YACC, я предпринял попытку заново собрать язык на основе YACC, но без изобретения новых структур в языке. В 1991 году Джон Cowan почистил результаты моих трудов от лишних структур, фактически создав грамматику, позже описанную в Эталонной Грамматике 1997 года. Но это всё ещё была YACC-грамматика со всеми её ограничениями.


Попытки создать PEG-грамматику были неофициальными, и, честно говоря, я никогда не изучал PEG. Даже YACC был тяжёл для моего восприятия.


Подведём итоги. Опускание слов-завершителей не было основным приоритетом в языке, хотя и рассматривалось как желательное. Ведь это так сложно иной раз запомнить, какие конструкции предложения необходимо завершить. Иначе язык превращается в сплошное kukukeiku. (Язык Кука Брауна даже называли “детским лепетом” из-за такого kuku).


Некоторые конструкции языка возникли потому, что без них невозможно было заставить YACC работать, или же они требовали использовать слишком много завершителей.


Отсюда столько семейств логических союзов, каждый из которых работает со своим типом кострукций. Эти решения идут ещё из эры Кука Брауна, хотя мы и добавили несколько структур (таких как придаточные предложения) и несколько семейств, б`ольшая часть из которых была позже удалена (но, к примеру, осталась zi’e, которая больше уже не является основой семейства логических союзов). Мы также оставили попытку применить формальную грамматику к компонентам PA и UI, так что некоторые комбинации грамматически корректны, но бессмысленны, например: pi'epaime'ipipi'e. Но большей частью основная грамматика языка остаётся такой же, как и у языка Кука Брауна до его формализации с добавлением возможности опускать завершители там, где они не разрушают синтактическую неоднозначность.


[Боб ЛеШевальер, основоположник языка Ложбан, 2013]