Tất cả những điều sau đây đề cập đến ISO/IEC 13211-1: 1995. Hãy để tôi di chuyển từ trong ra ngoài ...
6.5.1 graphic char = ":";
graphic char = "-";
6.4.2 graphic token char = graphic char;
graphic token = graphic token char, { graphic token char };
name token = graphic token;
6.4 name = [ layout text sequence (* 6.4.1 *) ], name token;
6.3.1.3 atom = name;
6.5.3 open char = "(";
close char = ")";
comma char = ",";
6.4.8 open token = open char;
close token = close char;
comma token = comma char;
6.4.1 (* grammar rules for layout text sequence were omitted *)
6.4 comma = comma token;
open ct = open token;
close = [ layout text sequence ], close token;
6.3.3.1 arg = atom; (* if that atom is an operator *)
arg = term; (* otherwise: priority = 999 *)
6.3.3 arg list = arg;
arg list = arg, comma, arg list;
6.3.3 term = atom, open ct, arg list, close ;
Vì vậy, chúng ta trở lại với câu hỏi ban đầu:
Những dấu ngoặc tròn sử dụng là cần thiết. Nhưng hôm nay, họ không còn cần thiết nữa. Tại sao họ không còn cần thiết nữa? Tiêu chuẩn này đối phó với tình huống này như thế nào?
Giả sử T = op(1200,fx,:-)
giữ.
T
là một thuật ngữ phức hợp được cung cấp trong ký pháp chức năng.
T
được bao phủ bởi quy tắc trên term = atom, open ct, arg list, close;
atom
trận op
, đó là functor của T
.
ct mở khớp với một khung mở.
"phần giữa" (đối số của T
) được đề cập trong các quy tắc ngữ pháp cho arg list
.
arg list
là danh sách không rỗng là arg
.
Có gì arg
?
cụm từ có mức độ ưu tiên nhỏ hơn 1000, mức độ ưu tiên (',')/2. Ví dụ: 1200
và fx
.
nguyên tử là toán tử. (Không có chuỗi nào được đính kèm!)
đóng phù hợp với khung đóng.
Trích dẫn:
Một cuộc tranh cãi (đại diện bởi arg
trong các quy tắc cú pháp xảy ra như là đối số của một thuật ngữ compount hoặc yếu tố của một danh sách Nó có thể là một nguyên tử mà là một nhà điều hành, hoặc. một đối số có mức ưu tiên không lớn hơn 999. Khi đối số là một thuật ngữ tùy ý, mức ưu tiên của nó phải nhỏ hơn mức ưu tiên của toán tử ',' (dấu phẩy) sao cho không có xung đột giữa dấu phẩy. bộ tách phần tử đối số hoặc danh sách.
Lưu ý:
này khái niệm của một "lý luận" đảm bảo rằng cả hai điều khoản f(x,y)
và f(:-, ;, [:-, :-|:-])
là cú pháp hợp lệ định nghĩa bất cứ điều hành hiện được xác định. Dấu phẩy không phải là nguyên tử và "các cụm từ" sau có lỗi cú pháp: f(,,a)
, [a,,|v]
và [a,b|,]
; nhưng hai thuật ngữ sau đây có hiệu lực về cú pháp: f(',',a)
, [a,','|v]
và [a,b|',']
.