Chuong Trinh Dich

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Chuong Trinh Dich as PDF for free.

More details

  • Words: 755
  • Pages: 17
Chương trình dịch (Compiler) Đề tài : Biên dịch ngôn ngữ Pascal

C Giảng viên: Bùi Ngọc Thăng Thành viên nhóm: Nguyễn Thị An Bùi Thanh Hiếu Nguyễn Thị Thanh Hương Trần Bá Nghiệp Trịnh Quang Phúc Vũ Anh Tuấn Lớp: K50CD

Biên dịch ngôn ngữ Pascal C I. II. III. IV.

Mô tả ngôn ngữ Pascal Xây dựng biểu thức chính quy Xây dựng automat Đề xuất cấu trúc dữ liệu

I. Mô tả ngôn ngữ Pascal 1. Các loại từ tố (token) 1. 2. 3. 4. 5. 6.

Tên biến Từ khóa Kiểu số Ký hiệu và toán tử Xâu ký tự Ghi chú

I. Mô tả ngôn ngữ Pascal 2. Mô tả tự nhiên 1. Tên biến: Bắt đầu bằng chữ cái hoặc dấu gạch dưới, theo sau là chữ cái, chữ số hoặc dấu gạch dưới VD: x, a12, _else, x_a2 … 2. Từ khoá: bao gồm một tập từ khoá riêng VD: if, else, begin, array, case, const 3. Kiểu số: - Số nguyên: 2, 1034, -239 … - Số thực: 2.0, 0.00020, .02, 1.1e5, 0.e-10

I. Mô tả ngôn ngữ Pascal 2. Mô tả tự nhiên 4. Ký hiệu và toán tử: +, -, *, /, {, }, <, <<, [, ], >=, <=, <> 5. Xâu ký tự : “x”, “He said, \“Are you?\”” 6. Ghi chú: {nội dung chú thích} hoặc (*nội dung chú thích*)

I. Mô tả ngôn ngữ Pascal 3. Bảng các từ tố và ký hiệu: a. Bảng các từ khoá And

And_Token

Else

Else_Token

Array

Array_Token

End

End_Token

Asm

Asm_Token

File

File_Token

Begin

Begin_Token

For

For_Token

Case

Case_Token

Function

Function_Token

Goto

Goto_Token

Const

Const_Token

If

If_Token

Constructor

Constructor_Token

Implementation

Implementation_Token

Destructor

Destructor_Token

In

In_Token

Div

Div_Token

Inline

Inline_Token

Do

Do_Token

Interface

Interface_Token

Downto

Downto_Token

Label

Label_Token

Mod

Mod_Token

I. Mô tả ngôn ngữ Pascal 3. Bảng các từ tố và ký hiệu: a. Bảng các từ khoá Nil

Nil_Token

String

String_Token

Not

Not_Token

Then

Then_Token

Object

Object_Token

To

To_Token

Of

Of_Token

Or

Or_Token

Type

Type_Token

Packed

Packed_Token

Unit

Unit_Token

Procedure

Procedure_Token

Until

Until_Token

Program

Program_Token

Uses

Uses_Token

Record

Record_Token

Var

Var_Token

Repeat

Repeat_Token

While

While_Token

Set

Set_Token

Shl

Shl_Token

With

With_Token

Shr

Shr_Token

Xor

Xor_Token

I. Mô tả ngôn ngữ Pascal 3. Bảng các từ tố và ký hiệu: a. Bảng các từ khoá +

Plus_Token

-

Minus_Token

*

Times_Token

/

Over_Token

(

Open_Token

)

Close_Token

{, (*

Open_Comment_Token

}, *)

Close_Comment_Token

=

Equal_Token

|

Modulo_Token

<>

Not_Equal_Token

>

Greater_Token

<

Less_than_Token

I. Mô tả ngôn ngữ Pascal 3. Bảng các từ tố và ký hiệu: a. Bảng các từ khoá <=

Less_or_Equal_Token

>=

Greater_or_Equal_Token

,

List_Token



Apostrophe_Token

.

Priod_Token

:

Separator_var_Token

;

Separator_Token

:=

Becomes_Token

And

And_Token

Or

Or_Token

Not

Not_Token

Xor

Xor_Token

Mod

Mod_Token

Div

Div_Token

I. Mô tả ngôn ngữ Pascal 1. Tên biến:   

id = Letter(letter | digit)* letter = A | B | ... | Z | a | b | ... | z digit = 0 | 1 | 2 | ... | 9

2. Từ khoá 

key = boolean | break | continue | else | for | float | if | int | return | void | while …

3. Kiểu số  

Hằng nguyên: intLit = digit+ Hằng thực: floLit = digit* fraction exponent? | digit+ . |digit+ .? exponent fraction = . digit+ exponent = PwLetter (+ | -)? digit+

II. Mô tả biểu thức chính quy 4. Ký hiệu và toán tử relop → < | <= | > | >= | <> | = arithOp + | - | * | / assOp  = 5. Dấu cách delim → blank | tab | newline

ws → delim+ 6. Ghi chú cmm-->{ | } | (* | *)

III. Mô tả bằng automat(NFA/DFA) 1. Tên biến:id = Letter(letter | digit)*

2. Từ khoá key = boolean | break | continue | else | for | float | if | int | return | void | while …

III. Mô tả bằng automat(NFA/DFA) 3. Kiểu số:num → digit+(.digit+)?(E(+|-)?digit+)?

III. Mô tả bằng automat(NFA/DFA) 4. Ký hiệu và toán tử

relop → < | <= | > | >= |< | =

III. Mô tả bằng automat(NFA/DFA) 4. Ký hiệu và toán tử arithOp  + | - | * | /

III. Mô tả bằng automat(NFA/DFA) 5. Dấu cách delim → blank | tab | newline ws → delim+

6. Ghi chú: *)

cmm-->{ | } | (* |

IV. Đề xuất cấu trúc dữ liệu

Related Documents

Chuong Trinh Dich
November 2019 1
Chuong Trinh
November 2019 27
Trinh Bien Dich
November 2019 13
Chuong 5 - Dich Vu
November 2019 13
Chuong Trinh Chi Tiet
November 2019 20