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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言标识符的词法形式,C语言词法器实验.doc

發(fā)布時(shí)間:2023/12/19 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言标识符的词法形式,C语言词法器实验.doc 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

計(jì)算機(jī)科學(xué)與工程系

編譯原理課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告

姓名:__ ******__ 學(xué)號(hào)_ *******__ 年級(jí)專業(yè)及班級(jí)___08計(jì)算機(jī)科學(xué)與技術(shù) 成績

實(shí)驗(yàn)名稱

詞法分析程序設(shè)計(jì)與實(shí)現(xiàn)

完成日期2011/4/12指導(dǎo)教師*******實(shí)驗(yàn)?zāi)康?#xff1a;能夠采用C編程語言實(shí)現(xiàn)簡單的詞法分析程序;設(shè)計(jì)、編制并調(diào)試一個(gè)詞法分析程序,加深對(duì)詞法分析原理的理解

實(shí)驗(yàn)要求: 1. 對(duì)單詞的構(gòu)詞規(guī)則有明確的定義;

2. 編寫的分析程序能夠正確識(shí)別源程序中的單詞符號(hào);

3. 識(shí)別出的單詞以的形式保存在符號(hào)表中(鏈表);

4. 詞法分析中源程序的輸入以.c格式,分析后的符號(hào)表,將二元組保存在.txt文件中。實(shí)驗(yàn)內(nèi)容:選擇高級(jí)語言(C語言),編制它的詞法分析程序。詞法分析程序的實(shí)現(xiàn)可以采用任何一種編程工具

實(shí)驗(yàn)原理:1、算法的基本任務(wù)是從字符串表示的源程序中識(shí)別出具有獨(dú)立意義的單詞符號(hào);

2、其基本思想是根據(jù)掃描到單詞符號(hào)的第一個(gè)字符的種類,拼出相應(yīng)的單詞符號(hào)。

實(shí)驗(yàn)分析:(1)關(guān)鍵字:if else while do case int break等所有的關(guān)鍵字都是小寫。

(2)運(yùn)算符和界符: = + - * / < <= <> > >= = ; ( ) 等

(3)其他單詞是標(biāo)識(shí)符(ID)和整型常數(shù)(SUM),通過以下正規(guī)式定義:

ID = _ | letter (letter | digit)*

NUM = digit digit*

(4)空格有空白、制表符和換行符組成。空格一般用來分隔ID、SUM、運(yùn)算符、界符和關(guān)鍵字,詞法分析階段通常被忽略。

(5)注釋被忽略

(6)各種單詞符號(hào)對(duì)應(yīng)的種別碼

種別碼

單詞符號(hào)

種別碼

auto

1

double

2

int

3

struct

4

break

5

else

6

long

7

switch

8

case

9

enum

10

register

11

typedef

12

char

13

extern

14

return

15

union

16

const

17

float

18

short

19

unsigned

20

continue

21

for

22

signed

23

void

24

default

25

goto

26

sizeof

27

volatile

28

do

29

while

30

static

31

if

32

\a

33

\b

34

\f

35

\n

36

\t

37

\v

38

\\

39

\?

40

\’

41

\”

42

\0

43

\ddd

44

\ xhh

45

數(shù)字

46

標(biāo)識(shí)符

47

#

48

(

49

)

50

[

51

]

52

{

53

}

54

55

*

56

:

57

~

58

%

59

^

60

+

61

?

62

=

63

|

64

&

65

!

66

<

67

>

68

>=

69

==

70

>>

71

!=

72

<<

73

&&

74

<=

75

||

76

++

77

?=

78

-

79

--

80

->

81

82

%A(A可為d’s’c)

83

;

84

_

85

/

86

87

88

89

90

91

其他類別

99

實(shí)驗(yàn)流程圖(由于流程圖過大因此各部分分開寫):

整體:

掃描注釋:

掃描數(shù)字:

掃描引號(hào):

掃描單詞:

掃描其他字符:

實(shí)驗(yàn)環(huán)境:需要TC、VC++ 6.0等開發(fā)工具作為本次試驗(yàn)的環(huán)境。

實(shí)驗(yàn)步驟:

1、準(zhǔn)備: 用TC、VC++等開發(fā)工具;

2、對(duì)本實(shí)驗(yàn)的任務(wù)進(jìn)行分析,確定實(shí)現(xiàn)功能的函數(shù);

3、寫好程序,仔細(xì)修改函數(shù);

4、上機(jī)操作:輸入源程序,修改、調(diào)試,運(yùn)行。

5、寫好試驗(yàn)報(bào)告。實(shí)驗(yàn)調(diào)試過程及測試結(jié)果

/*******************************源代碼******************************/

#include

#include

#include

#include

void main()

{

FILE *fp,*fp1;

int hanjsq=1;//行計(jì)數(shù)器,保存行號(hào)

int guanjz(char ch1[]);//關(guān)鍵字和標(biāo)識(shí)符判斷

char ch,infile[15],outfile[15];//定義輸入和輸出文件名

printf("*****************Enter the infile name*******************\n");

scanf("%s",infile);//輸入需要掃描

總結(jié)

以上是生活随笔為你收集整理的c语言标识符的词法形式,C语言词法器实验.doc的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。