
Bogdan
04.06.2017
09:02:57
unexpected token это не ошибка?

Whore Amazing
04.06.2017
09:03:27
Не должна была быть. По крайней мере, лексер после этого дальше работать продолжал...

Bogdan
04.06.2017
09:03:35
он потому и unexpected что он не знает как его парсить

Whore Amazing
04.06.2017
09:03:48
А вот парсер не хочет. Бинго! Я понел.

Google

Bogdan
04.06.2017
09:03:52
это не в лексере

Whore Amazing
04.06.2017
09:05:51
Я прост думал, что если лексер пропускает это, то и парсер пропустит -_-
Короче, в итоге все равно нихера не понятно. Грамматика вроде описана верно, а он все равно ругается, что токен не на месте. Хотя правило для него есть.

Igor
04.06.2017
09:32:37
Мб правило менее приоритетнее другого правила

Whore Amazing
04.06.2017
09:33:00
Как такое может быть?
Токены-то во всех разные.

Igor
04.06.2017
09:33:23
А
Тогда да, не очень вероятно

Whore Amazing
04.06.2017
09:33:37
Токен, на который у меня ругается, у меня вообще только в одном правиле.
Мб мне самому Бизли написать, на почту?
Уж он-то должен понимать, что его парсер творит.
Или поищу вк своего бывшего препода в вузе. То-то он охуеет от вопроса, я ж с первого семестра вылетел :^)

b0g3r
04.06.2017
09:41:42
Так ты правило и инпут бы хоть показал, что ли
А то это пустой разговор какой-то "у меня всё правильно, а оно не работает"

Google

Whore Amazing
04.06.2017
09:42:04
Так я даже не уверен, в каком правиле ошибка.
И он не говорит же, в каком. Он на токен плюется, а он в самом начале правила.

b0g3r
04.06.2017
09:42:49
--debug
int yydebug=1;

Whore Amazing
04.06.2017
09:43:13
Не помогает.

b0g3r
04.06.2017
09:43:16
This will generate the file 'y.output' which explains the state machine that was created.

Whore Amazing
04.06.2017
09:43:26
Я построчно пайчармом прогнал и нихера не понял.
Только понять бы, как это в питоне делается.

b0g3r
04.06.2017
09:44:16
Просто ну типа выхлоп от таких сообщений что выше нулевой - помочь тебе точно никто не сможет на такое. Если смысл чисто поплакаться, ну че, жалеем тебя всем чатом)
http://www.dabeaz.com/ply/ply.html#ply_nn16

Whore Amazing
04.06.2017
09:45:09

b0g3r
04.06.2017
09:46:58
http://www.dabeaz.com/ply/ply.html#ply_nn44

Whore Amazing
04.06.2017
09:47:26
шпашибо.

b0g3r
04.06.2017
09:47:27
Ну ты почитай - как раз найдешь на каком правиле падает
Не знаю, оно не оно, я эти парсеры на хую вертел

Whore Amazing
04.06.2017
09:47:57

b0g3r
04.06.2017
09:48:20
:)

Google

Whore Amazing
04.06.2017
09:52:04
ага, вижу!

Проксимов
04.06.2017
09:54:41
Значит где то есть проблема
Попробуй переустановить
Кек

Whore Amazing
04.06.2017
09:54:59
Так как мне понять где проблема...я код скопипастил из примера :(

Sergey
04.06.2017
10:06:58
подумай.
твой парсер обращается к какому-то полю лексера, предполагая, что оно есть. а лексер превосходно без этого поля работает, и даже не знает, что кто-то от него это поле хочет.

Whore Amazing
04.06.2017
10:07:47

b0g3r
04.06.2017
10:09:22
а оно только что работало?

Whore Amazing
04.06.2017
10:09:46
Работало, пока не запустил парсер после лексера.
Убираешь запуск парсера - лексер идет нормально.

b0g3r
04.06.2017
10:11:45
а пример где?

b0g3r
04.06.2017
10:11:52
Ну ты там говорил что делаешь "как в примере"

Whore Amazing
04.06.2017
10:12:14
БЛЯДЬ
Я ИДИОТ

b0g3r
04.06.2017
10:12:22
это да

Sergey
04.06.2017
10:12:23
Убираешь запуск парсера - лексер идет нормально.
да блин. у тебя интерпретатор вываливается из парсера именно. и как раз потому, что парсер обращается к несуществующему атрибуту объекта лексера. сам лексер идёт нормально именно потому, что не обращается куда попало.

Igor
04.06.2017
10:12:34

Whore Amazing
04.06.2017
10:12:58
да, я уже понял
я лексер юзаю стандартный
я не передал в парсер тот лексер, что у меня модифицирован
не в тот пример смотрел
вот что значит недосып и грипп

Google

Whore Amazing
04.06.2017
11:14:34
да, все работает. спасибо.
пользуясь случаем, хотел бы передать, что я, блядь, ненавижу рекурсию.

b0g3r
04.06.2017
11:15:20
ну не используй рекурсию :)

Whore Amazing
04.06.2017
11:15:37
так ее BNF использует.
А мне разгребать.

b0g3r
04.06.2017
11:16:06
и в чём проблема?)

Admin
ERROR: S client not available

Whore Amazing
04.06.2017
11:16:30
Да я понять не могу, как ее представление реализовать.

b0g3r
04.06.2017
11:17:25
https://stackoverflow.com/questions/16074890/recursive-descent-parser-using-python-and-ply
эт?)

Whore Amazing
04.06.2017
11:17:53
Как пример: у тебя есть блок, в котором может быть одно или более выражений. BNF использует рекурсивное правило:
statements : statement
| statements statement
И в итоге чем больше внутри блока выражений, тем больше вложенных уровней.

Bogdan
04.06.2017
11:19:18
и что?
что плохого в уровнях вложенности?

Whore Amazing
04.06.2017
11:19:45
Так они на том месте, где по логике полагается быть простому списку.

Vasiliy
04.06.2017
11:21:07
Не могу больше сдерживаться, мне эти истории про твой парсер одну вещь напоминают

Whore Amazing
04.06.2017
11:21:36
Что самое страшное, мне они то же самое напоминают :(
Да уж тут-то я как-нибудь разберусь с поллитрой.

dexofan
04.06.2017
11:42:48
Что порекомендуете для работы с postgressql?

Проксимов
04.06.2017
11:43:02

Google

dexofan
04.06.2017
11:43:26
Мозг
Я про библиотеку спрашивал

Проксимов
04.06.2017
11:44:28
Я про библиотеку спрашивал
Если для вас работа с библиотекой не требует наличие мозга, тогда что-то не так либо с вами, либо с библиотекой

Vladimir
04.06.2017
11:46:00

b0g3r
04.06.2017
11:46:44
И будут полностью правы:
https://wiki.postgresql.org/wiki/Python

Artem
04.06.2017
11:48:28
хочется странного. можно ли настроить uwsgi чтобы он опредленные роуты оправлял определенным воркерам? то есть я хочу, к примеру, чтобы /metrics1 улетел первому, /metrics2 второму и так далее

b0g3r
04.06.2017
11:49:01

Artem
04.06.2017
11:49:58
пытаюсь как-то получше настроить prometheus, но все решения выглядят убого, у него родная поддержка multiprocess очень плохая и не поддерживает prefork
сейчас просто каждый воркер запускает сервер, который отдает метрику на порте 8000 + uwsgi.worker_id(), то есть на 8001, 8002 и так далее

Vasiliy
04.06.2017
11:54:29
на всги такого не сделать, а на нгинксе снаружи по идее легко
перенаправляешь запрос на роут на соответствующий порт
или тупо балансир настрой

Artem
04.06.2017
11:57:23
хорошая идея, спасибо

Айзек
04.06.2017
12:09:36
Что реально пригодится в жизни айтишника ?

Vladimir
04.06.2017
12:10:15
Знания программирования

Айзек
04.06.2017
12:10:19
программирование на двух-трёх языках - питон , c++ , java

Vladimir
04.06.2017
12:10:25
Умение читать и писать

Айзек
04.06.2017
12:10:27
а еще ?