日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java语言语法语义分析器设计与实现

發布時間:2024/4/17 java 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java语言语法语义分析器设计与实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

http://tol.bit.edu.cn/Able.Acc2.Web/Template/View.aspx?wmz=3126&courseType=1&courseId=1959&topMenuId=46336&menuType=4&contentId=3126&action=view&type=&name=&menuid=000002

?

Java語言詞法分析器的設計與實現

一.實驗目的

1.強化對系統軟件綜合工程實現能力、規劃能力的訓練;

2.加強對詞法分析原理、方法和基本實現技術的理解;

二.實驗內容

用C語言(或 C++ )作為宿主語言完成:

????? 其中具體要求:

???? 1.使用DFA實現詞法分析器的設計;

???? 2.實現對Java源程序中注釋的過濾;

???? 3.利用兩對半緩沖區從文件中逐一讀取單詞;

???? 4.詞法分析結果屬性字流存放在獨立文件(文件名:scanner_output)中;

???? 5.統計源程序每行單詞的個數和整個源文件單詞個數;

???? 6.具有報告詞法錯誤和出錯位置(源程序行號和該行字符)的功

???? : ?Java語言詞法規則 (附件一)

????Java語言詞法分析器的屬性字設計 (附件二)

?

三.實驗驗收與評分要求

?? ?1.編寫Java語言詞法分析器的源程序并調試通過;

??? 2.通過測試程序的驗收 (測試程序名稱:Test-Lexcial);

? 3.提交簡明扼要的書面實驗報告。內容包括:FA設計;源程序主要函數功能;主要數據結構設計。

?

附件一

JAVA語言詞法規則

關鍵字:

abstract?? boolean?? break?? byte?? case?? catch?? char?? class

const?? continue?? default?? do?? double?? else?? extends?? false

final?? finally?? float?? for?? goto?? if?? implements?? import

instanceof?? int?? interface?? long?? native?? new?? null?? package

private?? protected?? public?? return?? short?? static?? super?? switch

synchronized?? this?? throw?? throws?? transient?? true?? try?? void

volatile?? while

標識符:

字母或美元符號“$”或下劃線開頭,連接字母或美元符號“$”或下劃線或數字字符的串。

常量:

量: 123, 0, -456, 0123 , 0x123, -0X12123L

型常量: 1.23, 0.123, .123, 123., 123.0, 123e3, 123E3, 12.3F

量: true false

量:"This is a constant string."

量: ‘ a’ ,

轉義字符描述

\ddd 138進制數據所表示的字符(ddd)

\uxxxx 1416進制數所表示的字符(xxxx)

\' 單引號字符

\\ 反斜杠字符

\r 回車

\n 換行

\f 走紙換頁

\t 橫向跳格

\b 退格

界限符:

{ }

花括號用于定義類、方法和本地范圍的代碼塊。它們也用于包含自動被初始化數組的值。

[ ]

方括號用于聲明數組類型。同時也用于廢棄數組值。

,

逗號用于分隔變量聲明中連續的標識符。它也用于連接語句。

( )

圓括號用于在方法定義和調用中包含參數列表。它們也用于定義表達式中的優先級,在控制語句中包含表達式,以及包含轉換類型。

.

點號用于分隔包名和類名。同時也用于把變量或者方法與引用變量分隔開。

;

分號用于終止Java語句。

?

?

?

?

?

?

?

?

?

?

??

運算符:

操作

運算符

操作

運算符

操作

運算符

加賦值

+=

大于

>

乘積賦值

*=

+

大于等于

>=

!

與賦值

&=

自增1

++

非賦值

^=

賦值

=

左移位

<<

不等于

!=

按位與

&

左移位賦值

<<=

或賦值

|=

按位取反

~

小于

<

右移位

>>

按位或

|

小于等于

<=

右移位賦值

>>=

按位異或

^

邏輯與

&

短路與

&&

條件運算符

?:

邏輯或

|

短路或

||

自減1

--

邏輯異或

^

減賦值

-=

除賦值

/=

求模

%

-

/

模賦值

%=

零填充右移位

>>>

等于

==

乘積

*

零填充右移位賦值

>>>=

?

?

?

?

?

?

?

?

?

?

?

?

?

?

??

附件二

?

JAVA詞法分析器的屬性字設計

單詞屬性用十六進制表示:

錯誤的單詞??????????????????????????????????????? ?0x100

注釋?????????????????????????????????????????????? 0x101

空格???????????????????????????????????????????????0x102

關鍵字???????????????????????????????????????????? 0x103

標識符???????????????????????????????????????????? 0x104

布爾型???????????????????????????????????????????? 0x105

字符型???????????????????????????????????????????? 0x106

整型???????????????????????????????????????????????0x107

浮點型???????????????????????????????????????????? 0x108

字符串???????????????????????????????????????????? 0x109

=? +=? -=? *=? /=? %=? &=

^=? |=? >>=? <<=? >>>=??????????????????????????? 0x110

?:????????????????????????????????????????????????0x111

||????????????????????????????????????????????????0x112

&&????????????????????????????????????????????????0x113

|?????????????????????????????????????????????????0x114

^?????????????????????????????????????????????????0x115

&?????????????????????????????????????????????????0x116

==? !=????????????????????????????????????????????0x117

<? >? <=? >=??????????????????????????????????????0x118

<<? >>? >>>???????????????????????????????????????0x119

+? -??????????????????????????????????????????????0x11a

*? /? %?????????????????????????????????????????? 0x11b

++? --–? !? ~?????? ???????????? ?????????????? ?0x11c

[? ]? (? )? .???????????????????????????? ????? ? 0x11d

,?????????????????????????????????????????????????0x120

{}??????????????????????????????????????????????? 0x121

;?????????????????????????????????????????????????0x122

?

?

http://tol.bit.edu.cn/Able.Acc2.Web/Template/View.aspx?wmz=3417&courseType=1&courseId=1959&topMenuId=46336&menuType=4&contentId=3417&action=view&type=&name=&menuid=000003

總結

以上是生活随笔為你收集整理的Java语言语法语义分析器设计与实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。