[11:27:10] <akastargazer> Посоветуйте что-нить для совместного ведения проектов, простое и удобное?
[13:16:55] <jordan36957> Подчиваю компилятор опциями для встраивания inline функций, он всё их игнорит.
[13:23:52] <jordan36957> Вот жеж басурман, опций не понимает :-)
[14:10:57] <alexey.veselovsky> https://www.youtube.com/watch?v=mxzgwJ8tSE0
[14:11:10] <alexey.veselovsky> по моему, это прекрасно!
[14:26:35] <jordan36957> Почему так сложно с женщинами? Это риторический вопрос. На всякий пустяк обижаются и т.д Проблема на ровном месте.
[14:27:26] <alexey.veselovsky> не замечал
[14:28:50] <jordan36957> Это я так высказался, накипело
[14:29:00] <jordan36957> По работе, чудят
[14:29:35] <alexey.veselovsky> они просто на вопросы смотрят шире :-) им важно отношение по жизни а не решение конкретной проблемы + у них выше восприимчивость в плане эмоций. и это правильно.
[14:29:46] <alexey.veselovsky> ну, в среднем так.
[14:30:30] <jordan36957> Да именно, эмоции и воспреимчивость
[14:31:28] <jordan36957> При коллективном труде, всегда выходит боком, такая эмоциональность
[14:32:06] <alexey.veselovsky> не всегда. ну, то есть полно же чисто женских коллективов которые вполне успешно трудятся
[14:32:28] <alexey.veselovsky> да и смешанных тоже много. и смешанные как раз имеют наивысшую производительность труда похоже.
[14:33:32] <jordan36957> Это когда устав есть, а когда хочу не хочу
[14:33:51] <alexey.veselovsky> э? какой нафиг устав?
[14:34:30] <jordan36957> Не понял? Есть менеджер, который даёт под зад, за невыполнение своих обязанностей
[14:35:18] <alexey.veselovsky> а где-то бывает так, что нет руководителя?
[14:36:14] <jordan36957> Когда, руководитель, или близкие к ней женщины
[14:36:33] <jordan36957> Сами фигней страдают
[14:36:38] <jordan36957> И наускивают других
[14:36:48] <alexey.veselovsky> и? мужчина-женщина руководитель - какая разница? вполне продуктивно получается.
[14:36:59] <alexey.veselovsky> а фигней страдать и мужики горазды
[14:37:20] <alexey.veselovsky> тебе видимо все время попадаются какие-то конторы совкового образца :-)
[14:37:29] <jordan36957> шарашкины
[14:37:37] <jordan36957> Это пздц
[14:38:30] <jordan36957> Ладно
[14:41:50] <jordan36957> За город взяли, щенка алабая. Ох и махиной вырастет
[14:42:33] <jordan36957> Будет таким http://www.r-risk.ru/src/CKeditor/upload/images/9%281%29.jpg
[14:42:42] <jordan36957> Только тёмно серым
[14:42:45] <alexey.veselovsky> ЖЫВОТНОЙЕ!
[14:44:52] <jordan36957> В деревне, хорошо. Мы с отцом уже и будку на прошлых выходных сделали.
[14:45:07] <jordan36957> Там собаке раздолье.
[14:45:20] <jordan36957> Назвали альфой, так как сука
[14:45:37] <alexey.veselovsky> был бы кабель - назвали бы бетой?
[14:45:47] <alexey.veselovsky> альфа сука это конечно круче чем альфа-самец :-)
[14:47:44] <jordan36957> Норм имя, я думал сначала назвать бети. Но слишком оно, сладенькое
[14:48:06] <alexey.veselovsky> Назвал бы Каппой и всё!
[14:49:08] <jordan36957> не
[14:49:43] <alexey.veselovsky> Гаммой?
[14:49:49] <alexey.veselovsky> Во! Пси!
[15:22:00] <jordan36957> alexey.veselovsky Не знаешь, как заставить gcc инлайнить? Я уже и -O3 написал который включает в себя и инлайн функци.
[15:22:30] <alexey.veselovsky> не любую функцию можно инлайнить. это ж очевидно
[15:23:23] <alexey.veselovsky> http://stackoverflow.com/questions/8381293/how-do-i-force-gcc-to-inline-a-function
[15:27:33] <s6> alexey.veselovsky, я думаю что можно любую, но не любую нужно
[15:27:49] <s6> ну, кроме рекурсивных
[15:27:56] <alexey.veselovsky> ну попробуй рекурсивную, ога
[15:28:02] <alexey.veselovsky> особенно если там сложная рекурсия
[15:28:20] <s6> ну с рекурсивными - траблы, это да
[15:28:56] <s6> кроме какойнить простой рекурсии типа tailcall
[15:29:28] <jordan36957>
inline char str_get(string_t * src, size_t idx)
{
 assert(src != NULL);
 assert(idx >= 0 && idx <= src->length);

 return src->data[idx];
}
[15:29:31] <jordan36957> как пример
[15:29:54] <alexey.veselovsky> а как ты проверяешь на инлайновость?
[15:31:43] <jordan36957> компилю в асм
[15:31:56] <jordan36957> там call str_get
[15:34:46] <jordan36957> Это я свои безопасные стоки пилю
[15:35:07] <jordan36957> *строки
[15:35:18] <alexey.veselovsky> а ты сишным или плюсатым компилишь?
[15:35:25] <alexey.veselovsky> плюсатый может и заинлайнит конечно :-)
[15:36:33] <alexey.veselovsky> алсо возможно стоит заменить на: inline char str_get(const string_t* const src, const size_t idx)
[15:36:37] <alexey.veselovsky> больше констов!
[15:42:51] <s6> 3 тыщелетие на дворе, а гцц до сих пор тупой как баран и не может отследить тривиальные консты сам
[15:43:06] <alexey.veselovsky> это было лишь предположение
[15:43:37] <jordan36957> плюсовый заинлайнил
[15:43:46] <jordan36957> сишный отказывается
[15:43:51] <alexey.veselovsky> а у тебя си какой версии по умолчанию?
[15:43:54] <alexey.veselovsky> небось C89
[15:44:02] <alexey.veselovsky> а не 99, где инлайн уже есть
[15:44:30] <jordan36957> я не знаю компилю так
[15:44:32] <jordan36957> "..\mingw\bin\g++" -Wall -omain -static -s -S -O3 main.c
rem "..\mingw\bin\gcc" -Wall -omain -static -s -S -O3 main.c  
[15:44:50] <alexey.veselovsky> попробуй std=c99
[15:45:05] <alexey.veselovsky> то есть gcc std=c99 -O3 main.c
[15:50:19] <jordan36957> работает
[15:50:26] <alexey.veselovsky> дык
[15:50:34] <Kemet> Ужос
[15:50:38] <s6> alexey.veselovsky, а в модуле и обероне от XDS и в лабе компиляторов СО РАН инлайны были задолго до 99 года =)))
[15:50:51] <jordan36957> c99 поддерживают все компиляторы? Ну как минимум основные.
[15:50:53] <alexey.veselovsky> если бы Си89 инлайнил - это был бы полный абзац
[15:51:06] <jordan36957> почему?
[15:51:08] <alexey.veselovsky> студия не поддерживает вроде
[15:51:19] <alexey.veselovsky> потому, что Си89 не знает ничего про инлайн. по стандарту
[15:51:29] <s6> ыыыыы стандарт на дибилизм
[15:51:33] <alexey.veselovsky> поэтому там все явно - функция это функция
[15:51:41] <s6> и чё
[15:51:48] <s6> это не повод не инлайнить
[15:51:50] <alexey.veselovsky> за что Линус его и любит
[15:51:58] <alexey.veselovsky> а С99 и всякие С++ клеймит
[15:52:15] <s6> линуса на мыло и пуговицы
[15:53:00] <alexey.veselovsky> кстати, если бы ты явным образом показал какую версию языка тебе надо (а не умолчательный гибрид как там в gcc принято), то скорее всего была бы ошибка компиляции
[15:53:08] <s6> неспроста в линуксе до сих пор каждый день абдейты в ядре
[15:54:35] <alexey.veselovsky> попробуй опцию -ansi
[15:54:44] <alexey.veselovsky> либо -std=c90
[15:55:35] <alexey.veselovsky> в Си89/90 традиционно для инлайна используют макросы - явным образом то есть.
[15:56:37] <Kemet> alexey.veselovsky: Насколько трудно перетянуть проект с mfc на что нить вменяемое и кросовое
[15:57:08] <alexey.veselovsky> ну, помнится идеалогически близок к МФС был wxWidgets
[15:57:11] <alexey.veselovsky> когда-то
[15:57:15] <alexey.veselovsky> как оно сейчас - хз
[15:57:28] <alexey.veselovsky> но я бы рекомендовал живительную эвтаназию
[15:59:28] <Kemet> Я когда то смотрел эту вхвиджетс и она мне чуть моск не сломала
[15:59:57] <s6> qt гораздо замороченнее чем wxw
[16:00:12] <alexey.veselovsky> как будто MFC моск не ломает :-)
[16:00:38] <jordan36957> Не анси не нужен, мне wchar_t нужен, он вроде С99
[16:01:18] <jordan36957> gtk ничё так
[16:01:49] <s6> ага, тото даже простейшие проги на gtk до сих пор ассертами сыплют
[16:01:54] <s6> вроде gedit/pluma
[16:01:59] <Kemet> Ну вот вхвиджетс это было можно скахать первое глубокое знакомсьво с цпп после которого мфк показалось намного лучше
[16:02:02] <s6> ассерт виолатионами
[16:02:04] <jordan36957> У меня идея, чтобы код компилился на всех С\С++ компиляторах, более менее новых от 2000 годов и выше
[16:02:58] <jordan36957> s6 Они там своё сишное ООП замктили. Писан на си, от того будет глючить всегда
[16:03:31] <s6> jordan36957, ну и в топку это "будет глючить всегда"
[16:03:37] <s6> и си и с++ в топку
[16:03:43] <alexey.veselovsky> и смалтолк тоже!
[16:05:53] <s6> alexey.veselovsky, смолток крайне простой язык
[16:05:59] <s6> он лиспообразный
[16:06:07] <alexey.veselovsky> от этого проги не менее глючны на нем
[16:06:10] <s6> а си и си++ существенно сложнее
[16:06:12] <s6> неть
[16:06:15] <Kemet> Я еще когда то VCF смотрел там парни тытались сбацать некий аналог vcl для плюсцов
[16:06:23] <s6> проги глючны от безтиповости смолтока
[16:07:02] <alexey.veselovsky> от динамической типизации, а не безтиповости
[16:07:10] <s6> ну как тебе сказать
[16:07:21] <s6> отсутствие аннотаций типов и называется безтиповостью
[16:07:33] <s6> не учи учёного =)
[16:08:35] <alexey.veselovsky> а неа
[16:08:47] <s6> в strongtalk введены аннотации типов, но он не доведён до пром.качества
[16:08:57] <alexey.veselovsky> анотации типов и при статической типизации могут быть опциональны, или их может вообще не быть
[16:09:18] <s6> ну доо
[16:09:27] <s6> они тогда есть в RT
[16:09:34] <alexey.veselovsky> неа
[16:09:47] <s6> тогда вариантные типы юзают
[16:10:06] <alexey.veselovsky> вывод типов юзают :-) и только статический типы - никаких вариантов :-)
[16:10:30] <s6> ну или вывод. но вывод откуда-то таки идёт
[16:10:50] <s6> то есть где-то эти аннотации в явном виде имеются таки.
[16:10:58] <alexey.veselovsky> c литералов, ясное дело
[16:11:08] <alexey.veselovsky> а литералам анотация не нужна :-)
[16:11:19] <s6> литералы саме себе аннотация, да.
[16:12:07] <Kemet> В модуле-3 тип переменной можно не указывать в случае наличия инициализатора, в принципе даже он может отсутствовать и первое присваивание определит статический тип
[16:12:24] <alexey.veselovsky> и в Go тоже
[16:12:30] <alexey.veselovsky> да и в С++ тоже :-)
[16:12:52] <s6> начиная с какого стандарта в цпп?
[16:13:00] <alexey.veselovsky> c 11
[16:13:14] <alexey.veselovsky> auto foobar = 42;
[16:13:29] <alexey.veselovsky> auto x = some_func(x,y,z);
[16:16:01] <s6> #define autotraining auto
[16:16:55] <s6> #define var auto
[16:16:57] <s6> во =)
[16:17:50] <alexey.veselovsky> нинужен!
[16:18:10] <s6> С++ угу
[16:18:24] <alexey.veselovsky> что, жаба лучше? ;-)
[16:18:32] <s6> асм
[16:18:39] <alexey.veselovsky> который?
[16:19:10] <s6> всё надо писать на xml
[16:19:27] <s6> <auto/> =)
[16:20:16] <Kemet> Ы ну вот в FastScript байткод в XML
[16:23:08] <alexey.veselovsky> с тем же успехом можно байткодить в csv или json, или в .doc
[16:23:30] <s6> неть
[16:23:35] <alexey.veselovsky> дать
[16:23:37] <s6> неть
[16:24:14] <s6> у меня кстати были для тестирования одной промышл.системы скрипты, у них носителем языка был xml
[16:24:21] <Kemet> s6: Так что ты можешь писать почти на асме и на хмл одновременно
[16:24:41] <s6> ну можно транслятор asm<->xml сделать
[16:24:59] <s6> равно как и c++<->xml
[16:25:09] <alexey.veselovsky> xml ничего не дает
[16:25:15] <s6> даёть
[16:25:18] <alexey.veselovsky> это тупо контейнер.
[16:25:24] <alexey.veselovsky> как и любой другой контейнер
[16:25:24] <s6> его можно либами dom и sax
[16:25:27] <alexey.veselovsky> хоть та же матрешка
[16:25:28] <s6> трогать
[16:25:31] <s6> неть
[16:25:39] <s6> его можно либами dom и sax трогать и генерить
[16:25:51] <s6> а с++ так просто не тронешь
[16:25:53] <alexey.veselovsky> контейнер то - ну да, можно генерить
[16:26:03] <alexey.veselovsky> а вот содержимое - хрен
[16:26:04] <s6> и читать
[16:26:15] <s6> читать xml можно
[16:26:34] <alexey.veselovsky> xml то можно
[16:26:34] <s6> скажем для рефакторинга или метапрога
[16:26:41] <alexey.veselovsky> а вот то что в xml засунуто - нельзя :-)
[16:26:48] <s6> можна
[16:26:54] <alexey.veselovsky> ню-ню
[16:26:54] <s6> но сложно
[16:27:14] <s6> изза таких нюню и рождаются тварюки типа GCC
[16:27:44] <s6> я пытался сырцы GCC понять
[16:27:47] <s6> это ой
[16:28:09] <alexey.veselovsky> а если бы сырцы были бы на Си, но в виде инкапсулированном в xml, было бы проще понять? :-D
[16:28:26] <s6> проще
[16:28:33] <s6> было бы разделение на компоненты
[16:28:35] <alexey.veselovsky> Ыыыы!
[16:28:38] <alexey.veselovsky> /me пацталом
[16:28:39] <s6> а щас такого разделения нету
[16:28:53] <s6> разделяй и властвуй это прекрасная весчь
[16:29:02] <s6> она упрощает
[16:29:23] <s6> а щас всё намотано в ахерный клубок кода на разных формализмах
[16:29:43] <s6> в сырцах гну компайлерс коллекшн
[16:30:08] <Kemet> s6: Ну разрабы модулы-3 его поняли и запилили в качестве бакэнда переписав часть гцц. и никто от этого не умер да и вообще они и к ц более чем норм относятся
[16:31:27] <s6> в смысле? что является бэкендом к чему и каким именно бэкендом?
[16:32:13] <alexey.veselovsky> переписанный gcc является бекендом к модуле-3
[16:34:06] <Kemet> Вроде еще запилили генерацию к с99
[16:34:22] <alexey.veselovsky> котогенерация в сишечку?
[16:34:27] <Kemet> в
[16:34:34] <alexey.veselovsky> видимо сообщество уже не тянет свой форк бекенда
[16:34:44] <Kemet> Да
[16:35:32] <alexey.veselovsky> эдак они и до оберона скатятся :-)
[16:35:46] <Kemet> Ну там появилась группрчка которая захотела в с и сделала генератор
[16:37:36] <s6> я думаю несколько разрабов модулы-3 точно умерло, пытаясь переварить гцц
[16:37:59] <Kemet> А в ллвм не сделали ибо нинужен
[16:40:37] <Kemet> alexey.veselovsky: енто м3 в оберон перегонять? так стимула нема
[16:41:54] <alexey.veselovsky> не, это я уже про фронтенд :-)
[16:41:59] <Kemet> Да и сборщик мусора в м3 сильно другой его на сборщик обероновский не натянуть
[16:42:12] <alexey.veselovsky> кстати, язык там меняется как-то? прикладные либы пилятся?
[16:45:07] <Kemet> Ну сделали поддержу вайдчаров и вайдтекста с конвертациями потоковыми в языке особо нет изменений разве что были. проблемы с генерацией  ц но вроде порешали я не вникал.
[16:46:43] <Kemet> Если есть какие изменения то с типами - разрядность там, тем более активно поддержку 64 бит пилили
[16:47:54] <s6> про типы в Haxe смешной Int. Он реализуется то ли как инт на выходе, то ли как жаваскриптовый флоат
[16:58:23] <jordan36957> Всё инлайнит и работает, как я задумал
[17:08:26] <jordan36957> Всё таки в программировании есть какая то красота и удовлетворение, когда всё работает!
[17:09:22] <s6> вово. а когда полгода возишься с глюкавой дерьмовой платформой и тебе не выделяют времени чтобы на эту платформу багрепорты слать, то падаешь духом сильно
[17:09:28] <s6> я уволился из такого места =)
[17:10:50] <alexey.veselovsky> IBM? :-)
[17:11:18] <s6> нет. а платформа была Google Web Toolkit (GWT)
[17:11:31] <alexey.veselovsky> ну, IBM и есть - это ж их поделие
[17:11:33] <alexey.veselovsky> бимерское
[17:11:46] <jordan36957> Интересно, пишут ли сайты на си не с++? Гугл молчит.
[17:12:00] <alexey.veselovsky> что значит сайты?
[17:12:07] <jordan36957> Малоли всяких извращенцев
[17:12:07] <alexey.veselovsky> гугл - например такой сайт :-)
[17:12:21] <alexey.veselovsky> фейсбук считай тоже
[17:13:32] <jordan36957> Я просто сколько не гуглил, написание сайтов на статически компилируемых языках. Выдал пару статей на хабре
[17:13:50] <alexey.veselovsky> эмм.. какая разница компилируемый язык или нет?
[17:13:51] <jordan36957> Мне эта тема интересна
[17:13:53] <alexey.veselovsky> на хаскеле пишут
[17:13:57] <alexey.veselovsky> да на чем угодно
[17:14:01] <alexey.veselovsky> я на Go писал
[17:14:08] <jordan36957> Обычно же php
[17:14:16] <alexey.veselovsky> ну не так уж и обычно
[17:14:22] <s6> jordan36957, у вк.ком это kPHP
[17:14:27] <s6> там нет eval()
[17:14:32] <s6> вроде
[17:14:42] <jordan36957> kphp?
[17:14:45] <s6> угу
[17:14:48] <alexey.veselovsky> ибо компилируемый в С++ :-)
[17:15:07] <s6> вкшники свои платформы заопенсоурсили - там разные либы
[17:15:23] <jordan36957> Чего нить тоже надо замутить на си, понять как оно внутрях устроено
[17:15:33] <jordan36957> Повысить скилл :-D
[17:15:41] <alexey.veselovsky> у сей унутрях почти ничего нет :-) он же простой как три копейки :-)
[17:15:59] <jordan36957> От того первым делом запилил строки :-)
[17:16:07] <jordan36957> За то сам
[17:16:11] <alexey.veselovsky> угу
[17:16:50] <jordan36957> Но с нормальными строками конечно, не сравнить, по удобству
[17:17:18] <s6> напиши транслятор явы =)
[17:17:30] <s6> синтаксис явы для кокора есть =)
[17:17:42] <s6> ну это так, от балды
[17:17:46] <jordan36957> Это очень серьёзный для меня вызов
[17:18:13] <jordan36957> Нужно матана много осилить, вроде книги по компиляторостроению
[17:18:39] <jordan36957> Яж самоучка.
[17:18:58] <alexey.veselovsky> можно просто компилятор калькулятора простых выражений
[17:19:03] <s6> угу
[17:19:24] <s6> компилятор и исполнятор скомпилённого
[17:20:08] <s6> ну проще всего это на кокоре делать
[17:20:46] <alexey.veselovsky> это такая задача, которую полезно сделать несколькими разными способами
[17:20:50] <alexey.veselovsky> ибо размеры задачи позволяют
[17:21:21] <s6> ну кокор таки даёт оптимальный код на выхлопе
[17:21:31] <s6> на этот код имеет смысл потом ориентироваться
[17:22:30] <s6> ну, для ll(1) грамматик
[17:24:43] <alexey.veselovsky> пофиг на оптимальность
[17:24:55] <alexey.veselovsky> важен опыт применения разных подходов
[17:24:55] <s6> дада. надо в говне веть тоже
[17:25:05] <alexey.veselovsky> это ж учебная задача
[17:25:10] <alexey.veselovsky> не имеющая практического значения
[17:25:44] <s6> надо в говне веть тоже. важен опыт говна
[17:26:00] <s6> неважно как это мотивировать.
[17:26:19] <alexey.veselovsky> коко тоже говно для других классов задач :-)
[17:26:35] <s6> коко для других классов задач не работает вообще
[17:26:40] <s6> и поэтому не говно
[17:26:50] <alexey.veselovsky> работает. через хаки
[17:27:10] <alexey.veselovsky> как и bison таки уговорили жрать грамматику С++
[17:27:22] <alexey.veselovsky> хотя формально оно жрать грамматику С++ не может
[17:27:55] <s6> меня с компа сгоняют
[17:43:49] <kemet-r> test
[17:43:50] <Жаба> kemet-r, passed
[17:48:25] <s6> alexey.veselovsky, ну это тупость --- утверждать, что несколько способов говна полезны для транслятора формулок. Надо по-другому говорить. А именно, в терминах грамматик и теории грамматик. А не в терминах способов для опыта. Способы для опыта --- это говно для говна, и пользы несёт мало.
[17:49:11] <alexey.veselovsky> предложи практику лучше
[17:50:15] <s6> Ну математическая традиция формул - это чистый лл(1) обычно. И кокора более чем достаточно.
[17:50:50] <alexey.veselovsky> кокора не достаточно для обучения методикам написания парсеров
[17:51:12] <s6> А если не лл(1), то мне самому интересен научный предметный дискурс
[17:52:05] <s6> Ну так смотря какие парсеры. Формулки если лл(1), то кокора вполне достаточно.
[17:52:33] <alexey.veselovsky> для обучения - не достаточно
[17:52:44] <alexey.veselovsky> просто потому, что на практике грамматики будут встречаться самые разные
[17:53:00] <s6> Если есть какие парсер генераторы другие лл(1), то расскажи, если знаешь
[17:53:48] <alexey.veselovsky> antrl
[17:54:00] <s6> Таки я же говорю "если". Ты учитывай это "если"
[17:54:20] <alexey.veselovsky> и руками писать парсеры тоже полезно уметь
[17:54:28] <alexey.veselovsky> хотя бы затем, чтобы понимать чужие парсеры
[17:55:17] <kemet-r> alexey.veselovsky: в м3 либы таки пишутся, но надо смотреть детально, сщас вот вижу новая либа для обработки сигналов, но не смотрел еще, довольно объемная
[17:58:38] <alexey.veselovsky> объемная - это хорошо
[18:01:23] <kemet-r> и одни дженерики
[18:01:27] <kemet-r> почти
[18:01:35] <alexey.veselovsky> вах!
[18:01:45] <alexey.veselovsky> не, модула-3 однозначно штука привлекательная :-)
[18:03:20] <kemet-r> хотя вря, там всего 300 кб, просто файликов много, и учитывая, что там дженерики, в тестах генерятся реальнеые модули которых нету в комплекте
[18:07:41] <alexey.veselovsky> прикольно
[18:07:55] <alexey.veselovsky> помню мне это дело крышу снесло слегка
[18:09:22] <s6> Маньяки же =)
[18:12:41] <kemet-r> угу и gdb там наверное патченный
[18:13:44] <s6> alexey.veselovsky, посмотрел википедию, пишут про антлр что он лл(*) и лл(к). Про лл(1) нет упоминаний
[18:16:48] <alexey.veselovsky> очевидно что ll(1) это частный случай ll(k), где k=1
[18:16:49] <s6> Любите вы без необходимости всё усложнять
[18:17:11] <s6> Таки это особый частный случай
[18:17:54] <s6> Который позволяет к токенов хранить в инте
[18:20:22] <s6> И юзать лл(к) там, где лучше юзать лл(1), никакого смысла не имеет. Кроме как оно имеет смысл поплодить говнокод, имя которому говнокод.
[18:25:01] <alexey.veselovsky> для обучения необходима избыточность
[18:26:29] <s6> Не. Для обучения лучше знать точную теорию. Ценнее обучение будет. Нежели быть говномастером говнокода.
[18:29:34] <s6> Другое дело если антлр отдельно трактует лл(1), тогда можно и антлр поизучать для формулок.
[18:30:20] <s6> Я с ним особо не связывался, с антлр.
[18:30:48] <alexey.veselovsky> лучше поставить экскремент :-)
[18:31:23] <s6> Не знаю, не вдавался.
[18:56:27] <alexey.veselovsky> санкции работают! http://slon.ru/fast/russia/kreml-otkazalsya-priznat-vybory-v-lnr-i-dnr-1181658.xhtml
[19:04:44] <kemet-r> alexey.veselovsky: дак выборы в роисси закончились
[19:05:01] <alexey.veselovsky> :-)
[21:08:54] <Jordan> запилил строки не хуже паскалевских. теперь если будет выход за границу строки, прога будет выдавать подробную ошибку.
[21:09:22] <Jordan>
inline char str_get(const string_t * src, const size_t idx, const char * file, size_t line)
{
 if (idx >= 0 && idx <= src->length)
 {
   return src->data[idx];
 }
 else
 {
   prt_err("Array index out of bounds", file, line);
 }
}

#define str_get(x, y) str_get(x, y, __FILE__, __LINE__)
[21:09:27] <Jordan> на затравку
[21:10:00] <Jordan> оцените, уровень извращения :-D
[21:10:58] <Jordan> лучше чем в glib, там саный макрос без диагностики
[22:51:48] <vlad2> Jordan: проще крэшдампами пользоваться
[23:11:34] <vlad2> тогда у тебя будет полноценный стек
[23:13:49] <Jordan> ок
[23:26:43] <kpmý> а чо все радуются падению рубля?
[23:28:03] <Jordan> может радуются в паралельной вселенной.