這個兩部分的教程展示了使用Phunkie功能庫在PHP中構建解析器組合。 圖書館的創建者Marcello Duarte指導您完成整個過程。
引入解析器的
>上以sat
>,item
,zero
sat
char
digit
lower
選擇組合upper
>現實世界語法需要處理選擇。 組合劑允許在兩個解析器之間選擇。 這是作為改進語法的類中的
(小寫或大寫)和(字母或數字)解析器示例這個。 >
遞歸組合量plus
or
Parser
遞歸組合劑實現非確定性解析。 Aletter
解析器演示了這一點,遞歸匹配的字母序列。 Aalphanum
解析器識別較大輸入中的特定字符串。 仔細處理遞歸以避免堆疊溢出。
簡單重複
word
解析器概括了重複,允許解析器的零或更多出現。 string
至少一次出現。 A
解析器是使用構建的,並向整數演示了鑄造的結果。
many
many1
nat
組合器處理由另一個解析器隔開的重複。 這用於創建一個以PHP數組風格的整數列表的解析列表(例如,int
)。 many1
輔助功能進一步重構。
> json parser
>使用先前定義的組合器構建JSON解析器。 解析器充當頂級選擇解析器,結合了其他專業解析器(例如,sepBy1
>,ints
,[1,-42,500]
,surrounded
,
,)。 組合器用於構建數組,而不可變的地圖用於JSON對象。
>教程以指向Phunkie存儲庫和作者的解析器組合存儲庫的鏈接結束。 作者鼓勵在Twitter上提出問題和評論。
> [1] - Phunkie存儲庫:https://www.php.cn/link/630D790D0716246CA1AA250A250A6F86F755 >
[2] - Marcello Duarte的解析器組合商存儲庫:
以上是使用Phunkie的功能編程:構建PHP JSON解析器的詳細內容。更多資訊請關注PHP中文網其他相關文章!