我正在制作一个JSON解析器,我正在寻找一种算法,它可以找到所有匹配的括号([]
)和大括号({}
),并将它们放到一个表中,并且将它们放在一个表中。返回的值支架寻找算法lua?
实例:
table[x][firstPos][secondPos] = type
table[x] = {firstPos, secondPos, bracketType}
编辑:让parse()
是返回的托架对的功能。假设table
是parse()
函数返回的值。假设codeString
是包含我想要检测的括号的字符串。让firstPos
成为N
第二对括号中第一个括号的位置。让secondPos
成为第二对括号中第二个括号的位置。让bracketType
为括号对的类型(“括号”或“大括号”)。
例子:
如果你叫:
table = parse(codeString)
table[N][firstPos][secondPos]
将等于type
。
参见[我是如何做到的(https://github.com/H2CO3/libjsonz/blob/master/src/jsonz.c)。你几乎肯定想要使用递归。 – 2013-10-14 15:16:16
@ H2CO3我不知道C,我正在寻找一种方法在Lua中做到这一点。 – tupperkion
算法不依赖于语言。 – 2013-10-14 18:52:55