第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

ANTLR中的解析器規(guī)則和詞法分析器規(guī)則之間的實(shí)際區(qū)別?

ANTLR中的解析器規(guī)則和詞法分析器規(guī)則之間的實(shí)際區(qū)別?

明月笑刀無情 2019-11-18 18:30:45
我了解理論上將解析器規(guī)則和詞法分析器規(guī)則分開的理論,但是ANTLR中的這兩個(gè)語句之間的實(shí)際區(qū)別是什么:my_rule: ... ;MY_RULE: ... ;它們會(huì)導(dǎo)致不同的AST樹嗎?不同的表現(xiàn)?潛在的歧義?
查看完整描述

2 回答

?
慕無忌1623718

TA貢獻(xiàn)1744條經(jīng)驗(yàn) 獲得超4個(gè)贊

仁寫道:


...這兩個(gè)語句在ANTLR中有什么實(shí)際區(qū)別...


MY_RULE將用于標(biāo)記您的輸入源。它代表了您語言的基本組成部分。


my_rule 從解析器中調(diào)用,它由零個(gè)或多個(gè)其他解析器規(guī)則或詞法分析器生成的標(biāo)記組成。


就是這樣。


仁寫道:


它們會(huì)導(dǎo)致不同的AST樹嗎?不同的表現(xiàn)?...


解析器使用詞法分析器生成的令牌來構(gòu)建AST,因此這些問題對我而言毫無意義。詞法分析器僅向解析器“饋送”一維令牌流。


查看完整回答
反對 回復(fù) 2019-11-18
?
萬千封印

TA貢獻(xiàn)1891條經(jīng)驗(yàn) 獲得超3個(gè)贊

這篇文章可能會(huì)有所幫助:


詞法分析器負(fù)責(zé)第一步,唯一的工作是從文本創(chuàng)建“令牌流”。它不負(fù)責(zé)理解您語言的語義,僅對理解您語言的語法感興趣。


例如,語法是一個(gè)規(guī)則,即標(biāo)識符必須僅使用字符,數(shù)字和下劃線-只要它不以數(shù)字開頭。詞法分析器的職責(zé)是了解此規(guī)則。在這種情況下,詞法分析器將接受字符“ asd_123”的序列,但拒絕字符“ 12dsadsa”(假設(shè)沒有另一條規(guī)則適用于此文本)。當(dāng)看到有效的文本示例時(shí),它可能會(huì)向令牌流中發(fā)送令牌,例如IDENTIFIER(asd_123)。


請注意,我說的是“標(biāo)識符”,是諸如變量名,函數(shù)名,名稱空間名稱等之類的通用術(shù)語。解析器將是能夠理解該標(biāo)識符出現(xiàn)的上下文的事物,以便其進(jìn)一步指定該令牌作為某物的名稱。


(旁注:令牌只是賦予令牌流元素的唯一名稱。lexeme是匹配令牌的文本。我將lexeme寫在令牌旁邊的括號中。例如NUMBER(123)。在這種情況下,這是一個(gè)數(shù)字標(biāo)記,其詞素為'123'。但是,對于某些標(biāo)記(例如運(yùn)算符),我省略了詞素,因?yàn)樗嵌嘤嗟?。例如,我將為分號?biāo)記而不是SEMICOLON( ;))。



查看完整回答
反對 回復(fù) 2019-11-18
  • 2 回答
  • 0 關(guān)注
  • 820 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號