30 câu hỏi
Ðịnh nghĩa FOLLOW(A): (với A là một ký hiệu chưa kết thúc) là tập hợp
Các ký hiệu kết thúc a mà nó xuất hiện ngay sau A (bên phía phải của A) trong một dạng câu nào đó.
Các ký hiệu kết thúc a mà nó xuất hiện ngay trước A (bên phía trái của A) trong một dạng câu nào đó.
Nếu X là kí hiệu kết thúc thì FOLLOW(X) là {X}
Nếu X là kí hiệu kết chưa thúc thì {X} thuộc vào FOLLOW(X)
Phương pháp phân tích cú pháp “Shift reduce” là
Phân tích từ trên xuống
Phân tích từ dưới lên
Có thể phân tích từ trên xuống hoặc từ dưới lên
Phân tích thu gọn
Thuật toán bottom-up phân tích thành công khi
Xây dựng được cây suy dẫn với nút gốc là ký hiệu bắt đầu của văn phạm
Xây dựng được cây suy dẫn với nút gốc là một ký hiệu kết thúc của văn phạm
Xây dựng được cây suy dẫn với các nút lá là các ký hiệu kết thúc của văn phạm
Xây dựng được cây suy dẫn với các nút lá là các ký hiệu kết thúc và không kết thúc của văn phạm
Thuật toán bottom-up được xây dựng dựa trên ý tưởng
Thử sai và quay lui về ký hiệu kết thúc của văn phạm
Tham lam
Sử dụng stack và quy lui
Sử dụng stack và quy hoạch động
Cho trước văn phạm G thì mục đính tính FOLLOW và First của các ký hiệu văn phạm G là
Để xây dựng phương pháp Bottom-up
Để xây dựng bảng phân tích M
Để xây dựng bảng phân tích SLR
Để thăm dò khả năng phân tích cú pháp của chuỗi nhập vào
Phát biểu nào đúng?
Bộ phân tích cú pháp gạt-thu gọn (Shift – Reduce) cố gắng xây dựng một cây phân tích cú pháp cho chuỗi nhập bắt đầu từ nút lá và đi lên hướng về nút gốc. Tại mỗi bước thu gọn, một chuỗi con cụ thể đối sánh được với vế phải của một luật sinh nào đó thì chuỗi con này sẽ được thay thế bởi ký hiệu vế trái của luật sinh đó. Và nếu chuỗi con được chọn đúng tại mỗi bước, một dẫn xuất phải đảo ngược sẽ được xây dựng.
Bộ phân tích cú pháp gạt-thu gọn (Shift – Reduce) là phương pháp xây dựng một cây phân tích cú pháp cho chuỗi nhập bắt đầu từ nút lá và đi lên hướng về nút gốc. Tại mỗi bước thu gọn, một chuỗi con cụ thể đối sánh được với vế trái của một luật sinh nào đó thì chuỗi con này sẽ được thay thế bởi ký hiệu vế phải của luật sinh đó. Và nếu chuỗi con được chọn đúng tại mỗi bước, một dẫn xuất phải đảo ngược sẽ được xây dựng.
Bộ phân tích cú pháp gạt-thu gọn (Shift – Reduce) xây dựng một cây phân tích cú pháp cho chuỗi nhập bắt đầu từ nút lá và đi lên hướng về nút gốc. Tại mỗi bước thu gọn, một chuỗi con cụ thể đối sánh được với vế phải của một luật sinh nào đó thì chuỗi con này sẽ được thay thế bởi ký hiệu vế phải của luật sinh đó. Và nếu chuỗi con được chọn đúng tại mỗi bước, một dẫn xuất phải đảo ngược sẽ được xây dựng.
Bộ phân tích cú pháp gạt-thu gọn (Shift – Reduce) xây dựng một cây phân tích cú pháp cho chuỗi nhập bắt đầu từ nút lá và đi lên hướng về nút gốc. Tại mỗi bước thu gọn, một chuỗi con cụ thể đối sánh được với vế trái của một luật sinh nào đó thì chuỗi con này sẽ được thay thế bởi ký hiệu vế trái của luật sinh đó. Và nếu chuỗi con được chọn đúng tại mỗi bước, một dẫn xuất phải đảo ngược sẽ được xây dựng.
Trong chương trình nguồn (ngôn ngữ C): “a= 1”. Phát biểu nào sau đây SAI
“1” là trị từ vựng của từ tố số nguyên
“1” là mẫu mô mả của từ tố số nguyên
“1” là từ tố số nguyên
“1” là thuộc tính của từ tố số nguyên
Quá trình phân tích từ vựng cho câu lệnh gán: position = initial + rate*60 sẽ tách thành bao nhiêu từ tố?
4
5
6
7
Quá trình phân tích từ vựng cho câu lệnh gán: position = initial + rate*60 sẽ tách thành mấy loại từ tố?
5
4
3
2
Quá trình phân tích từ vựng cho câu lệnh gán: position = initial + rate*60 sẽ tách thành bao nhiêu Từ tố số nguyên?
4
3
2
1
Cho trước câu lệnh gán: position = initial + rate*60, trong phân tích từ vựng thì nhận định nào sau đây đúng?
“position” và “60” cùng là từ tố định danh (identify token)
“position” và “*” cùng là từ từ tố định danh
“position” và “initial” cùng là từ tố định danh
“position” và “+” cùng là từ tố định danh
Cho trước câu lệnh gán: x = y + z, trong quá trình phân tích từ vựng thì phát biểu nào sau đây đúng?
“x”, “y”, và “z” là các biến của một chương trình viết bằng ngôn ngữ C
“x”, “y”, và “z” là các từ tố định danh
“x”, “y”, và “+” là các từ tố định danh
“x”, “y”, và “+” là các biến của một chương trình viết bằng ngôn ngữ C
Quá trình phân tích từ vựng cho câu lệnh gán: x = y - a*2+b+c*8 sẽ tách thành bao nhiêu Từ tố số nguyên?
4
3
2
1
Quá trình phân tích từ vựng cho câu lệnh gán: x = 1.5*y +3.2 sẽ tách thành bao nhiêu Từ tố số thực?
4
3
2
1
Phát biểu nào sau đây đúng?
Trong quá trình phân tích từ vựng các khoảng trắng (blank) sẽ bị bỏ qua.
Trong quá trình phân tích từ vựng các khoảng trắng cũng được tính là các từ tố.
Trong quá trình phân tích từ vựng các khoảng trắng cũng được tính chung là một từ tố.
Trong quá trình phân tích từ vựng các khoảng trắng cũng được tính chung là hai từ tố.
Trong chương trình nguồn (ngôn ngữ C): printf(“Hello World!”) có những từ tố nào? A. Từ tố tên, dấu mở ngoặc, dấu đóng ngoặc
Từ tố từ khóa, tên, dấu mở ngoặc, dấu đóng ngoặc, dấu hỏi
Từ tố tên, dấu mở ngoặc, dấu đóng ngoặc, dấu phẩy
Từ tố từ khóa, dấu mở ngoặc, từ tố xâu, dấu đóng ngoặc
Trong chương trình nguồn (ngôn ngữ C): printf(“ max cua hai so %d”, max) có những từ tố nào?
Từ tố tên, dấu mở ngoặc, dấu đóng ngoặc
Từ tố từ khóa, tên, dấu mở ngoặc, dấu đóng ngoặc, dấu hỏi
Từ tố từ khóa, từ tố định danh, dấu mở ngoặc, từ tố xâu, dấu đóng ngoặc, dấu phẩy
Từ tố từ khóa, dấu mở ngoặc, từ tố xâu, dấu đóng ngoặc
Trong chương trình nguồn (ngôn ngữ C): printf(“ max cua hai so %d”, max) có bao nhiêu từ tố từ khóa?
0
1
2
3
Trong chương trình nguồn (ngôn ngữ C): printf(“ max cua hai so %d”, max) có bao nhiêu từ tố định danh?
0
1
2
3
Trong chương trình nguồn (ngôn ngữ C): printf(“ max cua hai so %d”, max) có bao nhiêu từ tố xâu?
0
1
2
3
Trong chương trình nguồn (ngôn ngữ C): printf(“Hello World!”) có bao nhiêu từ tố xâu?
0
1
2
3
Có bao nhiêu chuỗi có độ dài nhỏ hơn 4 chứa ngôn ngữ được miêu tả bởi biểu thức chính quy (How many strings of length less than 4 contains the language described by the regular expression) (x+y)*y(a+ab)*?
7
10
12
11
Biểu thức chính quy nào đúng?
(01)*0 = 0(10)*
(0+1)*0(0+1)*1(0+1) = (0+1)*01(0+1)*
(0+1)*01(0+1)*+1*0* = (0+1)*
Cả ba biểu thức đã cho đều đúng
Một ngôn ngữ là chính quy nếu và chỉ nếu
Được chấp nhận bởi DFA
Được chấp nhận bởi PDA
Được chấp nhận bởi LBA
Được chấp nhận bởi máy Turing
Biểu thức nào không phải là biểu thức chính quy?
[(a+b)*-(aa+bb)]*
[(0+1)-(0b+a1)*(a+b)]*
(01+11+10)*
(1+2+0)*(1+2)*
Biểu thức chính quy là
Ngôn ngữ thuộc lớp 0
Ngôn ngữ thuộc lớp 1
Ngôn ngữ thuộc lớp 2
Ngôn ngữ thuộc lớp 3
Văn phạm gồm các luật sinh: S->AA A->aa A->bb mô tả ngôn ngữ nào?
L = {aaaa,aabb,bbaa,bbbb}
L = {abab,abaa,aaab,baaa}
L = {aaab,baba,bbaa,bbbb}
L = {aaaa,abab,bbaa,aaab}
Biểu thức chính quy (x/y)(x/y) ký hiệu bởi tập?
{xy,xy}
{xx,xy,yx,yy}
{x,y}
{x,y,xy}
Văn phạm gồm các luật sinh: S->aSbb, S->abb là
Văn phạm lớp 3
Văn phạm lớp 2
Văn phạm lớp 1
Văn phạm lớp 0
Biểu thức chính quy x/y ký hiệu bởi tập
{x,y}
{xy}
{x}
{y}
