【问题标题】:Find each of the following languages? (grammar)找到以下每种语言? (语法)
【发布时间】:2014-09-15 21:34:36
【问题描述】:

我想,对于Τ={a, b, c}上的以下每种语言,构造对应的正则表达式和正则语法:

  • 恰好包含三个 a 的所有字符串。
  • 最多包含三个 b 的所有字符串。

我该怎么做?

【问题讨论】:

  • 你的问题关闭,不是因为主题(虽然它可能更适合Computer Science),而是因为这不是人们做的网站你的作业给你。你需要表明你已经付出了一些努力,并解释你做了什么以及你卡在哪里。
  • 是的,我只是在寻找一个起点。或者我不清楚它要求什么。
  • 到目前为止您尝试过什么?我很乐意为此提供帮助,但您需要先证明自己的努力。
  • @bigpoppipop:这个问题对于任何了解自动机理论的人来说都是清晰易懂的(毕竟,它似乎是作业文本的副本,往往措辞非常精确),但如果你正在寻找一个起点,你应该这样说,并描述你已经知道的。您了解串联、联合和 Kleene 星的工作原理吗?
  • 这不是必要的家庭作业,而是为我的测验复习。我只是不明白如何构造一个表达式/语法只给 T={a,b,c}

标签: grammar context-free-grammar ambiguous-grammar


【解决方案1】:

除了给定的符号外,您始终可以使用并集、串联和 Kleene 星号(除非任务明确禁止)。因此,如果您不知道它们是如何工作的,请先阅读它们。之后,这里是第一个任务的提示:获取包含三个或更多b 的任何字符串,例如acbaacbbaacbacb。每个字符要么是前三个b 之一,要么不是:xxbxxxbbxxxxxxx。所以这样一个字符串的结构是任何字符的序列(或者如果它以b开头可能没有),然后是b,然后是更多其他字符(可能),然后是另一个b,更多字符(也许),第三个b,最后还有更多字符(也许)。 “任意字符”如何表达,b与“任意字符,零次或多次”的交替序列如何表达?

【讨论】:

    猜你喜欢
    • 2016-02-15
    • 2011-07-31
    • 1970-01-01
    • 1970-01-01
    • 2015-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多