Tiếng AnhTiếng PhápTiếng Tây Ban Nha

Biểu tượng yêu thích OnWorks

otags - Trực tuyến trên đám mây

Chạy otags trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks qua Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

Đây là lệnh otags có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


otags - tạo tệp thẻ cho emac và vi / vim từ các nguồn OCaml

SYNOPSIS


otag [TÙY CHỌN TĨNH] ... [FILE] ... [ĐỘNG-LỰA CHỌN] ... [FILE] ...

MÔ TẢ


otag tạo TAGS tập tin cho emacsthẻ tập tin cho vi/khí lực để cung cấp cho các biên tập viên này
khả năng chuyển trực tiếp đến các định nghĩa hàm và giá trị (sử dụng NS-. trong Emacs và ^] in
vi [m] với con trỏ trên ký hiệu).

otag sử dụng camlp4 để phân tích cú pháp. Điều này chính xác hơn so với gắn thẻ dựa trên biểu thức thông thường.
Về mặt nhược điểm, otag chỉ có thể gắn thẻ các tệp chính xác về mặt cú pháp. Hơn nữa, otag is
OCaml phiên bản cụ thể: Các nguồn được biên dịch với OCaml phiên bản XY nói chung có thể
chỉ được gắn thẻ với otag phiên bản XY.

otag có thể gắn thẻ tất cả các tệp camlp4 có thể phân tích cú pháp. Nội bộ otag giữ một hiện hành phân tích cú pháp
có thể được sửa đổi với các tùy chọn -pc (Danh mục rõ ràng), -pa (thêm vào danh sách), và -pr
(đặt lại về mặc định). Giá trị mặc định của hiện hành phân tích cú pháp tương ứng với tiêu chuẩn
OCaml cú pháp (chứa các trình phân tích cú pháp ro, xem CÁC MỞ RỘNG PHỤ TÙNG CỦA CAMLP4 TIÊU CHUẨN
phía dưới). Mỗi tệp nguồn được phân tích cú pháp bằng camlp4 phân tích cú pháp mà tất cả các tiện ích mở rộng phân tích cú pháp
từ hiện hành phân tích cú pháp đã được tải. Các camlp4 trình phân tích cú pháp tiêu chuẩn được liên kết với
otag và nếu hiện hành phân tích cú pháp chỉ chứa các trình phân tích cú pháp như vậy thì mô-đun phân tích cú pháp là
xây dựng trong nội bộ. Nếu không thì một bên ngoài camlp4 quá trình được bắt đầu.

otag gắn thẻ tất cả các mục cấp cao nhất trong cấu trúc và chữ ký, bao gồm cả toán tử infix và
các mô-đun và chữ ký lồng nhau. Nó cũng gắn thẻ các biến cá thể và phương thức trong các lớp và
các loại lớp. Tên tệp FILE trên dòng lệnh được phân tích cú pháp thành giao diện nếu chúng có
.mli hậu tố và dưới dạng triển khai nếu chúng có .ml hậu tố. (Xem thêm động
lựa chọn -intf-ngụ ý.)

otag có thể gắn thẻ tất cả các tệp trong một cây thư mục (nếu tùy chọn -r được đưa ra). Tệp được
được tạo ra bởi ocamllex or ocamlyacc hoặc yêu cầu xử lý trước với camlp4 vĩ mô
Tuy nhiên, trình phân tích cú pháp phải được gắn thẻ trong cùng một thư mục nơi các công cụ này đã được chạy.
Điều này là do dòng chỉ thị rằng ocamllexocamlyacc đưa vào các tệp đã tạo
liên quan đến thư mục làm việc hiện tại của quá trình tạo. Cho camlp4
vĩ mô phân tích cú pháp một BAO GỒM chỉ thị có thể được giải quyết liên quan đến công việc hiện tại
thư mục của camlp4 tiến trình. Do đó, nếu bạn gắn thẻ các tệp như vậy từ một
bạn sẽ nhận được một thông báo lỗi.

Khi gắn thẻ toàn bộ cây thư mục một cách đệ quy, người ta có thể chỉ định các ngoại lệ từ
hiện hành phân tích cú pháp trong tệp gợi ý phân tích cú pháp hoặc cây thư mục, hãy xem tùy chọn -parser-gợi ý
CÁC PHIẾU GỢI Ý VỀ BỘ PHẬN bên dưới.

Tệp thẻ có thể chứa tên tệp tuyệt đối và / hoặc tương đối. Otag sử dụng tên tệp từ
dòng lệnh cho tệp thẻ. Chỉ định tên tệp tương đối trên dòng lệnh
do đó sẽ cung cấp cho bạn một tệp thẻ với các tên tệp tương đối. Rõ ràng, một tệp thẻ có
tên tệp tương đối sẽ chỉ hoạt động nếu nó nằm trong thư mục nơi otag
bắt đầu Otag hỗ trợ viết tệp thẻ với tên tệp tương đối trong tệp cha
thư mục thông qua tùy chọn -add-path, xem VÍ DỤ bên dưới.

THỐNG KÊ LỰA CHỌN


Các tùy chọn tĩnh có hiệu lực trên toàn bộ chương trình chạy, bất kể vị trí của chúng trong
dòng lệnh.

-r Giảm dần vào các thư mục. Với tùy chọn này, nếu một trong các FILE đối số là một
thư mục otag sẽ gắn thẻ đệ quy tất cả các tệp trong toàn bộ cây thư mục này.

-o tệp
Viết thẻ cho hồ sơ. Mặc định là TAGS (Đối với emacs) Và thẻ cho vi (nếu -vi
tùy chọn được đưa ra) trong thư mục hiện tại. Nếu như hồ sơ là một dấu gạch ngang ( - ) các thẻ là
được ghi vào đầu ra tiêu chuẩn.

-a Nối vào tệp TAGS hiện có (chỉ hoạt động đối với tệp TAGS emacs).

-vi Tạo thẻ cho vi và thay đổi tệp đầu ra mặc định thành thẻ.

I dir Thêm thư mục dir vào camlp4 đường dẫn tìm kiếm tệp đối tượng cho bên ngoài camlp4
phân tích cú pháp cuộc gọi.

-add-path đường dẫn
Thêm con đường ở đầu mỗi tên tệp tương đối trong tệp thẻ. Hữu ích khi
bạn muốn đặt tệp thẻ trong thư mục mẹ.

-parser-hints tệp
Áp dụng các gợi ý phân tích cú pháp trong tệp hoặc cây thư mục được chỉ định. Bất cứ khi nào otag thẻ
một tệp xuất hiện trong tệp gợi ý trình phân tích cú pháp, nó sử dụng các trình phân tích cú pháp được chỉ định ở đó
thay cho hiện hành phân tích cú pháp , hãy xem BỘ PHẬN GỢI Ý CỦA BỘ PHẬN bên dưới. Tùy chọn này có thể
được cung cấp nhiều lần để xử lý một số tệp gợi ý. Nếu như hồ sơ sau đó là một thư mục
tất cả các tệp trong cây đó được xử lý dưới dạng tệp gợi ý trình phân tích cú pháp.

-phiên bản
Phiên bản in và thoát.

-v Dài dòng. In tên tệp khi chúng được phân tích cú pháp và các dòng lệnh cho bên ngoài
bắt đầu camlp4 các quy trình phân tích cú pháp (nếu có). Nếu như -v là đối số dòng lệnh đầu tiên
dấu nền cho các trường hợp ngoại lệ được kích hoạt và in ra nếu một trường hợp ngoại lệ thoát ra và
chấm dứt otag (được coi là một lỗi mà tôi sẽ đánh giá cao một lỗi
bài báo cáo).

-q Hãy im lặng.

-help In danh sách tùy chọn.

--help Bí danh cho -Cứu giúp

NĂNG ĐỘNG LỰA CHỌN


Các tùy chọn động chỉ ảnh hưởng đến các đối số theo sau chúng trên dòng lệnh.

TỆP -intf
Phân tích cú pháp và gắn thẻ FILE như một giao diện.

-impl TỆP
Phân tích cú pháp và gắn thẻ FILE như việc thực hiện.

-pc Xóa hiện hành phân tích cú pháp .

trình phân tích cú pháp -pa
Thêm phân tích cú pháp đến hiện hành phân tích cú pháp . Nếu phân tích cú pháp không phải là một trong những tiêu chuẩn
phân tích cú pháp được phân phối với camlp4 thì (các) tệp sau được phân tích cú pháp trong
riêng biệt camlp4 (các) quy trình. phân tích cú pháp phải được chấp nhận bởi camlp4 -cao hơn, Có nghĩa là,
nó phải là tên trình phân tích cú pháp camlp4 chuẩn hoặc tệp bytecode (.Làm sao) hoặc thư viện
(.cma).

-pr Đặt lại hiện hành phân tích cú pháp thành giá trị mặc định của nó (phân tích cú pháp tiêu chuẩn OCaml không có
phần mở rộng).

-pp In hiện hành phân tích cú pháp .

-bên ngoài
Buộc otag để phân tích cú pháp tất cả các tệp sau bằng một tệp bên ngoài camlp4 quá trình.

-mang đông
Chuyển về phân tích cú pháp nội bộ (mặc định).

PHỤ TÙNG GỢI Ý CÁC TẬP TIN


Tệp gợi ý phân tích cú pháp là các tệp văn bản đơn giản chỉ định trình phân tích cú pháp cho các tệp nhất định. Đây là
hữu ích khi gắn thẻ đệ quy với tùy chọn -r. Đây là một ví dụ cho một số tệp từ
các OCaml phân phối:

ồ:
camlp4 /amples / parse_files.ml
o rqg:
camlp4 /amples / macros.ml
camlp4 /amples / arith.ml
gỡ lỗi rf:
camlp4 / Camlp4Bin.ml
camlp4 / mkcamlp4.ml
camlp4 / camlp4prof.ml
camlp4 / camlp4prof.mli

Định dạng của tệp gợi ý phân tích cú pháp như sau. Dòng trống và dòng bắt đầu bằng `` # ''
bị bỏ qua. Tệp gợi ý trình phân tích cú pháp bao gồm một số phần tùy ý. Mỗi phần
bắt đầu bằng một dòng kết thúc bằng dấu hai chấm chỉ định trình phân tích cú pháp sử dụng với một khoảng trắng
danh sách phân tách các tên trình phân tích cú pháp (như những tên được chấp nhận bởi tùy chọn -pa). Phần còn lại của
phần chứa các tên tệp, mỗi tên một dòng. Khoảng trắng đầu và cuối bị bỏ qua.

VÍ DỤ


Nhãn một số các tập tin in các nguyên một số in các sửa đổi cú pháp:

otag bản gốc.ml -pc -pa r sửa đổi.ml -pr bản gốc.ml

Sản phẩm -pc là cần thiết bởi vì, vì camlp4, bản gốc OCaml cú pháp là một phần mở rộng của
cú pháp sửa đổi. Do đó, mặc định hiện hành phân tích cú pháp chứa trình phân tích cú pháp r Đã
và thêm r sẽ không thay đổi hiện hành phân tích cú pháp .

Nhãn các tập tin với trích dẫn (cú pháp máy chủ lưu trữ ban đầu và cú pháp báo giá sửa đổi):

otag -pa rq qotation.ml

Nhãn các tập tin việc này sử dụng các giới tính sự mở rộng:

otag -I / usr / lib / ocaml / type-convert -I / usr / lib / ocaml / sexplib -pa pa_type_conv.cmo
-pa pa_sexp_conv.cmo use_sex.ml

Sản phẩm -I các tùy chọn chỉ định các thư mục nơi pa_type_conv.cmopa_sexp_conv.cmo đang
nằm trên hệ thống.

Nhãn các tập tin in a thư mục con giữ các thẻ hồ sơ in cha mẹ thư mục

cd con gái nhỏ; otag -o ../THẺ -add-path con gái nhỏ ...

Thủ tục phức tạp này chỉ cần thiết nếu có tệp bên trong con gái nhỏ với dòng
các lệnh chứa tên tệp tương đối (ví dụ: được tạo bởi ocamllex or
ocamlyacc chạy bên trong con gái nhỏ) và khi có các thư mục khác có tài liệu
nên được thêm vào ../THẺ. Nếu không có tệp nào có chỉ thị dòng tương đối, người ta có thể
chỉ cần sử dụng "otag -r "trong thư mục chứa con gái nhỏ. Nếu không có cái khác
thư mục con người ta có thể đặt tệp thẻ vào con gái nhỏ mà không sử dụng -o hoặc -add-path.

TIÊU CHUẨN CAMLP4 PHỤ TÙNG MỞ RỘNG


Hiện tại không có tài liệu nào về tên và bí danh đề cập đến tiêu chuẩn camlp4
phân tích cú pháp mô-đun. Ngoài ra, các phụ thuộc giữa các mô-đun đó hầu hết là không có tài liệu. Các
nguồn thông tin duy nhất là tệp camlp4 / Camlp4Bin.ml trong OCaml phân phối.

Danh sách sau đây mô tả các số nhận dạng camlp4 -cao hơn đối xử đặc biệt. Cái này
do đó là danh sách tiêu chuẩn camlp4 trình phân tích cú pháp. Đối với những mã định danh này, trường hợp không
quan trọng (chúng được đưa qua Chuỗi.chữ thường trước khi khớp). Các phụ thuộc
được liệt kê ở đây được xử lý tự động một cách kỳ diệu bởi camlp4otag.

r, ocamlr, ocamlsửa đổi, pa_r.cmo, camlp4ocamlrevisedparser.cmo
Đã sửa đổi cú pháp mà không có trình phân tích cú pháp luồng.

rr, nạp lại, tải lại ocaml, camlp4ocamlreloadedparser.cmo
Biến thể của cú pháp đã sửa đổi (cách sử dụng không xác định).

o, ocaml, pa_o.cmo, camlp4ocamlparser.cmo
Cú pháp gốc không có trình phân tích cú pháp luồng. Phụ thuộc vào trình phân tích cú pháp r.

rp, trình phân tích cú pháp, pa_rp.cmo, camlp4ocamlrevisedparserparser.cmo
Đã sửa đổi cú pháp với trình phân tích cú pháp luồng. (Xem lỗi # 5134 cho OCaml 3.12.0 trở về trước.)
Phụ thuộc vào trình phân tích cú pháp r.

op, phân tích cú pháp, pa_op.cmo, camlp4ocamlparserparser.cmo
Cú pháp gốc với trình phân tích cú pháp luồng. Phụ thuộc vào trình phân tích cú pháp r, o, rp

g, ngữ pháp, pa_extend.cmo, pa_extend_m.cmo, camlp4grammarparser.cmo
Phần mở rộng ngữ pháp.

m, vĩ mô, pa_macro.cmo, camlp4macroparser.cmo
Macro và điều kiện.

q, camlp4quotationexpander.cmo
Báo giá phản chiếu. Phần mở rộng phân tích cú pháp này sử dụng cú pháp máy chủ lưu trữ hiện tại và
thêm các bộ mở rộng dấu ngoặc kép bằng cách sử dụng cú pháp hiện tại đó sao cho ngữ pháp kết quả
là phản ánh: Việc thay đổi cú pháp máy chủ sau đó cũng ảnh hưởng đến báo giá
cú pháp. Phụ thuộc vào mô-đun Camlp4QuotationChung (cơ sở hạ tầng báo giá chung).

rq, q_mlast.cmo, camlp4ocamlrevisedquotationexpander.cmo
Báo giá sửa đổi. Thêm trích dẫn trong cú pháp sửa đổi. Máy chủ và báo giá
phân tích cú pháp vẫn độc lập. Phụ thuộc vào mô-đun Camlp4QuotationChung (chung
cơ sở hạ tầng báo giá).

oq, camlp4ocaml originalquotationexpander.cmo
OCaml gốc với các trích dẫn gốc. Tải OCaml gốc (không có luồng
phân tích cú pháp) như cú pháp máy chủ và như cú pháp trích dẫn. Máy chủ lưu trữ và cú pháp báo giá là
độc lập (không phản xạ). Phụ thuộc vào trình phân tích cú pháp ocamlr, ocaml và mô-đun
Camlp4QuotationChung

rf Đã sửa đổi đầy đủ. Thiết lập cú pháp đã sửa đổi với trình phân tích cú pháp luồng, phần mở rộng ngữ pháp, danh sách
hiểu và macro và thêm các trích dẫn phản ánh. Phụ thuộc
phân tích cú pháp / mô-đun r, rp, Camlp4QuotationChung, q, g, comp, m.

of Bản gốc đầy đủ. Thiết lập OCaml gốc với trình phân tích cú pháp luồng, tiện ích mở rộng ngữ pháp, danh sách
hiểu và macro và thêm trích dẫn phản ánh (nghĩa là, trích dẫn trong
cú pháp gốc). (Xem lỗi # 5129 cho OCaml 3.12.0 trở về trước.) Tùy thuộc vào
phân tích cú pháp / mô-đun r, o, rp, op, Camlp4QuotationChung, q, g, compm.

comp, camlp4listcomprehension.cmo
Liệt kê những điều đã hiểu.

gỡ lỗi, trình gỡ lỗi camlp4, camlp4debugparser.cmo
Câu lệnh gỡ lỗi gỡ lỗicamlp4_debug. Sự mở rộng của những tuyên bố đó
phụ thuộc vào giá trị của biến môi trường STATIC_CAMLP4_DEBUG như vậy cũng
các mục nhập thẻ được tạo có thể phụ thuộc vào biến này.

CHẨN ĐOÁN


Lỗi phân tích cú pháp được báo cáo bình thường camlp4 thông báo lỗi. Không có thẻ nào được tạo cho
các tệp tạo ra lỗi. Việc gắn thẻ tiếp tục với tệp tiếp theo, trong trường hợp này.

Lỗi "Nguồn gốc không khả dụng" được báo cáo nếu tệp mà một dòng
không thể tìm thấy chỉ thị tham chiếu. Điều này có thể xảy ra nếu otag được bắt đầu trong một khác
thư mục hơn chương trình đã tạo ra tệp lỗi.

Otag tồn tại với "Danh sách trình phân tích cú pháp trống cho ..." khi cố gắng xử lý tệp có
trống hiện hành phân tích cú pháp . Điều này xảy ra khi không -pa tùy chọn sau -pc.

Otag in "Chỉ thị Toplevel được tìm thấy trong ... Bỏ qua tệp." cho các tệp có chứa cấp trên
các chỉ thị. Vấn đề là thông tin vị trí trong cây cú pháp trừu tượng là
không chính xác sau các chỉ thị cấp cao nhất, hãy xem lỗi # 5127.

Thoát khỏi các ngoại lệ và xác nhận chấm dứt otag được coi là lỗi. Nếu họ
xảy ra, vui lòng sử dụng tùy chọn -v as Thành phố điện khí hóa phía tây dãy núi Rocky đầu tiên chuyển đổi dòng lệnh để lấy dấu lùi ngoại lệ
và gửi cái này với tất cả thông tin liên quan dưới dạng báo cáo lỗi.

EXIT TÌNH TRẠNG


0 mọi thứ đều ổn

1 lỗi phân tích cú pháp hoặc một số lỗi khác xảy ra và otag bỏ qua tệp bị ảnh hưởng

2 một lỗi nghiêm trọng gây ra otag để hủy bỏ

3 một số lỗi gây ra sự cố, từ đó otag chỉ có thể phục hồi một chút

Được biết đến VẤN ĐỀ


Sản phẩm camlp4OCaml phân tích cú pháp luôn khác nhau theo những cách tinh tế. Chế tạo camlp4 độc lập khỏi
OCaml làm trầm trọng thêm vấn đề. camlp4 phiên bản 4.02.3 chỉ chấp nhận rất ít thuộc tính. Nó
không chấp nhận các thuộc tính khối hoặc độc lập (những thuộc tính có [@@[@@@) hoặc các nút mở rộng (
[% or [%%). Otag do đó thất bại về nhiều thất bại từ OCaml thư viện tiêu chuẩn.

MISSING TÍNH NĂNG, ĐẶC ĐIỂM


Việc thêm vào tệp thẻ vi yêu cầu đọc lại tệp thẻ hiện có, vì thẻ vi
các tệp được sắp xếp.

Không tương thích camlp4 cây cú pháp (từ bên ngoài camlp4 quá trình phân tích cú pháp) được phát hiện
với những con số kỳ diệu. Tuy nhiên, một không tương thích camlp4 có thể sẽ chết khi nó cố gắng tải
các otag riêng camlp4 máy in. Các lỗi bộ tải động nghiêm trọng như vậy được xử lý như
lỗi phân tích cú pháp, bởi vì camlp4 tạo ra cùng một trạng thái thoát trong cả hai trường hợp.

TÍN


Cuihtlauac Alvarado và Jean-Francois Monin là những người đầu tiên khai thác camlp4 để gắn thẻ
OCaml các tập tin. Phiên bản này là một bản viết lại hoàn chỉnh, dựa trên cái mới camlp4 từ OCaml
phiên bản 3.10 trở đi.

Sử dụng otags trực tuyến bằng dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

Lệnh Linux

Ad