我在计算类的模型中,我们只是涵盖了正式的语法。 正如我们所定义的那样,正式语法是:
鉴于语法生成字符串,你可能会选择一种会产生另一种语法的语法。几分钟的搜索似乎在这方面没有多少讨论。我的问题主要是:
答案 0 :(得分:0)
有许多形式主义 - 例如BNF符号 - 描述语法,它们本身可以用无语境语法中的字符串表示。
但我不确定这是你在想什么。语法(通常)不存在表示单个字符串;相反,语法描述了一组(通常是无限的)字符串,而没有归结为任何语义。
"命名"的性质意味着无法用无上下文语法捕获像BNF(或者很好的任何编程语言)这样的形式主义的语义。关联"名称"在一个字符串中出现相同的" name"是典型的上下文敏感。
因此,存在一个CFL,它是所有语法(具有给定字母表)的表示集,但绝大多数表示不与有用甚至有意义的语法相对应。在典型的派生字符串中,生产右侧的符号实际上不会出现在任何规则的左侧,并且要求它们不能用CFG表示。
答案 1 :(得分:0)
产生另一种语法的语法问题很有趣,它有一个名称和一些文献 - 请参阅https://en.wikipedia.org/wiki/Two-level_grammar及其中的链接。
是的,你当然可以实现压缩,因为生成的语法可能实际上是无限的。