powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Задана строка символов, найти последовательность символов, заданную правилами
10 сообщений из 10, страница 1 из 1
Задана строка символов, найти последовательность символов, заданную правилами
    #40095584
plktre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задача на c#.
Не понимаю как решать задачу, а именно ее суть. Возможно, если кто-то понял, то поделитесь, как ее решать.
Задана строка символов, найти последовательность символов, заданную правилами:
выражение ::= множитель * выражение | множитель
множитель ::= идентификатор | целое
идентификатор ::= буква | идентификатор буква | идентификатор цифра
буква ::= A | B | C | D | E | F | G | H | I | J | K| L | M| N| O| P| Q| R| S |T| U|V| W |X| Y| Z
цифра ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
целое ::= цифра | целое цифра
...
Рейтинг: 0 / 0
Задана строка символов, найти последовательность символов, заданную правилами
    #40095591
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Задана строка символов, найти последовательность символов, заданную правилами
    #40095592
plktre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Siemargl, спасибо, но понятней не стало)
...
Рейтинг: 0 / 0
Задана строка символов, найти последовательность символов, заданную правилами
    #40095600
Фотография Имя пользователя1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
такая последовательность символов ищется регуляркой
Код: sql
1.
(([A-Z][A-Z0-9]*|[0-9]+)\*)*([A-Z][A-Z0-9]*|[0-9]+)
...
Рейтинг: 0 / 0
Задана строка символов, найти последовательность символов, заданную правилами
    #40095623
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то это не оно.
Принципы построения AST и записи правил на основе которых это дерево строится называется контекстно-независимой грамматикой (CFG - context free grammar).
Лучше всего для понимания этого всего - читать учебники по компиляторам. Любые. Но конечно, "Драконья Книга" Ахо будет лучше всего.

TC имеет набор правил в CFG стандарте, ему надо написать свой парсер (который в принципе может построить AST, а может и не строить а только правильность проверять, тогда одного стека хватит).

И если погуглить именно CFG+C# появляются сотни ссылок. Даже пару десятков готовых к использованию библиотек можно найти. Так что, смотря что ТС надо: свой парсер - читать учебник. просто проверять правильность грамматики - можно взять и готовые.
...
Рейтинг: 0 / 0
Задана строка символов, найти последовательность символов, заданную правилами
    #40095624
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имя пользователя1
такая последовательность символов ищется регуляркой
Код: sql
1.
(([A-Z][A-Z0-9]*|[0-9]+)\*)*([A-Z][A-Z0-9]*|[0-9]+)

Да, для такого примитивного набора правил действительно хватит одной регулярки.
...
Рейтинг: 0 / 0
Задана строка символов, найти последовательность символов, заданную правилами
    #40095657
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
plktre
Задача на c#.
Не понимаю как решать задачу, а именно ее суть. Возможно, если кто-то понял, то поделитесь, как ее решать.
Задана строка символов, найти последовательность символов, заданную правилами

Есть несколько способов как решать эту лабу. Если тема лекций была - C# то надо
смотреть что уже начитал препод. Что за тема была последняя. Конечные автоматы ?
Тогда решение будет одно. Если просто C# и регулярки - тогда решение будет другое.

Короче автор если ты помнишь анекдот про Холмса и Ватсона на воздушном шаре - то
ты должен сразу понять что здесь сидят - математики и они дадут тебе точный и ненужный
ответ.

Поэтому спрашивать нужно правильно. В контексте.
...
Рейтинг: 0 / 0
Задана строка символов, найти последовательность символов, заданную правилами
    #40095660
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
plktre,

а что требуется сделать с найденной последовательностью?
...
Рейтинг: 0 / 0
Задана строка символов, найти последовательность символов, заданную правилами
    #40095698
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl
Вообще-то это не оно.
Принципы построения AST и записи правил на основе которых это дерево строится называется контекстно-независимой грамматикой (CFG - context free grammar).
Лучше всего для понимания этого всего - читать учебники по компиляторам. Любые. Но конечно, "Драконья Книга" Ахо будет лучше всего.

TC имеет набор правил в CFG стандарте, ему надо написать свой парсер (который в принципе может построить AST, а может и не строить а только правильность проверять, тогда одного стека хватит).

И если погуглить именно CFG+C# появляются сотни ссылок. Даже пару десятков готовых к использованию библиотек можно найти. Так что, смотря что ТС надо: свой парсер - читать учебник. просто проверять правильность грамматики - можно взять и готовые.

Ну да, это я поторопился чуть. Чтобы строить AST-дерево, надо же сначала распарсить.

Стоит упомянуть классику Вирт Н. «Построение компиляторов»

Ну и для расширения кругозора почитать про Coco/R и Antlr4
...
Рейтинг: 0 / 0
Задана строка символов, найти последовательность символов, заданную правилами
    #40095852
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
plktre
Не понимаю как решать задачу, а именно ее суть.

Чтобы врубиться в суть задачи, обычно нужно понять то, что препод говорил перед тем, как дать эту задачу.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Задана строка символов, найти последовательность символов, заданную правилами
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]