
Tim
06.10.2018
19:25:28
ну ты сможешь понять где скобка какая закрывается?

Roman
06.10.2018
19:25:59
ну стейт-машиной можно же

Subb98
06.10.2018
19:26:02
только мне зачем это понимать. мне надо тип формулы получить

Google

Tim
06.10.2018
19:26:57
нельзя

Subb98
06.10.2018
19:27:08

Tim
06.10.2018
19:27:28

Roman
06.10.2018
19:27:29
нельзя
почему? если скобки сбалансированные

Tim
06.10.2018
19:27:41
если длиннее
бля я с ходу не сформулирую
но короче ты с каждым заходом в скобку как бы создаёшь новое состояние
чтобы знать во скольки скобках ты находишься
вот, и так может до бесконечности быть, и в таком случае конечный автомат становится бесконечным

Roman
06.10.2018
19:31:10

Tim
06.10.2018
19:31:20
ну у тебя есть автомат

Google

Tim
06.10.2018
19:31:28
и ты заранее не знаешь какую я формулу подставлю
так что да, считай что бесконечная

Roman
06.10.2018
19:31:41
ну да
не, с чего это?

Tim
06.10.2018
19:31:50
ну, счётная бесконечная конечно
ну потому что длина строки ограничена только ≥0

Roman
06.10.2018
19:32:59
ну я не вижу проблемы пока, ты ведь когда-нибудь встретишь закрывающую скобку
тогда и выщелкнешь стейт

Tim
06.10.2018
19:33:17
но ты не знаешь какую открывающую скобку она закрывает

Roman
06.10.2018
19:33:23
последнюю

Tim
06.10.2018
19:33:47
чо значит последнюю
у тебя есть стейты и переходы между ними

Roman
06.10.2018
19:34:03
последнюю, которую ты встретил на данный момент
ну ты идёшь по символам правильно?
есть стейт "мы открыли скобку"

Tim
06.10.2018
19:34:53
ну например есть начальный стейт S
когда ты в начале строки

Roman
06.10.2018
19:35:04
аа я понял. я все равно в голове представляю лексер

Tim
06.10.2018
19:35:22
потом ты видишь скобку, переходишь на нее и у тебя стейт A
есть переход S-> A при (

Google

Tim
06.10.2018
19:36:04
и например A -> B при )

Roman
06.10.2018
19:36:59
ну понятно. если делать каждый раз новый переход при новой скобке, то получится неизвестное количество состояний

Tim
06.10.2018
19:37:15
да
и автомат становится бесконечным

Roman
06.10.2018
19:37:49
ну да, я ж говорю, обычно это решается токенайзером каким-то

Tim
06.10.2018
19:39:04
обратная польская нотация норм
за О(н) скобки все берет и результат формулы заодно просчитывает
если брать логическую формулу со всеми возможными вариантами переменных
то в качестве результата хранишь не булеан, а массив булеанов
за О(н + 2^м) получаешь достоверное решение
где н длина формулы
м количество переменных

Tim
06.10.2018
19:42:05
какая нахуй нейросеть на это

Dima
06.10.2018
19:43:10

Roman
06.10.2018
19:43:25
то, что разбивает строку на токены

Tim
06.10.2018
19:43:27
хотя нет, О(н*2^м), но при сравнительно небольшом количестве переменных на это пох

Dima
06.10.2018
19:43:37
https://en.wikipedia.org/wiki/Lexical_analysis

Tim
06.10.2018
19:43:58
ну да, токенайзером разбиваешь и сзади наперед просчитываешь

Dima
06.10.2018
19:44:35
А что такое токен?

Roman
06.10.2018
19:45:02
токен - это значимая единица грамматики

Google

Alexey
06.10.2018
19:45:15
Лексема же

Dima
06.10.2018
19:45:24
Под токеном понимается замещение объекта неким обозначением/идентификатором (часто просто целым числом или строкой)
https://ru.stackoverflow.com/questions/199923/%D0%A7%D1%82%D0%BE-%D1%82%D0%B0%D0%BA%D0%BE%D0%B5-token

Roman
06.10.2018
19:45:51

Dima
06.10.2018
19:45:56
их много.
и это интересно.

Roman
06.10.2018
19:46:08
https://en.wikipedia.org/wiki/Lexical_analysis#Token

Dima
06.10.2018
19:46:12
я в контексте лексемы еще токен не встерчал.

Roman
06.10.2018
19:46:15
ты ж сам ссылку скинул

Admin
ERROR: S client not available

Roman
06.10.2018
19:47:20
лексема - это набор символов, которые складываются в токен

Alexey
06.10.2018
19:47:37

First
06.10.2018
19:47:43

Dima
06.10.2018
19:48:34
выражая эмоции.

Roman
06.10.2018
19:48:54
я щас мудохаюсь с компилятором кофескрипта ? вот где и лексемы, и токены, и AST

Tim
06.10.2018
19:49:35
а за одну слабо?

First
06.10.2018
19:49:50

Google

First
06.10.2018
19:50:01

Dima
06.10.2018
19:51:31

Roman
06.10.2018
19:51:48
пытаюсь из говна и палок собрать нормальный линтер

Dima
06.10.2018
19:51:53
контрибуция в open source

Roman
06.10.2018
19:52:10
нет, контрибутить я туда не собираюсь) не в этом случае

Dima
06.10.2018
19:52:45

Roman
06.10.2018
19:53:16
там просто большая проблема в том, что при написании кофескрипта было сделано столько шорткатов и допущений (сам автор это заявлял) что при любой попытке работать с тем, что они представляют в качестве AST все контрибьюторы раньше или позже просто забивали
и переезжали на ecmasrcipt

Alexey
06.10.2018
19:53:25

Roman
06.10.2018
19:53:32

Alexey
06.10.2018
19:53:41
Кофескрипт какаха

Roman
06.10.2018
19:53:49
ну уже шо есть
я даже больше тебе скажу, мы пишем на нем реакт)

Alexey
06.10.2018
19:54:13
Для бекендеров осиливших хамл, в 2014 (это не я , это пиво)

Tim
06.10.2018
19:54:33
лол

Roman
06.10.2018
19:54:40
?
между прочим местами забавно и удобно

Tim
06.10.2018
19:54:49
ну хоть не нод жс
хотя реакт жоще

Alexey
06.10.2018
19:55:16