Tải bản đầy đủ (.pdf) (18 trang)

Định hướng chương trình dịch PASCAL

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (361.19 KB, 18 trang )




ALIGN DATA

Cú pháp {$A+} hoặc {$A-}

Mặc đònh {$A+} bật chế độ bố trí theo word để chạy nhanh.

Kiểu Global: có ảnh hưởng tới toàn bộ quá trình dòch.

Ghi chú Đònh hướng $A chọn một trong hai cách bố trí các biến và
các hằng đònh kiểu với đơn vò theo byte hoặc theo word
Trong trạng thái {$A+}, tất cả biến và hằng đònh kiểu có
kích thước lớn hơn một byte đều được bố trí theo một đơn vò
word. Nếu cần, những byte vô ích sẽ được chèn vào giữa biến
để thực hiện việc bố trí. Điều này cũng có nghóa là ta tốn
một ít bộ nhớ để làm việc chèn thêm byte vô ích này. Đònh
hướng {$A+} không ảnh hưởng tới các biến có kích thước tính
theo byte cũng như không ảnh hưởng tới các trường của bản
ghi và các phần tử của mảng. Một trường trong bản ghi sẽ
được bố trí theo word chỉ nếu kích thước tổng cộng của tất
cả các trường trước đó là chẵn. Đối với mỗi phần tử của
mảng để bố trí theo word kích thước của mỗi hần tử cũng
phải là chẵn.
Trong trạng thái {$A-}, không có một biện pháp bố trí nào
được dùng. Các biến và hằng đònh kiểu được thay thế một
cách đơn giản tại các đòa chỉ một cách liên tục bất chấp kích
thước của chúng.
Bất chấp trạng thái đònh hùng của $A, mỗi phần khai báo
Var hoặc Const toàn cục đều luôn bắt đầu ở đòa chỉ tính theo


word. Tương tự, chương trình dòch luôn giữ con trỏ Stack
theo đơn vò word bằng cách bố trí thêm một byte không sử
dụng trong một khuôn Stack của các thủ tục nếu có yêu cầu.


BOOLEAN EVALUATION

Cú pháp {$B+} hoặc {$B-}

Mặc đònh {$B+} tính biểu thức Boolean một cách đầy đủ.

Kiểu Local

Ghi chú Đònh hướng $B chuyển trạng thái bật/tắt giữa hai mô hình
khác nhau của bộ mã sinh mã đối với các toán tử AND và
OR.
Trong trạng thái {$B+}, chương trình tạo ra mã để tính
toán biểu thức Boolean một cách đầy đủ. Điều này có nghóa
là mọi toán hạng của biểu thức Boolean của phép toán AND
và OR sẽ được bảo đảm là tính hết, thậm chí khi kết quả của
toàn bộ biểu thức đã được biết, đã được tính xong. Thí dụ với
biểu thức:

(0 AND X) AND Y

luôn luôn bằng 0 với mọi X và Y. Song với {$B+}, máy tính sẽ
tính hết mọi phép toán trên, không nề hà lãng phí thời gian.
Trong trạng thái {$B-}, chương trình dòch tạo ra mã để tính
nhanh biểu thức Boolean, nghóa là quá trình tính biểu thức
Boolean sẽ dừng lại ngay sau khi kết quả của biểu thức

Boolean đã trở nên hiển nhiên, không cần phải tính thêm
nữa.


DEBUG IMFORMATION

Cú pháp {$D+} hoặc {$D-}

Mặc đònh {$D+} lập các thông tin gỡ rối.

Kiểu Global

Ghi chú Đònh hướng dòch $D có thể thiết lập hoặc không thiết lập
các thông tin gỡ rối (debug). Thông tin này bao gồm bảng
dòng đánh số cho mỗi thủ tục, nó ánh xạ đòa chỉ mã với các
số của dòng văn bản nguồn.
Đối với các Unit, thông tin gỡ rối (debug) được ghi ở trong
tệp TPU cùng với các mã OBJ của unit. Thông tin gỡ rối làm
tăng nhanh kích thước của các tệp TPU và bố trí thêm cả
những chỗ khi dòch các chương trình có dùng unit, song nó
không làm ảnh hưởng tới kích thước cũng như tốc độ của
chương trình đã được dòch ra để chạy.
Khi một chương trình hay một unit được dòch với {SD+}, bộ
gỡ rối nằm trong môi trường khép kín IDE cho phép bạn
chạy chương trình từng bước một (step by step) và thiết lập
điểm dừng trong modun đó.
Các lựa chọn Debug đứng một mình (Option| Debugger) và
tệp bản đồ (Option| Linker) tạo ra các thông tin về dòng một
cách đầy đủ đối với một modun đã cho chỉ khi bạn đã dòch
modun đó với {$D+).

Đònh hướng $D thường được sử dụng để liên kết với đònh
hướng $L là đònh hướng cho phép hoặc không cho phép việc
tạo ra các thông tin về kí hiệu cục bộ để gỡ rối.
Nếu bạn muốn sử dụng Turbo Debuger để gỡ rối chương
trình của bạn, hãy thiết lập Compiler| Destination to Disk,
sau đó chọn Option| Debugger và lựa chọn Standalone.


EMULATION

Cú pháp {$E+} hoặc {$E-}

Mặc đònh {$E+}

Kiểu Global

Ghi chú Đònh hướng dòch $E thiết lập hay không việc kết nối với thư
viện thời gian thực và phỏng tạo bộ đồng sử lý số học 80x87
nếu như bộ đồng sử lý này không có trong máy.
Khi bạn dòch một chương trình với {$N+, E+}, Turbo Pascal
sẽ liên kết với một bộ phỏng tạo 80x87 đầy đủ. Tệp EXE
nhận được có thể được dùng trên mọi máy bất kể có bộ đồng
xử lý trên máy hay không. Nếu thấy co 80x87, Turbo Pascal
sẽ sử dụng bộ đồng xử lý, còn nếu không thì thư viện thực sẽ
phỏng tạo nó để chạy (lấy phần mềm thay cho phần cúng).
Trong trạng thái {$N+, E-}, Turbo Pascal tạo ra một chương
trình chỉ có thể chạy được nếu như có bộ đồng xử lý số học.
Chuyển mạch bật/tắt bộ phỏng tạo cho 80x87 không đem lại
kết quả nếu nó được sử dụng trong unit, nghóa là nó chỉ được
áp dụng cho việc dòch của một chương trình chính. Thêm nữa

nếu chương trình và tất cả các unit của chương trình được
dòch với trạng thái {$N-} thì thư viện thời gian thực cho 80x87
không được yêu cầu và việc chuyển mạch cho bộ phỏng tạo
80x87 sẽ bò bỏ qua.


EXTENDED SYNTAX

Cú pháp {$X+} hoặc {$X-}

Mặc đònh {$X+}

Kiểu Global

Ghi chú Đònh hướng dòch $X chuyển bật/tắt giữa cú pháp mở rộng
của Turbo Pascal.
 Các câu lệnh hàm. Trong chế độ {$X+}, các lời gọi hàm có
thể được thực hiện như một thủ tục, nghóa là kết quả của
một lời gọi hàm có thể được hủy bỏ. Nói chung các tính toán
được thực hiện bằng một hàm có thể được biểu diễn qua kết
quả của nó, vì vậy việc hủy bỏ kết quả là một điều nhạy cảm
nhỏ. Tuy nhiên trong một số trường hợp, một hàm có thể
thực hiện nhiều thao tác căn cứ vào tham số của nó, và một
số trường hợp này lại không tạo ra những kết quả hữu ích.
Trong các trường hợp như thế, sự mở rộng {$X+} cho phép
hàm được xử lý như là một thủ tục.
 Các xâu kết thúc bằng kí tự Null. Một đònh hướng dòch
{$A+} cho phép sự hổ trợ sử dụng các xâu Null bằng cách
kích hoạt các quy tắc đặc biệt để áp dụng cho kiểu Pchar



FORCE FAR CALLS

Cú pháp {$F+} hoặc {$F-}

Mặc đònh {$F-} tự động chọn cách gọi xa - gần.

Kiểu Local

Ghi chú Đònh hướng dòch $F xác đònh kiểu gọi thủ tục và hàm sẽ
được áp dụng. Các thủ tục và hàm được dòch trong trạng thái
{$F+} luôn luôn sử dụng cách gọi xa (Far Call). Trong trạng
thái {$F-},Turbo Pascal tự động chọn các mô hình thích hợp,
nghóa là gọi xa nếu thủ tục và hàm được khai báo trong phần
Interface của một Unit, các trường hợp còn lại máy sẽ chọn
cách gọi gần (Near Call).


GENERATE 80286 CODE

Cú pháp {$G+} hoặc {$G-}

Mặc đònh {$G-}

Kiểu Global

Ghi chú Đònh hướng $G chuyển trạng thái cho việc tạo hay không
tạo mã cho 80266. Trong trạng thái {$G-}, chỉ có các lệnh cho
8086 được tạo ra và chương trình được dòch ra trong trường
hợp này có thể chạy trên mọi họ máy 80 x 86. Bạn có thể viết

chỉ dẫn {$G-} ở bất kì chỗ trống nào trong chương trình của
bạn.
Trong trạng thái {$G+}, chương trình dòch dùng thêm các
cấu trúc lệnh của 80286 để cải thiện việc tạo mã lệnh, song
chương trình được dòch ra trong trạng thái này sẽ không thể
chạy với các bộ vi xử lý 8088 và 8086. Các lệnh bổ sung thêm
được sử dụng trong trạng thái {$G+} bao gồm: Enter, Push,
Leave tức thời, IMUL mở rộng và SHR, SHL mở rộng.


INPUT/OUTPUT CHECKING

Cú pháp {$I+} hoặc {$I-}

Mặc đònh {$I+}

Kiểu Local

Ghi chú Đònh hướng chuyển mạch bật/tắt cho phép tạo hoặc không
việc tạo mã tự động để kiểm tra kết quả một lời gọi thủ tục
vào/ra. Nếu thủ tục vào ra trả lại kết quả IOResult là khác 0
trong trạng thái {$I+}, chương trình sẽ tự động dừng lại với
thông báo Runtime Error. Trong trạng thái {$I-}, tức chuyển
mạch này sang tắt (off), thì máy sẽ không thông báo lỗi và
bạn phải tự kiểm tra lỗi vào/ra bằng lời gọi IOResult.


LINK OBJECT FILE

Cú pháp {$L FileName}


Kiểu Local

Ghi chú Đònh hướng tham số $L chỉ dẫn cho chương trình dòch liên
kết tệp FileName với chương trình hoặc Unit đang được
dòch. Đònh hướng $L được dùng để liên kết mã chương trình
được viết bằng hợp ngữ cho chương trình con được miêu tả
External. Tệp được đặt tên phải là moat tệp .OBJ. Nếu
FileName không chỉ rõ đường dẫn thì nó sẽ tìm kiếm trong
thư mục hiện hành, sau đó là trong thư mục được chỉ rõ
trong hộp thoại Options| Directories| Object Directories.


LOCAL SYMBO INFORMATION

Cú pháp {$L+} hay {$L-}

Mặc đònh {$L+}

Kiểu Local

Ghi chú Kí hiệu $L dùng để bật/tắt việc tạo ra thông tin kí hiệu cục
bộ. Thông tin này bao gồm các tên và kiểu của tất cả các
biến và hằng trong modun, nghóa là các kí hiệu trong phần
Implementation của modun đó, và các kí hiệu bên trong các
thủ tục và hàm của modun đó.
Với Unit, thông tin hiệu cục bộ được ghi vào tệp .TPU với
mã đối tượng của Unit. Thông tin kí hiệu cục bộ làm tăng
kích thước tệp .TPU và tạo thêm chỗ trống khi dòch chương
trình dùng Unit đó, song nó không ảnh hưởng tới kích thước

cũng như tốc độ của chương trình chạy cuối cùng.
Khi một chương trình hay Unit được dòch với {$L+}, chương
trình gỡ rối nằm trong Turbo Pascal cho phép bạn xem, kiểm
tra và thay đổi các biến cục bộ của modun. Thêm nữa, có thể
kiểm tra lời gọi những thủ tục và hàm của modun qua View|
Call Stack.
Việc gỡ rối độc lập (Option| Debugger) và lựa chọn tệp bản
đồ (Map File) với Option| Linker sẽ tạo ra thông tin kí hiệu
đòa phương cho modun chỉ nếu nó được dòch trong trạng thái
{$L+}.
Đònh hướng $L thường được dùng với đònh hướng $D là đònh
hướng thiết lập hay không thiết lập việc tạo ra bảng đánh số
dòng để gở rối.Đònh hướng $L bò bỏ qua nếu chương trình
dòch đang trong trạng thái {$D-}.


NUMERIC COPROCESSOR

Cú pháp {$N+} hoặc {$N-}

Mặc đònh {$N-}

Kiểu Local

Ghi chú Đònh hướng $N bật/tắt giữa hai chế độ khác nhau của việc
sinh mã dấu chấm động của Turbo Pascal. Trong trạng thái
{SN-}, mã được tạo ra để thực hiện mọi tính toán bằng số
thực trong phần mềm bằng cách gọi tới thư viện thời gian
thực. Còn trong trạng thái {$N+}, mã được tạo ra để tính
toán mọi kiểu số thực bằng bộ đồng xử lý toán học 80x87.



OPEN STRING PARAMETER

Cú pháp {$P+} hoặc {$P-}

Mặc đònh {$P-}

Kiểu Local

Ghi chú Đònh hướng $P điều khiển ý nghóa của tham biến được khai
báo với từ khóa String. Trong trạng thái {$P-}, các tham biến
được khai báo dùng từ khoá String là các tham biến bình
thường nhưng trong trạng thái {$P+}, chúng là tham số
String mở. Không liên quan gì đến trạng thái thiết lập của
$P, tên OpenString luôn luôn được sử dụng để khai báo các
tham số mở.


OVERFLOW CHECKING

Cú pháp {$Q+} hoặc {$Q-}

Mặc đònh {$Q-}

Kiểu Local

Ghi chú Đònh hướng $Q điều khiển việc tạo mã để kiểm tra tràn.
Trong trạng thái {$Q+}, một số lệnh toán học với số nguyên
(+, -, *, /, Abs, Sqr, Succ, Pred) được kiểm tra xem có tràn

không. Mã của mỗi lệnh số nguyên được thêm một phần để
kiểm tra xem kết quả có nằm trong khoảng giá trò cho phép.
Nếu gặp hiện tượng tràn nó sẽ dừng chương trình và báo lỗi
{$Q+} không ảnh hưởng tới thủ tục chuẩn Dec và Inc.
Những thủ tục này không bao giờ được kiểm tra tràn.
Chuyển mạch $Q thường được dùng với chuyển mạch $R là
chuyển mạch thiết lập hoặc không thiết lập việc tạo ra mã
kiểm tra khoảng giá trò. Việc kiểm tra tràn sẽ làm cho
chương trình của bạn chạy chậm hơn và kích thước chương
trình lớn hơn một chút. Do đó chỉ nên dùng {$Q+} cho việc
gỡ rối.


OVERLAY CODE GENERATION

Cú pháp {$O+} hoặc {$O-}

Mặc đònh {$O-}

Kiểu Local

Ghi chú Đònh hướng $O dùng để bật/tắt việc tạo mã phủ. Turbo
Pascal cho phép một Unit chỉ được phủ nếu nó đã được dòch
với {$P+}. Trong trạng thái này, bộ phận tạo mã có một số
biện pháp ngăn ngừa đặc biệt khi chuyển tham số String và
hằng tập từ một thủ tục hay hàm được phủ tới một thủ
tục/hàm khác.
Sử dụng {$O+} trong một Unit không bắt buộc bạn phải phủ
Unit đó. Nó chỉ hướng dẫn Turbo Pascal bảo đảm chắc rằng
Unit đó có thể được phủ nếu bạn muốn. Nếu bạn muốn phát

triển các Unit để sau này cho các ứng dụng có phủ cũng như
không phủ, việc dòch chúng với $O+ sẽ đảm bảo với bạn là
bạn có thể tạo ra cả 2 phiên bản trong cùng một chương
trình nguồn.
Đònh hướng chương trình dòch {$O+} thường được dùng với
đònh hướng {$F+} để thỏa mãn việc quản lý bao phủ cho
những yêu cầu gọi xa.


RANGE CHECKING

Cú pháp {$R+} hoặc {$R-}

Mặc đònh {$R-}

Kiểu Local

Ghi chú Đònh hướng $R dùng để bật/tắt việc tạo mã kiểm tra dải giá
trò, nghóa là xem giá trò đó có nằm trong khoảng cho phép
hay không. Trong trạng thái {$R+}, tất cả các biểu thức
mảng và chỉ số chuỗi đều được thẩm tra dải giá trò và tất cả
các phép gán cho các biến vô hướng và biến khoảng con cũng
đều được kiểm tra dải giá trò. Nếu việc kiểm tra thấy sai, nó
sẽ ngừng chương trình lại và thông báo lỗi.
Nếu $R được bất, mọi lời gọi tới các hành vi ảo đều được
kiểm tra đối với tình trạng khởi tạo của cá thể gọi. Nếu cá
thể gọi không được khởi tạo bằng Contructor của nó, máy sẽ
báo lỗi kiểm tra giá trò.
Bật kiểm tra dải giá trò và kiểm tra lời gọi hành vi ảo sẽ
làm chậm chương trình của bạn và làm tăng kích thước của

chương trình, vì vậy chỉ dùng {$R+} để gỡ rối.


STACK-OVERFLOW CHECKING

Cú pháp {$S+} hoặc {$S-}

Mặc đònh {$S+}

Kiểu Local

Ghi chú Đònh hướng $S thiết lập hay không thiết lập việc tạo ra mã
kiểm tra tràn của Stack. Trong trạng thái {$S+}, chương
trình tạo ra mã ở đầu mỗi thủ tục hay hàm để kiểm tra xem
không gian Stack có đủ để lưu trữ biến đòa phương và các
việc lưu trữ tạm thời khác. Khi không đủ không gian Stack
thì một lời gọi tới hàm hay thủ tục được dòch với {$S+} sẽ dẫn
đến dừng chương trình và xuất hiện thông báo lỗi. Trong
trạng thái {$S-}, một lời gọi như vậy sẽ làm cho hệ thống bò
hỏng.


SYMBO REFERENCE

Cú pháp {$Y+} hoặc {$Y-}

Mặc đònh {$Y+}

Kiểu Local


Ghi chú Đònh hướng $Y dùng để bật/tắt việc tạo ra thông tin tham
khảo các kí hiệu. Thông tin này bao gồm những bảng cung
cấp số dòng của tất cả các khai báo, các kí hiệu và các tham
khảo tới những kí hiệu trong một modun.
Đối với Unit, thông tin tham khảo kí hiệu được ghi trong
tệp .TPU với mã đối tượng của Unit. Thông tin tham khảo kí
hiệu làm tăng kích thước của tệp .TPU nhưng không ảnh
hưởng tới tốc độ và kích thước của chương trình được dòch ra
để chạy.
Khi một chương trình hay một Unit được dòch với {$Y+}, bộ
xem và duyệt của Turbo Pascal có thể hiển thò đònh nghóa kí
hiệu và thông tin tham khảo cho modun đó.
$Y thường được dùng cùng với $D và$L, là các đònh hướng
điều khiển việc tạo ra các thông tin gỡ rối và thông tin kí
hiệu cục bộ. Đònh hướng $Y không có tác dụng trừ khi cả hai
$D và $L được thiết lập.


TYPE-CHECKING POINTERS

Cú pháp {$T+} hoặc {$T-}

Mặc đònh {$T-}

Kiểu Global

Ghi chú Đònh hướng $T điều khiển các kiểu dữ liệu con trỏ được tạo
ra từ toán tử @. Trong trạng thái {$T-}, kết quả của toán tử
@ luôn là con trỏ. Nói cách khác kết quả là kiểu con trỏ
không đònh kiểu sẽ tương thích với mọi kiểu con trỏ khác.Khi

@ được áp dụng cho một biến trong trạng thái {$T+}, kiểu
của kết quả là ^T trong đó T là kiểu của biến. Nói cách khác,
kết quả là một kiểu chỉ tương thích với các con trỏ khác trỏ
tới kiểu của biến.


VAR-STRING CHECKING

Cú pháp {$V+} hoặc {$V-}

Mặc đònh {$V+}

Kiểu Local

Ghi chú Đònh hướng $V điều khiển việc kiểm tra kiểu trên String
được chuyển qua thủ tục /hàm như là tham số. Trong trạng
thái {$V+}, việc kiểm tra kiểu chính xác hoàn toàn được thực
hiện, nghóa là giữa tham số hình thức và tham số thực sự phải
đồng nhất giống nhau về kiểu.
Trong trạng thái {$V-}, còn được gọi là trạng thái buông
lỏng, bất kì biến kiểu String nào cũng đều được phép chuyển
qua như một tham số String thực sự ngay cả khi nếu chiều
dài cực đại được khai báo không giống với tham số hình thức.
Trạng thái {$V-} chủ yếu cung cấp một phiên bản không an
toàn của những tham số String mở. Mặc dầu {$V-} vẫn còn
được ủng hộ, bạn hãy dùng những tham số chuỗi mở.
































INCLUDE FILE

Cú pháp {$I FileName}


Kiểu Local

Ghi chú Đònh hướng tham số $I chỉ dẫn cho chương trình dòch gộp
lấy tệp FileName nằm ở bên ngoài chương trình nguồn đang
dòch vào trong quá trình dòch. Phần mở rộng ngầm đònh cho
tệp FileName là đuôi .Pas. Nếu FileName không chỉ rõ đường
dẫn thư mục thì nó sẽ tìm trong thư mục hiện hành, sau đó
Turbo Pascal sẽ tìm trong thư mục được nêu ra trong hộp
thoại
Option| Directories| Include Directories
Có một hạn chế trong việc sử dụng tệp gộp vào: một tệp
được gộp không thể được đặt ở giữa phần câu lệnh. Trên
thực tế tất cả các câu lệnh nằm giữa Begin và End phải tồn
tại trong cùng một tệp nguồn.


OVERLAY UNIT NAME

Cú pháp {$O UnitName}

Kiểu Local

Ghi chú Đònh hướng tên đơn vò phủ (Overlay Unit Name) bật một
Unit vào trong một chương trình phủ
Đònh hướng {$O UnitName} không có tác dụng nếu nó được
sử dụng trong một Unit. Khi dòch một chương trình, nó chỉ ra
Unit nào được chương trình sử dụng phải được đặt trong tệp
.OVR thay vì trong tệp .EXE.
Các đònh hướng {$O UnitName} phải được đặt sau phần

Uses của chương trình. Pascal sẽ thông báo lỗi nếu bạn cố
tình phủ một Unit không được dòch với {$O+}.


MEMORY ALLOCATION

Cú pháp {$M StackSize, HeapMin, HeapMax}}

Mặc đònh {$M 16384, 0, 655360}

Kiểu Local

Ghi chúù Đònh hướng $M chỉ rõ các tham số bố trí bộ nhớ của chương
trình ứng dụng. Kích thước Stack phải nằm trong khoảng
1024 và 65520, đó là kích thước Segmen của Stack. HeapMin,
HeapMax chỉ ra giá trò cực đại và cực tiểu tương ứng của bộ
nhớ biến động (Heap). HeapMin phải nằm giữa khoảng 0 và
655360 còn HeapMax nằm giữa HeapMin cho tới 655360.
Đònh hướng $M không có kết quả nếu nó được sử dụng
trong Unit.





























DEFINE DIRECTIVE

Cú pháp {$DEFINE Name}

Ghi chú Đònh nghóa một kí hiệu điều kiện với một tên. Kí hiệu tên
này được nhận biết cho phần dòch còn lại của modun và được
đònh nghóa cho đến khi xuất hiện đònh hướng {$UNDEF
Name}.

Ví dụ Ví dụ này chung cho cả các đònh hướng {$ELSE}, {$IFDEF},
{$ENDIF}.


{$DEFINE Hoi_Dap} (* Đònh nghóa tên Hoi_Dap *)



{$IFDEF Hoi_Dap}
(* Nếu có đònh nghóa Hoi_Dap thì chương trình dòch sẽ
dòch phần mã nguồn tiếp theo đây cho đến khi có
{$ELSE} hoặc {$ENDIF Hoi_Dap} *)

Write(' Cho X = ') ;
Readln ( X ) ;


{$ELSE}
(* Chương trình dòch sẽ dòch phần mã nguồn tiếp theo
đây cho đến {$ENDIF Hoi_Dap} nếu không có đònh
nghóa Hpi_Dap, tức là bỏ hoặc đổi tên trong đònh
hướng {$DEFINE} ở trên *)

Readln ( X ) ;


{$ENDIF} (* Kết thúc điều kiện dòch với đònh nghóa
DEFINE*)


ELSE DIRECTIVE

Cú pháp {$ELSE}


Ghi chú Bật tắt giữa việc dòch hay bỏ qua văn bản nguồn ngăn cách
bởi các đònh hướng {$IF xxx} và đònh hướng kế tiếp
{$ENDIF}.

Ví dụ Xem ở mục DEFINE ở trên.


ENDIF DIRECTIVE

Cú pháp {$ENDIF}

Ghi chú Kết thúc phần dòch có điều kiện được viết tắt bởi {IF xxx}.

Ví dụ Xem ở mục DEFINE ở trên.


IFDEF DIRECTIVE

Cú pháp {$IFDEF Name}

Ghi chú Dòch văn bản nguồn theo sau nó nếu có Name được đònh
nghóa qua {$DEFINE}

Ví dụ : Xem ở mục DEFINE ở trên.


IFNDEF DIRECTIVE

Cú pháp {$IFNDEF Name}


Ghi chú Dòch văn bản nguồn theo sau nó nếu không có Name được
đònh nghóa. Đây là trường hợp ngược lại với cách viết
{$IFDEF}.

Ví dụ : Xem ở mục DEFINE ở trên.


IFOPT DIRECTIVE

Cú pháp {$IFOPT Switch}

Ghi chú Dòch văn bản nguồn theo sau nó nếu Switch name trong
trạng thái được nêu ra. Switch bao gồm tên của chuyển
mạch bật/tắt và theo sau là dấu - hay dấu +.
Ví dụ cấu trúc :

{$IFOPT N+}
Type Real = Extended ;
{$ENDIF}

sẽ dòch khai báo kiểu $N đang hoạt động.


UNDEF DIRECTIVE

Cú pháp {$UNDEF Name}

Ghi chú Không đònh nghóa hay làm mất tác dụng một kí hiệu điều
kiện đã được đònh nghóa trước đây. Kí hiệu sẽ bò bỏ quên với
phần còn lại của quá trình dòch hoặc cho tới tận khi nào xuất

hiện trở lại trong đòng hướng {$DEFINE Name}. Đònh hướng
{UNDEF Name} không có ảnh hưởng gì nếu Name chưa được
đònh nghóa.



×