Встречал ли кто-нибудь статью по написанию лексических и синтаксических анализаторов на Scheme. Интересуют не генераторы, а написание анализаторов «вручную». Очень интересная статья была "
Оптимизирующие парсер-комбинаторы" Практика функционального программирования. Но она посвящена OCaml. Мне интересные именно детали реализации на Scheme, т.е. получение данных из порта, откат и т.д. Какие-нибудь практики, шаблоны и т.д.
Помогите, пожалуйста, освоиться с Embedded Common Lisp.
Хочу распарсить XML с помощью одного из множества парсеров для CL.
Проблема в том, что у меня не получается подключить пакет ASDF. Делаю так:
(require 'asdf)
(push «/путь/к/xmls/» asdf:*central-registry*)
(require 'xmls)
Получаю
Internal error:
;;; ** (SYSTEM «i486-linux-gnu-gcc и т.д.
erred while invoking #<ASDF:COMPILE-OP NIL 155795840> on #<ASDF:CL-SOURCE-FILE „xmls“ 155710184>
Available restarts:
1. (TRY-RECOMPILING) Try recompiling xmls
2. (RETRY) Retry performing #<ASDF:COMPILE-OP NIL 155795840> on #<ASDF:CL-SOURCE-FILE „xmls“ 155710184>.
3. (ACCEPT) Continue, treating #<ASDF:COMPILE-OP NIL 155795840> on #<ASDF:CL-SOURCE-FILE „xmls“ 155710184> as having been successful.
4. (RESTART-TOPLEVEL) Go back to Top-Level REPL.
Broken at ASDF:PERFORM. In: #<process SI:TOP-LEVEL 0826afc0>.
Очевидно, что ECL пытается запустить gcc, но такого нет есть i686-linux-gnu-gcc.
В связи с этим два вопроса:
1. Если я не хочу, чтобы файлы компилировались в нативный код (хочу байткод)?
2. Если хочу, как мне указать правильную версию GCC?
Добрый день! Очень понравился subj в качестве языка настройки программы, написанной на C. Хотелось бы использовать в приложении. Но тут возникла проблема - необходима кроссплатформенность. Под Win программа собирается в VC. Знаете ли вы хорошую сборку guile под Win(без всяких там костылей типа cygwin). Как-то нагуглить не удалось.
Недавно обнаружил, что бубунта находит компьтеры в локальной сети.
Т.е. ping testcomp и все находится.
Вопрос как это получается, ведь DNS не параметрировал и раньше такого поведения не замечал (давно привык пользоваться IP адресами). Как это достигается в новых версиях linux?
Вообще все эти новые рюшечки типа автоматической настройки Wi-Fi немного напрягают: не понятно откуда, что идет.
Все перепробоавл не могу понять как включить микрофон в скайпе. Запись звука в гноме работает, а в скайпе нет. Установил регулятор громкости от пульсаудио: все каналы включены, а в скайпе всеравно ничего. Дистрибутив Ubuntu 10.04 Netbook remix на Asus EEE PC 1201T. Заранее благодарен.
Подскажите, пожалуйста, простой алгоритм шифрования с открытым ключом. Задача заключается вот в чем. Необходимо зашифровать строчку (длиной 30 байт) с помощью закрытого ключа, а расшифровать с помощью открытого ключа. Т.е. стандартная схема. Проблема в том, что расшифровку необходимо встроить в программу, так чтобы она не зависела от внешних библиотек (gnupg, openssl). Особо жестких требований к криптостойкости нет (скорее защита от дурака, но можно чуть по сложнее). Требований по быстродействию так же нет.
Лучше конечно ссылку на какую-нибудь статью, где разжеван алгоритм на C (желательно не большой до 1000 строк). При всей очевидности задачи мне так и не удалось найти адекватной статьи на эту тему (везде есть завязка на openssl). Т.е. гуглить по RSA, например, сложно стало нынче. В идеале также хотелось бы что-то стандартное и адекватное (не велосипедный вариант).
Написал тестовое приложение на Erlang. Один супервизор + один worker -gen_server.
запускаю так:
erl -boot start_sasl -config elog
далее ввожу в оболочке:
application:load(test).
application:start(test).
С помощью rb смотрю логи.
Далее возникает вопрос как это использовать на практике. Предположим есть реальный сервер, на котором я хочу пускать это приложение. Время от времени хочу смотреть логи.
Мне хотелось бы узнать как запустить с помощью скрипта все это удовольствие:
Обновил по традиции Ubuntu с 9.04 до 9.10. Просто было интересно посмотреть. Во-первых скорость загрузки: время загрузки увеличилось субъективно значительно и составляет 1 мин 32 сек. (Dell Inspirion 1525). Раньше не замерял, потому что не особо не интересует, но так как это заявили, то решил проверить. При чем х.з. на чем оно висит до появления анимируемой заставки почти минуту. В остальном не заметил ничего нового.
Не понятно как рулить сервисами . На redhat есть chkconfig и service (для убунту тоже есть, но не понятно как оно выруливает upstart сервисы). Не понятно как отключить сервис, как включить. Спрашивается какого меняли стандартную загрузку на эту фигню, которая медленнее в полтора раза и менее понятна для тех, кто пользуется линукс не первый день.
В сборке какой-то колеченный фаерфокс. Где-то убрали какие-то иконки и все.
Может кто что подскажет и развеет мой скепсис по поводу новой убунты. Как вы управляете скриптами загрузки и т.д.
Возник вопрос по проектированию базы данных (в книге своей не нашел, а как спросить у гугла не знаю). Может вопросы покажутся простыми, но мне никак не додуматься, как сделать правильно.
Как принято решать такую задачу в SQL:
Есть сущности Сущность1, Сущность2, Сущность3, Сущность4.
Сущность1 может иметь несколько Сущность2 (т.е. отношение один ко многим). Сущность2 может быть двух типов либо Сущность3 либо Сущность4.
Т.е. между Сущность2 и (Сущность3 или Сущность4) есть отношение многие к одному. Но одновременно связи между (Сущность2-Сущность3) и (Сущность2-Сущность4) быть не может
Например,
Table A (Сущность1)
id
Table B (Сущность2)
id
A_id -> A.id
C_id -> C.id
D_id -> D.id
Table C (Сущность3)
id
Table D (Сущность4)
id
Т.е. в таблице B не может одновременно быть NOT NULL C_id D_id, но один быть NOT NULL обязан.Есть предположение решить через CHECK ().
Правильно ли это? Или есть более изящный способ?
И все ради того, что бы попробовать новый kde, который как заявлено намного стабильнее стал. И вроде на самом деле так.
Но вот не задача он весит мертво мой ноут. Решил я еще подождать пока допилят.
Вместе с бубунтой у меня обновился еще krusader до 2.0 (теперь на базе kdelibs 4). Его редактор, который всегда использовал kwrite Kpart, стал жутко тормозить при пролистывании (текста всего-то 300 стр.) И иногда не корректно рисует (т.е. вставляет куски других окон). Это все я уже тестил под Gnome (с минимальными эффектами), т.к. от KDE пока отказался из-за подвисаний.
Что-то наводит меня на мысль, что дело в видео карте (или настройках xorg.conf, который сам уж как сто лет не настраивал, последний раз во времена RH9). Железо Dell Inspiron 1525
- на одном хосте работает AS и на нем же сервер БД
- на втором хосте (клиенте) работает некоторая сторонняя система
С первого хоста на второй отправляется сообщение JMS, например, добавить пользователя, если все успешно добавить в базу на первом хосте. Так вот вопрос как можно синхронизировать эти два процесса? Т.е. проблема может быть как в добавлении пользователя в БД так и в сторонюю систему на клиенте и хотелось бы чтобы это было атомарно.
Ответом может быть любой пример возможно какое-то требование к сторонней системе и т.д.
Просто в порядке интереса имеется ли такой инструмент, который компилирует C++ не в маш код, а в C код, который можно потом было бы использовать для сборки на платформе, не имеющей С++ компилятора?
Если у кого опыт работы с ASN.1? Пересмотрел много кодировщиков, компиляторов (C,C++,Java). Более менее нормальный и open source: http://lionet.info/asn1c/ Слышал про поддержку в Erlang, но язык слишком специфичен. Остальные по большей части не доделаны. Если у кого опыт работы ASN и ISO протоколами? Какой выбирали кодировщик для своих проектов?
Запарился настраивать Ubuntu для подключения к роутеру WL-500gP. Вроде в логах асуса есть, но dhclient не может получить IP адрес. Проверил на другом Vista все работает. Ноут DELL 1525. Может кто уже боролся WiFi у меня это первая попытка. Даже не уверен что проблема в авторизации, но все же.
При установке убунту на DELL 1525 устанока прировается на grub-install(hd0) failed типа неисправимая ошибка. На ноуте установлена Vista параллельно. В чем может быть косяк?
Раньше с модулем Qt SQL никогда не работал (так как предпочитаю Java для работы с базами) Захотелось написать небольшую прогамку, работающую c сервером MS SQL (не моя прихоть). Так вот настроил я ODBC так
cat /etc/odbc.ini
[ODBC Data Sources][1]
MSSQL = MSSQL Server
[MSSQL]
Driver = /usr/lib/odbc/libtdsodbc.so
Description = MSSQL Server
Server = 192.168.9.2
Database = test
Port = 1433
TDS_Version = 8.0
[Default]
Driver = /usr/lib/odbc/libtdsodbc.so
Вот кусок кода:
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setHostName("");
db.setDatabaseName("mssql");
bool ok = db.open("test","test");
qDebug() << ok;
if (!ok) return;
QStringList list = db.tables();
for (int i = 0; i < list.size(); ++i){
qDebug() << list[i];
}
Незнаю насколько корректен мой вопрос, но все же попытаюсь. Как можно в TCP отрубить отправку в заголовках Options (Timestamps например)? Можно ли это сделать в настройках сокета или только на общесистемном уровне?