簡體   English   中英

shift reduce 解析器如何知道何時減少?

[英]How does a shift reduce parser know when to reduce?

我正在 c# 中編寫一個移位減少解析器。 我查看了一些解釋它的文章,但沒有一篇文章 go 非常詳細。 有人可以指出我對 shift reduce 解析器的詳細解釋的方向,比如它如何知道何時減少?

解析器是一台 state 機器。 每個 state 都有一個動作表,它將下一個輸入符號(“令牌”)映射到一個動作(移位、減少生產、錯誤或接受)。 對於換檔動作,有一個轉換表將輸入符號映射到下一個 state。 這兩個表通常組合在一起,因為在操作表條目中存在 state 編號的空間。

由於可能的令牌數量相對較少,因此令牌通常表示為小整數,並且動作表是由當前 state 和輸入令牌索引的二維數組。 如果空間是一個問題,可以壓縮表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM