我正在製作一個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