iT邦幫忙

2024 iThome 鐵人賽

DAY 25
0
Software Development

離塵指引.卷之一.試結丹:程式語言自舉系列 第 25

音界咒零.二版再遇分詞(一)狀態機

  • 分享至 

  • xImage
  •  

欲再做分詞,需先細數零.二版加入了哪些新詞。

運算子方面,有:

  • ==
  • !=
  • >=
  • <=

特殊符號有:

關鍵字則有:

  • 或若
  • 不然

若不以功能性區分,以詞固有的性質來區分:
運算子與特殊符號用到的符號都不允許出現在識別子(變數名、術名),可以歸為一類討論。其中,長度為 1 的詞有可能恰為長度為 2 的詞的前綴,此狀況需要特殊判定。其餘 1 字詞判定與+-*/處理方式相同。

關鍵字中的 1 字詞處理方式與零.一版的相同,2 字詞與 1 字詞也類似,只是會增加一個狀態。

回憶零.一版的分詞狀態機:
零・一版分詞狀態機

以此為基礎繪製零.二版的分詞狀態機,貧道略去 1 字特殊符號的狀態,而 1 字關鍵字僅以為代表,並以不然為 2 字關鍵字之代表,>=為前綴問題之代表。

此外,除變數名之外,術名也允許非特殊符字符任意組合,今統一講此二者稱為識別子

零・二版分詞狀態機

提醒:x的含義是「非數字、非特殊字符、非其他出邊字元的所有字元集合」。


上一篇
音界咒零.二版設計(下)引入「術」、「若」語句
下一篇
音界咒零.二版再遇分詞(二)視關鍵字為特殊識別子
系列文
離塵指引.卷之一.試結丹:程式語言自舉31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言