Итак, у меня есть следующая проблема: мне нужно создать контекстно-свободную однозначную грамматику, чтобы соответствовать следующим критериям.
Алфавит будет { (, a, b, ), £ }, каждая правильная строка должна включать;
- последовательность из одного или нескольких a/b в любом порядке, они должны быть заключены в квадратные скобки ( )
- или правильное выражение, заключенное в скобки ( и ), или их последовательность.
- каждая правильная строка должна содержать £, и это всегда будет последний символ.
Пример правильных строк;
- (баабб) £
- (б)(баабб)£
- (((аба)))£
- ((ббаб)((б))(ба))£
Я бесчисленное количество раз пытался создать грамматику, удовлетворяющую этому требованию, и во многих случаях мне это удавалось, однако грамматика должна вести к бесконфликтной таблице разбора SR, и в каждом случае, когда я пытался, я не мог сделать ее бесконфликтной. Если у кого-нибудь есть какие-либо советы о том, как преобразовать язык, который у меня уже есть, в бесконфликтный, пожалуйста, прокомментируйте. Заранее спасибо.
£
выглядит как британизированный$
или#
. Разве времена кодовых страниц не прошли? (просто шутка) - person Maëlan   schedule 29.03.2021ab£
и((ab)ab)£
), и, похоже, это работает. - person rici   schedule 31.03.2021