войти зарегистрироваться

РазработкаStarting server

Исторически так сложилось, что в программировании используется английский язык. В основном это касается названий идентификаторов, но и сообщения в программе/библиотеке часто бывают на английском языке.

Использования английского языка может упростить использование и обслуживание программы, особенно при ее использовании «в мировом масштабе». На свете очень много людей, если и не знающих английский в совершенстве, то знающих хотя бы на уровне читателя инструкций. Поэтому аудитория англоязычных сообщений достаточно велика.

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

АлгоритмыКак я создавал синтаксический анализатор из песочницы

Для одного из моих проектов потребовалась интересная фича — перефразирование текста, позволяющего, к примеру, фразу “корова паслась на лугу” переделать в “пятнистая буренка жевала сочную траву на зеленом лугу”. Конечно же, подобного рода преобразования требуют очень большую базу связей между словами и выражениями, отсутствие которой и свело на нет всю работу. Но это уже другая история. Сейчас же я расскажу о том, как решал вопрос синтаксического анализа предложений, которые затем должны были преобразоваться во что-то новое, но такое же человекочитаемое.

PrologProlog — грамматический разбор и языковые проблемы

Грамматический разбор — тема, которую должен знать и ориентироваться каждый программист. Именно, потому что применяем ее каждый день. Да мы не пишем новые языки или не правим грамматики каждый день, но мы пользуемся регулярными выражениями, задумываемся о сложности и вычислимости, думаем о количестве строк кода, что имеет непосредственное отношение к грамматикам.

Целью этой статьи является попытка показать связи в различных областях знаний, как программирование и математика, философия и логика, а так же продемонстрировать в действии одну из наиболее удачных областей применения языка Prolog — грамматический разбор.

КомпиляторыРазрабатываем компилятор для учебного языка Cool на языке C# под .NET (Часть 1) из песочницы

Введение


Здравствуй, уважаемый хабраюзер.
Я хотел бы тебе представить материал о практическом создании компилятора, который будет транслировать код, написанный на языке Cool, в код виртуальной машины CIL (Common Intermediate Language) под платформу .NET.
Данный материал я решил разбить на две части из-за лени все сразу это описывать

В первой части будет описан процесс написания грамматики с учетом приоритетов операторов в среде ANTLR, а также генерации лексера и парсера под язык C#. Также в ней будут рассмотрены подводные камни, которые встретились у меня на пути. Таким образом я постараюсь хоть кому-нибудь сэкономить время.

Во второй же части будет описан процесс построения семантического анализатора кода, генерации кода и самопальной никому не нужной оптимизации кода. Также будет описано, как сделать красивый интерфейс с блекджеком и шлюхами с подсветкой синтаксиса и сворачиванием блоков, как в современных IDE. В конце второй части я, конечно же, выложу все исходники моего солюшена и расскажу о дальнейшей улучшении архитектуры и кода, во всяком случае как это представляется мне.

MicrosoftMicrosoft Word. Автоматическое исправление языка текста

image

Часто проверка орфографии и грамматики в Word не работает по причине того, что язык слов выставлен неправильно. Я сталкиваюсь с этим в документах написанных на русском языке, но содержащих большое количество IT-терминов на английском.

По ссылке описание проблемы и инструкция, как добавить в Word макрос, для автоматического исправления языка в подобных русско-английских документах.

ПрограммированиеГрамматика арифметики или пишем калькулятор на ANTLR из песочницы

Когда встает вопрос о том, как вычислить арифметическое выражение, то, наверное, многие думают от обратной польской нотации. Поэтому в данном топике хотелось бы рассказать о том, как можно составить грамматику арифметического выражения и построить по ней лексический и синтаксический анализатор при помощи ANTLR.

Персональные блоги Проверка грамматики Open Office в вашем WEB-приложении

imageВ проектах, где нужно качественно обрабатывать много мультиязычного контента, практически невозможно обойтись без хорошей проверки грамматики. Писать самим каждый модуль для отдельного языка займет много времени и средств. Более того, нужно очень хорошо разбираться в языке, быть лингвистом и при этом соотносить язык математическим формулам. Задача не из легких. В таком случае, эффективным методом будет взять уже готовое решение и интегрировать его в приложение. Как это сделать простым способом, используя средства Open Office, я расскажу в этой статье.

Я пиарюсь Универсальная on-line проверка грамматики с помощью google ajax search api

Обычно я проверяю английскую грамматику, вбивая в Google куски фраз, и смотрю, что получится.
Если найдено много вариантов, то фраза правильная, если не очень много — то неправильная.

image

Вот, написал сервис, который отсылает запросы в Google, а сам подсвечивает, «правильно», или «неправильно» написаны куски предложения, и местами даже подсказывает — какое слово можно поставить на то, или иное место в предложении.
Еще он показывает в каком именно контексте найдено слово.

Замечательно то, что ему все равно, какой язык вы проверяете.

Биотехнологии L-Systems — математическая красота растений

Красота растений привлекала внимание математиков веками. Активнее всего изучались интересные геометрические свойства растений, такие как симметрия листьев относительно центральной оси, радиальная симметрия цветов, и спиральное расположение семечек в шишках. «Красота связана с симметрией» (H. Weyl. Symmetry). Во время роста живых организмов, особенно растений, можно четко видеть регулярно повторяющиеся многоклеточные структуры. В случае составных листьев, например, маленькие листочки, которые являются частью большого взрослого листа, имеют ту же форму, что весь лист имел на раннем этапе формирования.

В 1968г. Венгерский биолог и ботаник Аристид Линденмайер (Aristid Lindenmayer) предложил математическую модель для изучения развития простых многоклеточных организмов, которая позже была расширена и используется для моделирования сложных ветвящихся структур — разнообразных деревьев и цветов. Эта модель получила название Lindenmayer System, или просто L-System.

Для тех, кто в теме и не хочет все читать целиком, проскрольте вниз, есть вопрос.

ИнтерфейсыRobot Grammar Nazi: Робот, говори правильно!

Даже когда люди общаются с автоматизированной системой, они делают множество выводов о том, что за «персонаж» с ними общается. Эти выводы складываются из многих характеристик, в том числе качества голоса, набора слов, способа их произнесения и т.п.

Это явление представляет возможность компании создать конкретный образ и расширить свой бренд посредством грамотного проектирования персонажа, являющегося визитной карточкой системы.
Некоторые дизайнеры думают, что нужно убедить пользователя в том, что с ним разговаривает человек…