Rexx - Cú pháp cơ bản
Để hiểu cú pháp cơ bản của Rexx, trước tiên chúng ta hãy xem một chương trình Hello World đơn giản.
Thí dụ
/* Main program */
say "Hello World"
Có thể thấy chương trình hello world đơn giản như thế nào. Nó là một dòng script đơn giản được sử dụng để thực hiện chương trình Hello World.
Những điều sau đây cần được lưu ý về chương trình trên:
Các say command được sử dụng để xuất một giá trị cho bảng điều khiển.
Các /* */ được sử dụng cho các bình luận trong Rexx.
Đầu ra của chương trình trên sẽ là:
Hello World
Hình thức chung của một tuyên bố
Trong Rexx, chúng ta hãy xem một dạng tổng quát của một chương trình. Hãy xem ví dụ sau.
/* Main program */
say add(5,6)
exit
add:
parse arg a,b
return a + b
Đầu ra của chương trình trên sẽ là:
11
Hãy xem qua những gì chúng ta đã hiểu từ chương trình trên -
Add là một hàm được định nghĩa để cộng 2 số.
Trong chương trình chính, giá trị của 5 và 6 được dùng làm tham số cho hàm add.
Từ khóa exit dùng để thoát khỏi chương trình chính. Điều này được sử dụng để phân biệt chương trình chính với chức năng thêm.
Hàm add được phân biệt bằng ký hiệu ':'.
Câu lệnh phân tích cú pháp được sử dụng để phân tích cú pháp các đối số đến.
Cuối cùng, câu lệnh return được sử dụng để trả về tổng các giá trị số.
Các chương trình con và hàm
Trong Rexx, mã thường được chia thành các chương trình con và chức năng. Các chương trình con và hàm được sử dụng để phân biệt mã thành các đơn vị logic khác nhau. Sự khác biệt chính giữa chương trình con và hàm là các hàm trả về một giá trị trong khi các chương trình con thì không.
Dưới đây là một ví dụ về sự khác biệt chính giữa một chương trình con và một hàm để triển khai bổ sung -
Thực hiện chức năng
/* Main program */
say add(5,6)
exit
add:
parse arg a,b
return a + b
Thực hiện chương trình con
/* Main program */
add(5,6)
exit
add:
parse arg a,b
say a + b
Đầu ra của cả hai chương trình sẽ là giá trị 11.
Thực thi lệnh
Rexx có thể được sử dụng như một ngôn ngữ điều khiển cho nhiều hệ thống dựa trên lệnh. Cách Rexx thực hiện các lệnh trong các hệ thống này như sau. Khi Rexx gặp một dòng chương trình không phải là một lệnh cũng không phải là một phép gán, nó coi dòng đó như một biểu thức chuỗi sẽ được đánh giá và sau đó được chuyển đến môi trường.
Một ví dụ như sau:
Thí dụ
/* Main program */
parse arg command
command "file1"
command "file2"
command "file3"
exit
Mỗi dòng trong số ba dòng tương tự trong chương trình này là một biểu thức chuỗi bổ sung tên của một tệp (chứa trong hằng số chuỗi) vào tên của một lệnh (được cung cấp dưới dạng tham số). Chuỗi kết quả được chuyển đến môi trường để được thực thi dưới dạng lệnh. Khi lệnh kết thúc, biến "rc" được đặt thành mã thoát của lệnh.
Kết quả của chương trình trên như sau:
sh: file1: command not found
3 *-* command "file1"
>>> " file1"
+++ "RC(127)"
sh: file2: command not found
4 *-* command "file2"
>>> " file2"
+++ "RC(127)"
sh: file3: command not found
5 *-* command "file3"
>>> " file3"
+++ "RC(127)"
Từ khóa trong Rexx
Cú pháp miễn phí của REXX ngụ ý rằng một số ký hiệu được dành riêng cho việc sử dụng của bộ xử lý ngôn ngữ trong các ngữ cảnh nhất định.
Trong các hướng dẫn cụ thể, một số ký hiệu có thể được dành riêng để tách các phần của hướng dẫn. Những ký hiệu này được gọi là từ khóa. Ví dụ về các từ khóa REXX làWHILE in a DO instruction, và THEN (đóng vai trò là dấu chấm dứt mệnh đề trong trường hợp này) theo sau IF or WHEN clause.
Ngoài những trường hợp này, chỉ những ký hiệu đơn giản là mã thông báo đầu tiên trong mệnh đề và không được theo sau bởi dấu "=" hoặc ":" mới được kiểm tra để xem chúng có phải là từ khóa hướng dẫn hay không. Bạn có thể sử dụng các ký hiệu một cách tự do ở những nơi khác trong các mệnh đề mà chúng không bị coi là từ khóa.
Nhận xét trong Rexx
Nhận xét được sử dụng để ghi lại mã của bạn. Nhận xét một dòng được xác định bằng cách sử dụng / * * / ở bất kỳ vị trí nào trong dòng.
Một ví dụ như sau:
/* Main program */
/* Call the add function */
add(5,6)
/* Exit the main program */
exit add:
/* Parse the arguments passed to the add function */ parse arg a,b
/* Display the added numeric values */
say a + b
Nhận xét cũng có thể được viết giữa một dòng mã như được hiển thị trong chương trình sau:
/* Main program */
/* Call the add function */
add(5,6)
/* Exit the main program */
exit
add:
parse /* Parse the arguments passed to the add function */
arg a,b
/* Display the added numeric values */
say a + b
Đầu ra của chương trình trên sẽ là:
11
Bạn cũng có thể có nhiều dòng trong một nhận xét như được hiển thị trong chương trình sau:
/* Main program
The below program is used to add numbers
Call the add function */
add(5,6)
exit
add:
parse arg a,b
say a + b
Đầu ra của chương trình trên sẽ là:
11