Обновить
8K+
51
Александр Шульман@developer

Развиваю ИТ

10
Рейтинг
49
Подписчики
Отправить сообщение
да я на гугл не посылаю — я ж на вики дал ссылку, там определение есть, его не дополнить ни укоротить. Могу попытаться сказать своими словами — это правила разбиения исходной строки (набора из множества алфавита) на дерево (подмножества), только все равно нужен пример иначе не ясно — в вики он есть.
Что касается кода то тут нужно как-то аргументировать, а не подобно предыдущему оратору слепо утверждать его не понятность.
Код в точности реализует алгоритм разбора, описанный выше
F -> T|T&F|T^F
T* -> I|!I|!S
I -> (F)|S
S -> C|SC
C -> [a-Z_ а-Я-]

собственно согласно обозначением 4 функции имеют имена преобразований F,T,I,S (единственный аргумент S разъяснен в звездочке), а остальные вспомогательны имеют «говорящие» имена setError — ошибка парсинга (что тут коментировать если класс назван парсинг) getError — показать ошибку, isEnd — понец разбираемой строки (тоже нада было комментировать?), parce — разбор строк.

как видите я потратил время на то что бы показать, что на мой взгляд тут все достаточно понятно (и без всяких гуглов и без всяких «зато работает»), так что будьте более конкретны и пишите, что именно вам не понятно.

просто есть вещи которые чтобы понять нужно немного подумать, а для этого нужно захотеть понять. А у меня такое ощущение что вы ожидаете там увидить свой код и совершенно не можете читать чужой, если он не оправдывает ваши ожидания.
каждый останется при своем. Я в плюсы/минусы не верю вообще, однако не смотря на то, что вы даже не читали, я могу убрать статью в личный блог, при наборе ею отрицательного веса (скажем -10 завтра будет тогда перенесу) все равно температура будет средней по палате. Кстати, никто из моих коллег не жаловался на качество моего кода — ваши убеждения субъективны и уж точно не достаточно аргументированы чтобы вдаваться в дальнейшую дискуссию.
смешной какой. Если нечего сказать по теме и мозговой активности не хватает понять что-то новое, то зачем вообще что-то говорить? Для вас я поправил съехавшие пробелы (конечно кодсвичерами пользоваться леминги не умеют), но не думаю что вам это поможет что-либо понять, потому что для начала нужно желание. Как говорится кто хочет — тот ищет возможности, кто не хочет, тот ищет причин =)

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

да нигде на самом деле в таком виде =) пример около синтетический.
Такие штуки нужны для написания любых строковых парсеров, там калькуляторов консольных ну и прочей лабуды.
ну тогда смотри на это просто как на формальную граматику — действительно практической ценности тут нет кроме как валидация данных введенных пользователем.
а по информативнее?
swfupload лишен таких косяков
swfupload.googlecode.com

у меня репартеры на autopeople.ru загружают им видео ролики больших размеров (200 мб)
+ в IE 7 открытие/закрытие сбрасывает ему прозрачность.
плохо что нет функции когда он после сообщения сам не уйдет вниз, хотя можно немного доработать. опять же скрывается очень не красиво — лучше просто вниз скрыться
очень близко. Гаррисон вообще мировой дядька
Отличная статья и примеры. Единственное что хочу добавить для базового уровня, так это следующее утверждение: Если можно, то нужно не защищаться от вредоносных данных, а пропускать лишь то, что может быть пропущено. Пример: вы можете поставить Файрволл и закрыть на нем уязвимые места системы, а можете закрыть все и открыть то что действительно необходимо. Так же желательно строить и валидаторы.
>— Получение уведомлений при уничтожении объектом V8
очепятка «уничтожении объектов»
китайцы, мать их. Вечно дешевые решения
первая встреча с заказчиком:
все просто мне нужно в интернете карту нашего супермаркета! да только карту и все.
вторая: вы сделали не то! как мы будем тут расставлять позиции товаров?
третья: а можно еще чтобы видно быль сотрудников на карте?
четвертая: а как мне повернуть карту вокруг оси?
пятая: добавьте пожалуйста перспективу, а то в 2D это не дает представления о всем величии.
шестая: у нас сменился концепт! мы хотим сделать теперь чтобы у нас на сайте была ролевая игра для покупателей.
круто! давно искал на чем бы писать скрипты для ботов в игре! JS подходит идеально! а как воткнуть эту штуку в Java где написано?

Информация

В рейтинге
827-й
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Генеральный директор
Ведущий
От 3 000 000 ₽
Управление проектами
Ведение переговоров
Разработка ТЗ
Agile
Управление разработкой
Оптимизация бизнес-процессов
Организация бизнес-процессов
Построение команды
Стратегическое планирование
Развитие бизнеса