Professional Documents
Culture Documents
Cụ thể :
Reader
// Đọc một ký tự từ kênh vào
int readChar(void);
// Mở kênh vào
int openInputStream(char *fileName);
// Đóng kênh vào
void closeInputStream(void);
Báo cáo: Ngôn ngữ và phương pháp dịch
Charcode : charcode.c định nghĩa một bảng charCodes ánh xạ từng ký tự trong bảng mã
ASCII vào một trong các CharCode được định nghĩa
Token:
Từ hàm compileProgram, chương trình phân tích cú pháp theo văn phạm BNF của ngôn
ngữ KPL (theo slide).
• Hàm: {tên, các tham số hình thức, kiểu trả về, các khai báo địa phương}
• Thủ tục: {tên, các tham số hình thức, các khai báo địa phương)
• Tham số hình thức: {tên, kiểu, tham biến/tham trị}
Các thành phần của bảng ký hiệu:
// Bảng ký hiệu // Phạm vi của một block
struct SymTab_ { struct Scope_ {
// Chương trình chính // Danh sách các đối tượng
Object* program; //trong block
// Phạm vi hiện tại ObjectNode *objList;
Scope* currentScope; // Hàm, thủ tục, chương trình
// Các đối tượng toàn cục như // tương ứng block
// hàm WRITEI, WRITEC, WRITELN Object *owner;
// READI, READC // Phạm vi bao ngoài
ObjectNode *globalObjectList; struct Scope_ *outer;
}; };