Итак, язык
Tn!e лёгок и уникален тем, что синтаксически разбирается как математическое выражение, записанное обратной польской записью. А также тем, что в нём не требуются пробелы ни внутри предложений, ни между ними. А также тем, что любое слово или предложение непосредственнейшим образом становится глаголом — стоит только его поставить перед словом в винительном падеже. А ещё тем, что знаки препинания являются в нём буквами.
Фонотактика и синтаксисX: b t f s n
Y: i u h l r ' . ! ?
Z: a e o
Слово = Y | X+Y | X+[Y]Z+ | YZ+
Предложение ≡ С | ПО
1 | ППО
2В этих пяти строках в сжатом виде содержится всё. В частности из них следует, что хотя в языке
Tn!e между словами не ставится пробел, но тем не менее очень легко определить, где границы слов — они либо там, где нарушается порядок
X —> Y —> Z, либо там, где встречаются две буквы группы
Y. Вот примеры:
(https://images.lingvoforum.net/images/2024/06/27/Screenshot_20240627_132826_com.termux.md.jpg) (https://images.lingvoforum.net/image/izLKO)
Слова бывают двух видов: обычные слова и слова-операторы. Операторы задают структуру предложения и связь между словами, поэтому они встречаются очень часто. А высокочастотные слова разумно сделать покороче. Вот почему почти все однобуквенные слова я сделал операторами, причём бинарными:
- u — союз "и"
- h — винительный падеж
- l — местный падеж
- r — направительный падеж
- ' — родительный падеж
- . — повествовательное предложение
- ! — побудительное предложение
- ? — вопросительное предложение
Только
i является обычным знаменательным словом
нечто, некто / делать.
Теперь попробую объяснить на примере всего лишь этих шести слов:
tn!e /tnʔe˥˩/ — самоназвание языка / разговаривать с кем-то
fsa — язык / сказать
ha — я / иметь
'o /ʔo/ — человек / любить
bu — ты / принести
s. /sә˦/ — хороший / наладить
Как явствует из вышеизложенного синтаксиса, самое простое предложение состоит только из одного слова.
'o =
Человек. Ну то есть назывное предложение.
Повествовательное предложение образуется бинарным оператором "
.".
haha. =
Я это я.
bu'o. =
Ты — человек.
'os.. =
Человек хорош.Оператор винительного падежа
h превращает предпредыдущее слово в причастие.
ha'obuh. =
Я есмь любящий тебя = Я люблю тебя.
'ohafsah. =
Человек есть имеющий язык = Человек имеет язык.
Определительно-родительный падеж образуется оператором "
' ".
fsatn!e' =
язык Тн!э'oha' =
мой человек'os.' =
хороший человек'ohafsah' =
человек имеющий язык.
Оператор
u означает союз "и".
buhau =
Ты и я.
Соберём всё вместе и составим сложное предложение. Придаточное дополнительное ставится в винительном падеже.
'os.'fsabu'ohah.h. =
Хороший человек сказал, что ты любишь меня.
За PEG уважаю, но есть вопросы.
Х+ означает, что допускаются любые кластеры согласных, это неблагозвучно (наверное).
Дайте определение О1, О2.
Похоже, что Ваш конланг классифицируется как stack-based language или language based on LIFO stack. Если интересна эта тема:
https://www.frathwiki.com/Fith
https://conlang.fandom.com/wiki/Nalnu%C3%A0ntir
https://conlang.fandom.com/wiki/Nomnom
P.S. http://www.kunstsprachen.de/s11/s_01.html
Спасибо, да это стековый, конкатенативный язык. Интересно посмотреть предшественников. Но мне кажется, они не стремились к максимальной простоте, а я старался на всех уровнях упростить до предела. И я в него все приколы запихал. Особенно ценна абсолютно всеобъемлющая конверсия любого выражения в глагол. Это то, за что я люблю английский язык. Такая вольность для словообразования.
Грамматика слишком простая, там не может быть вопросов. Надо только знать, как и какими операторами выражается та или иная конструкция, например, сравнение.
О1, О2 — это одно- и двуместные операторы. Например, союзы "и", "или" — двуместные, а отрицание — одноместный оператор.
Всего возможно 9 однобукв, 96 двубукв и 5×9×3 = 135 благозвучных слов XYZ. К тому же есть удобные кластеры типа st, ts, sn, sb, sf, nb. Короче достаточно для основных слов. А неблагозвучными надо делать редкие слова.
Самое прикольное то, что до сегодняшнего дня там не было букв "!",".","?". Они были, но только как знаки препинания. Но вдруг я понял, что это непоследовательно, так как все остальные операторы у меня буквы. И пришлось ради совершенства структуры сделать их буквами.
Вот программа для генерации случайных слов. Нужно сначала создать пустой файл w.txt, а затем запустить:
>lua prog [длина слова]
A={'btfsn',"iuhlr'.!?",'aeo'}
math.randomseed(os.time())
n=(arg[1]or 2)+0
::q::
a={}
for i=1,n do a[#a+1]=math.random(3) end
if a[1]==a[#a] then goto q end
for i=1,#a-1 do
if a[i]>a[i+1] or a[i]==2 and a[i+1]==2 then goto q end
end
w=''
for i=1,n do c=math.random(#A[a[i]])w=w..A[a[i]]:sub(c,c)end
w='_'..w..'_'
g=io.open("w.txt","r+")
s=g:read("*a")
if s:find(w,1,true) then goto Q
else
print(w)
g:write(w..'\n')
end
::Q::g:close()
Цитата: maratique от июня 27, 2024, 12:57tn!e /tnʔe˥˩/ — самоназвание языка / разговаривать с кем-то
fsa — язык / сказать
ha — я / иметь
'o /ʔo/ — человек / любить
bu — ты / принести
s. /sә˦/ — хороший / наладить
У Вас на 1 знак надо учить 2 значения. Это решение окей само в себе, но я такое не перевариваю. То, что они похожи, не помогает, потому что системы нет, и кстати не может быть. Разница в семантике неоператоров, одноместных операторов и двуместных операторов в том числе проявляется в количестве мест, и никак не выведешь формальные правила для перевода из одного в другое, всегда будет произвольное решение автора.
Сторого говоря, глагол от
языка это
быть языком, а существительные от
сказать это 1)
акт говорения, 2)
тот, кто говорит, и 3)
то, что сказано. Глагол от
хороший это
быть хорошим, а существительные от
наладить это 1)
акт налаживания, 2)
тот, кто налаживает, и 3)
то, что налаживают.
Если вы заметили, у меня глагол образуется постановкой следующего слова в винительный падеж, с помощью двуместного оператора h. Поэтому все глаголы в Tn!e — переходные. А вместо непереходных глаголов у меня субстантивированные причастия. Например, "некто отдыхающий" = bla. И это гениально.
Тогда habla. = Я отдыхаю. 'obla' = отдыхающий человек. А глагол от него будет переходным:
hablabuh. = я тебя расслабил
А систему в знаках легко придумать. Знак ! означает нисходящий тон, знак ? — восходящий. Точка — высокий ровный. А на конце предложения они пишутся перед пробелом и можно понять, что там они не читаются. Даже без пробела можно понять, что это отдельная буква, а не в составе слова. Но с пробелом удобнее.
Знак апостроф означает гортанную смычку.
А когда гласного нет, например, s' или bt?, то добавляется слабый гласный.
А вы что обязательно хотите, чтобы по виду слова можно было легко определить оператор ли оно и сколькиместный? Ну это думаю сложно, сильно ограничивает. Легче явно перечислить примерно, думаю, 20 двуместных и около 50 одноместных и записать в парсер. Тем более могут в будущем понадобиться новые.
И тут до меня дошло, что Lua скрипт я могу запустить только через INSTEAD...
Цитата: maratique от июня 27, 2024, 12:57в нём не требуются пробелы ни внутри предложений, ни между ними
...
в языке Tn!e между словами не ставится пробел, но тем не менее очень легко определить, где границы слов — они либо там, где нарушается порядок X —> Y —> Z, либо там, где встречаются две буквы группы Y.
Наибольшая скорость выдачи информации – при говорении. Но наибольшая скорость приема информации – при чтении. Читающему важны пробелы чтобы распознать слова и выучить их, а затем правильно их произносить и аудировать.
Если в вашем языке границы слов и предложений легко определить, то работу по переводу речи в текст можно возложить на программу.
Цитата: basta от июня 27, 2024, 17:08Разница в семантике неоператоров, одноместных операторов и двуместных операторов в том числе проявляется в количестве мест, и никак не выведешь формальные правила для перевода из одного в другое, всегда будет произвольное решение автора.
Я убеждён, что для каждого одноместного значения существует наилучшее (наиболее перспективное) двуместное значение. Но, конечно, одному автору трудно его определить, это должна быть целая научная дисциплина, со своими методами, логикой доказательств и консенсусом.
Ну сделать простой синтаксис это не мудрено, особенно если пренебречь возможностью распарсить это человеком. Но тогда приходится думать над семантикой.
Цитата: maratique от июня 27, 2024, 16:04Грамматика слишком простая, там не может быть вопросов. Надо только знать, как и какими операторами выражается та или иная конструкция, например, сравнение.
Грамматика это не только синтаксис. Это ещё и про знать как и чем что выражается. Если просто сказать человеку, что 'o это человек, bla это кто-то отдыхающий, а ' это родительный падеж, то он не сразу или вообще не поймёт, что 'obla' это отдыхающий человек, а не какой-то человек, который знакомый отдыхающего человека; или не человек, принадлежащий другому, отдыхающему, человеку в каком-то смысле; или не гостевой персонал; или что-либо ещё.
Для этого и нужно слово i = кто-то, что-то. Тогда ibla' — это будет уже конкретно какой-то отдыхающий чувак. Тогда человек, который знакомый отдыхающего человека будет 'oibla''. Причем в устной речи апострофы можно не произносить, они важны только в письменной, чтобы указать синтаксис. А в устной речи есть интонации, паузы, и вообще редки слишком сложные конструкции.
Едва ли в устной речи возникнут трудности с парсингом. А на письме можно дополнительно скобки использовать для более наглядного выражения синтакиса.
Немудрено сделать простой синтаксис, но мудрено сделать самый простой синтаксис. Это сейчас всё кажется прнятным и очевидным, но в начале ум в темноте был, приходилось наощупь двигаться. С десяток апдейтов делал, пока не нашёл. Совершенная версия — это которую непонятно как улучшить.
И вообще желательно описать все теоретически возможные синтаксисы.
Я еще такую фишку придумал, наверное, не я первый. Есть существительное ie — число, количество. А числительные у меня — это одноместные операторы, т.е. суффиксы. Тогда ie123 = 123, 'oie123' = 123 человека.
А если числительное просто присоединить к слову, то образуется новое слово:
foe = тарелка
foe0 = поднос
foe1 = блюдце
foe2 = миска
Учёл ваши замечания и строго описал операторы. Теперь синтаксис полный и любой может написать коротенький элементарный парсер и он тебе сразу делит текст на предложения, а в каждом предложении определяет где подлежащее, а где сказуемое, где дополнение, где определение, где обстоятельство, что к чему относится, что что определяет.
X: б т ф с н
Y: и у . х
Z: а э о л
Слово = Y | X+Y | X+[Y]Z+ | YZ+
Унарный О1ператор = XZ
Бинарный О2ператор = Y
Знаменательное слово = С - О1 - О2
Предложение = З | ПО1| ППО2
Любое знаменательное слово или любое предложение конвентируется в глагол с помощью оператора h. Это снимает проблему с словообразованием глаголов.
Далее, понял, что неудачно выбрал структуру. Послелоги не сочетаются с head-initial, потому что под столом будет низ стола в — то есть разделяются суффикс места и уточняющее слово. Надо сделать head-final, как тюркский изафет. Тогда будет стол низ-его в — то есть единый сложный предлог, как в алтайских языках.
Ну и ещё понял, что логичнее h сделать не окончанием винительного падежа, а окончанием глагола. Таким образом я пришол к выводу, что самым естественным постфиксным языком будет head-final SOV. Тюркский, например.
И соответственно самым естественным префиксным языком будет head-initial SVO.
Путем долгих размышлений я нашол набор из четырёх фундаменальных бинарных опреаторов, из которых все создается.
точка-гортанный стоп . — конец предложения(по сути это глагол быть, который связывает подлежащее со сказуемым).
h — конвертор в глагол(в причастие, если точнее. Но ведь причастие + глагол быть даёт глагол)
i — определяет одно слово или предложение другим, тюркский изафет
u — абстрактный место-творительный падеж
Примеры(SOV):
ha = я/иметь
nbe = голова/знать
si = компания/???
ni = что-то, кто-то/делать
fie = дом/???
haha. — Я есмь я.
hanbei — моя голова
hanbehah. — Я имею голову
hanifieu. — Я дома. (Я — некто, находящийся в доме)
hahafieisiiu — я и мой дом (я, находящийся в компании моего дома)
hahanbeinifieu.nbeh. — Я знаю, что моя голова дома.
Это новый логический конланг? Что-то вроде логлана с ложбаном?
Цитата: Сахарный Сиропчик от августа 23, 2024, 23:04Это новый логический конланг? Что-то вроде логлана с ложбаном?
Это попытка придумать самый простой возможный язык с однозначным синтаксисом и наипростейшим возможным парсером.
И всё, что может использоваться как подлежащее или дополнение, также может стать глаголом.
Просто я хотел изучить чей-нибудь конланг, но они мне не нравились из-за сложности и произвола. Я понимал, что можно проще.
То есть я не пытался придумать что-то новое, а пытался понять, что можно убрать лишнего из существующих языков. Пытался нащупать минимальное количество правил, из которых можно склеивать предложения.
Простота достигается благодаря тому, что у меня только одна часть речи — существительное.
Например, вместо прилагательного хороший у меня существительное некто хороший, вместо непереходного глагола бежать — существительное некто бегущий, вместо глагола знать — причастие знающий.
И теперь, в принципе, вам остается только придумать как выражать прямое дополнение и как определить одно существительное другим. Ну и глагол-связку "быть". У меня она прячется в завершающей предложение точке. Это минимализм такой, каждая точка продумана.
Цитата: maratique от июня 29, 2024, 12:31Я еще такую фишку придумал, наверное, не я первый. Есть существительное ie — число, количество. А числительные у меня — это одноместные операторы, т.е. суффиксы. Тогда ie123 = 123, 'oie123' = 123 человека.
Здесь на форуме недавно писали про такие фишки как счетные суффиксы (https://lingvoforum.net/index.php/topic,108227.50.html#:~:text=%23-,61,-20%2D08%2D2024) и префиксы (https://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%BD%D0%B3%D0%B5%D1%80%D1%81%D0%BA%D0%B0%D1%8F_%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D1%8F).
Цитата: maratique от августа 24, 2024, 07:29Это попытка придумать самый простой возможный язык с однозначным синтаксисом и наипростейшим возможным парсером.
Понятно. В любом случае успехов Вам в лингвопроектировании. ;up: