我正在查看德国的HBCI/FinTS协议。该协议的一个特点是它可以包含二进制斑点,前缀为@[email protected]
。否则,该协议是很简单的,语法可以被描述如下(有点简化,端子通过引述“):可以使用上下文无关语法描述char数的语言吗?
message = segment+
segment = elements "'"
elements = element "+" elements | element
element = items
items = item ":" items | item
item = [a-zA-Z0-9,._-]* | escaped item
escaped = ?[[email protected]?_-a-zA-Z0-9,.]
The @ is missing here!
样品消息可能看起来像这样
FirstSegment+Elem1+Item1:[email protected]@:'[email protected]+The_last_four_chars_are_binary+Elem4'SecondSegment+Elem5'
可以这样语言(二进制字符串的转义)由上下文无关文法来描述?
这个问题似乎是题外话,因为它是关于计算机科学理论而不是一个特定的编程问题。它已被问及并在http://cstheory.stackexchange.com/questions/9645/can-bencodes-be-described-with-a-context-free-grammar/9663#9663 –
@ A.Webb回答谢谢你单挑。我不确定,因为1)我在编程环境中需要这样的内容,2)关于SO的CFG有很多问题。下次会检查CSTheorySE。 – Paul