formal-languages

    1热度

    2回答

    我想用正则表达式来捕获从字符串非连续文本,我发现它非常困难。 (无法使它工作) 我有以下几点: “约翰KC玛丽V橘子。” KC和V是标签,他们将永远在我的琴弦存在。我想在这种情况下捕捉“约翰V橙子”。 所以,我要的是删除KC和寄托都直到V(带V的除外)。 我不知道该怎么做。我正在做一个Java代码,所以我认为我对正则表达式有一些语法限制。 而另一个限制是,我需要做的仅使用正则表达式。我不能使用ja

    1热度

    1回答

    我们已经得到了接受以下 一条线,一个BUS_ID和BUSROAD 给定的总线操作Bus_Arrives线路到达车站,并分配一个空的 巴士路(如果有的话)。否则它进入一个队列。 -------- New_Bus_Arrives ----------------------------------- --------------------------------------------------

    0热度

    2回答

    我听说a * b * c *不规则。同时,我还得到了以下正则语法来生成它。 S → A A → aA A → B B → bB B → C C → cC C-> empty 任何人都可以澄清这是正确的语法生成一个* B * C * 感谢

    1热度

    2回答

    我正在设计一个转换为Java源代码的DSL。它们是通常用于指定编译器的语义/翻译的符号吗? 实施例: DSL: a = b = c = 4 转化为: Integer temp0 = 4; Integer a = temp0; Integer b = temp0; Integer c = temp0; 由于提前, 的Jeroen

    -1热度

    1回答

    举例来说,Σ= {x,y}。 然后您执行操作Σ* -x。结果语言会是什么?它基本上是y *还是只会在Σ*中生成的所有字符串中减去x的一次? 即xxyyxx到xyyxx。

    1热度

    1回答

    比方说,我们要画一个NPDA的两种状态转换图是接受语言L.而且我们也说,这NPDA会恰好有2个州。我的想法是在第一个状态下做所有事情,然后用第二个状态作为最后一个状态。像这样: 但我不知道该拉姆达的转变将导致q1或是否有更好的方式来做到这一点,这有可能是一个更好的办法,因为我想教给我自己。也许有人可以让我回到正轨?

    9热度

    3回答

    我的公司正在设计一个新的领域特定的脚本语言;我必须实现一个解析器,将我们全新的编程语言转换为通用脚本语言,以便能够实现它。 我这样做的通常方法是通过Bison和Flex工具生成翻译器的C/C++代码。 我发现了大多数主流编程语言的其他工具,但没有一个用于Lisp。 还没有Lisp曾经用过吗?用Lisp编写解析器的常用方法是什么? 请注意:对于我来说,任何Lisp实现/方言可以帮助确定,我没有任何偏

    1热度

    1回答

    在我的笔记本必要条件我写道: 的语法歧义的必要条件是 它包含规则A->BB,其中A和B都是非终结。 或者它包含规则A->a|b,其中A是非终端,{a,b}是终端。 请您确认或反驳本声明?

    0热度

    1回答

    如何方便地测试形式语法是否为regular? 基本上,我寻找现有库或框架,其提供这样的功能。 阿库应该从一些相对通用的语言,例如可调用C/C++/Python的/哈斯克尔。为此提供命令行工具的框架也可以。 软件应该是开源的,并支持某种形式的BNF语法输入。

    3热度

    1回答

    我正在使用Java进行项目(但我认为它不依赖于语言),其中我产生小的(最多4态)非确定性有限状态自动机在二进制字母表中,我必须快速检查生成的自动机是否与以前的自动机相同。因此,我必须使用一些很好的散列函数,以避免与太多自动机进行比较。 我的第一个想法是对转换做一个DFS,并找到所有被接受的单词,直到最大长度为止。 5,然后将接受字的集合映射为64位长(最大长度为5的二进制字的数量)。但它似乎产生与