|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.10.2018, 13:18 | #11 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
Обычно, СА проще писать через конечные автоматы. Знаете что это такое?
|
22.10.2018, 14:00 | #12 |
Пользователь
Регистрация: 30.09.2018
Сообщений: 30
|
нет, не знаю
вот чуть подправил код: Код:
Последний раз редактировалось Алексей9912; 22.10.2018 в 14:12. |
22.10.2018, 14:16 | #13 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
Где проверка на длины строк? Вы так спокойно разыменовываете различные указатели...
Код:
Код:
Что вы вообще со скобками делаете? Зачем их подсчитывать? Вам же выражения надо в них разбирать... Правильность надо контролировать, но обычно оно само вылазит при разборе выражения, если не смогли найти конец. |
22.10.2018, 14:50 | #14 |
Пользователь
Регистрация: 30.09.2018
Сообщений: 30
|
1. у меня почему-то nota, допустим, не проходит. и проблема не в регистрах. а в чем - не понимаю..
2. Код:
Код:
Код:
где я разыменовываю указатели? разыменовать указатель значит, если не ошибаюсь, изменить значения по адресу, на который указывает указатель. или я не прав? |
22.10.2018, 15:08 | #15 | ||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
Цитата:
И "(T+F) - T" сломает, т.к. ' ' не в op. ")()(" что в скобках? что разбирать будете? Т.е. результат не зависит от последнего символа? "T+" что даст? Цитата:
Попробуйте https://ideone.com/QzCCUL а ведь записи там нет... Последний раз редактировалось p51x; 22.10.2018 в 15:12. |
||
22.10.2018, 15:58 | #16 |
Пользователь
Регистрация: 30.09.2018
Сообщений: 30
|
t+ всегда даст положительный ответ, т. к. в случае t или f is_log даже не обращается к is_enum. кстати... надо туда еще добавить проверку на длину, чтобы не было такого бага.
Код:
(t+f)-t всегда даст отрицательный ответ, т.к. нет начального оператора (and || or || not). мне кажется по логике программы все должно нормально рассчитываться (например, and(a+b) должно быть правильным). но почему этого не происходит? я не внимаю... в сотый раз прошу хоть кого-нибудь помочь мне разобраться с этим. замечания это конечно хорошо, они иногда показывают правильное направление мыслей, но все же... они мне не сильно помогли |
22.10.2018, 16:10 | #17 | ||||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
Цитата:
Цитата:
Цитата:
Цитата:
Так в этой теме уже все разжевано. Можно еще КА добавить и все. |
||||
22.10.2018, 16:31 | #18 |
Пользователь
Регистрация: 30.09.2018
Сообщений: 30
|
что такое КА?
не важно, какая буква. a и b это просто для примера |
22.10.2018, 16:41 | #19 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
https://ru.wikipedia.org/wiki/%D0%9A...BC%D0%B0%D1%82
Важно. Есть алфавит и есть ошибки. А ошибка простая: Код:
|
22.10.2018, 16:52 | #20 |
Пользователь
Регистрация: 30.09.2018
Сообщений: 30
|
в смысле сначала? в любом случае это уже неважно, ибо я немного изменил цикл в функции, но он все равно не работает
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Синтаксический анализатор | Battori | JavaScript, Ajax | 3 | 15.03.2018 10:57 |
Синтаксический анализатор | Arturko | Помощь студентам | 62 | 14.06.2012 18:54 |
синтаксический анализатор(LL) | Legato | Общие вопросы Delphi | 2 | 25.12.2011 18:29 |
Синтаксический анализатор | Lisёноk | Помощь студентам | 2 | 12.12.2011 09:51 |
Синтаксический анализатор | Lifefine | Общие вопросы Delphi | 3 | 09.10.2010 19:42 |