Khiêu chuyển đáo nội dung

lex

本页使用了标题或全文手工转换
Duy cơ bách khoa, tự do đích bách khoa toàn thư

Lex
Nguyên tác giảMike Lesk,Eric Schmidt
Thủ thứ phát bố1975 niên,​49 niên tiền​ (1975)
Nguyên đại mã khố編輯維基數據鏈接
Thao tác hệ thốngUnixHòaLoại Unix hệ thống
Loại hìnhMệnh lệnh

TạiĐiện não khoa họcLí diện,lexThị nhất cá sản sinhTừ pháp phân tíchKhí ( lexical analyzer, "Tảo miêu khí" ( scanners ) hoặc giả "lexers" ) đíchTrình thức.[1][2]Lex thường thường dữyaccNgữ pháp phân tích khí sản sinh trình thức( parser generator ) nhất khởi sử dụng. Lex( tối tảo thịAi lí khắc · thi mật đặcHòaMại khắc · lai tư khắcChế tác ) thị hứa đaUNIXHệ thống đích tiêu chuẩnTừ pháp phân tích khí( lexical analyzer ) sản sinh trình thức, nhi thả giá cá công cụ sở tác đích hành vi bị tường liệt viPOSIXTiêu chuẩn đích nhất bộ phân.

Lex độc tiến nhất cá đại biểu từ pháp phân tích khí quy tắc đích thâu nhậpTự xuyến lưu,Nhiên hậu thâu xuất dĩC ngữ ngônThật tố đích từ pháp phân tích khíNguyên thủy mã.

Tuy nhiên truyện thống thượng thị thương nghiệp nhuyễn thể, đãn thị hữu ta căn cư nguyên bổn AT&T trình thức mã giá ta bản bổn đích Lex khả dĩ dĩCông khai nguyên thủy mãĐích hình thức hoạch đắc, tịnh bị thị vi mỗ ta hệ thống đích nhất bộ phân, lệ như thuyếtOpenSolarisHòaBối nhĩ thật nghiệm thất cửu hào kế họa.Lánh nhất cá hữu danh đích LexCông khai nguyên thủy mãBản bổn thịflex,Đại biểu "Khoái tốc đích từ pháp phân tích khí" ( fast lexical analyzer )

lex đương án đích kết cấu

[Biên tập]

lex đích đương án kết cấu cố ý thiết kế đích dữ yacc đích đương án cách thức tương tự; đương án phân thành tam cá khu khối, quân dĩ nhất cá chỉ hữu lưỡng cá bách phân bỉ phù hào ( % ) đích đan hành lai phân cách, như hạ:

Định nghĩa khu khối
%%
Quy tắc khu khối
%%
C trình thức mã khu khối
  • Định nghĩaKhu khối thị dụng lai định nghĩaCự tậpDĩ cập hối nhậpCTả thành đíchBiểu đầu đươngSở tại khu khối. Tại giá lí diện dã khả dĩ tả nhất ta C trình thức mã, giá nhất ta trình thức mã hội bị phục chế đáo sản sinh xuất lai đích C nguyên thủy mã đích khai đầu bộ phân.
  • Quy tắcKhu khối thị tối trọng yếu đích khu khối; giá lí tương dạng thức dữ C đíchTrần thuật( statement ) xuyến liên tại nhất khởi. Giá nhất ta dạng thức đô thịChính quy biểu thức.Đương lexer khán đáo thâu nhập lí diện hữu hợp hồ cấp định đích dạng thức thời, tắc hội thao tác tương đối ứng đích C trình thức mã. Giá tựu thị lex vận tác đích cơ sở.
  • C trình thức mãKhu khối bao hàm C đích trần thuật dữHàm thức( function ) hội nguyên phong bất động đích chiếu bàn đáo sản sinh xuất lai đích C nguyên thủy mã lí diện. Giá ta trần thuật nhất bàn giả thiết bao hàm liễu tại quy tắc khu khối lí diện, các cá quy tắc phân biệt hô khiếu đích nguyên thủy mã. Tại đại hình trình thức lí diện, tương giá nhất ta trình thức phóng tại kỳ tha phân khai đích đương án tịnh thả tạiBiên dịchGiai đoạn tác liên tiếp hội canh phương tiện ( tại tiến hành tu cải cân khoách sung đích thời hầu ).

lex văn kiện kỳ lệ

[Biên tập]

Hạ diện thị nhất cáflexBản bổn đích lex văn kiện đích kỳ lệ. Giá cá trình tự khả dĩ trảo xuất biểu kỳ sổ tự ( chỉnh sổ ) đích tự phù xuyến, tịnh tương tha môn đả ấn xuất lai.

/*** định nghĩa khu khối ***/

%{
/* hội trực tiếp chiếu bàn phóng đương đầu đích C code */
#include<stdio.h>
%}

/* giá lí cáo tố flex chỉ yếu độc thủ thâu nhập đích đương án ( bất nhu yếu kỳ tha đương án ) */
%optionnoyywrap

%%
/*** quy tắc khu khối ***/

/* [0-9]+ đại biểu bao hàm nhất cá hoặc đa cá sổ tự đích tự xuyến */
[0-9]+{
/* yytext thị nhất cá tự xuyến biến sổ, nội dung thị phù hợp quy tắc đích tự xuyến bổn thân. */
printf("Saw an integer: %s\n",yytext);
}

.{/* hốt lược sở hữu kỳ tha đích tự */}

%%
/*** C trình thức mã khu khối ***/

intmain(void)
{
/* hô khiếu lexer, nhiên hậu kết thúc trình thức */
yylex();
return0;
}

Tương giá cá đương án thâu nhập cấp flex, tha hội tương giá cá đương án chuyển hoán thành nhất cá C đương án, đương danh lex.yy.c. Giá cá C đương án khả dĩ bị biên dịch thành nhất phân khả chấp hành đương, công năng vi trảo xuất tịnh thả thâu xuất đại biểu chỉnh sổ đích tự xuyến. Lệ như, cấp định thâu nhập:

abc123z.!&*2ghj6

Giá chỉ trình thức hội ấn xuất:

Saw an integer: 123
Saw an integer: 2
Saw an integer: 6

Lex hòa kỳ tha công cụ tịnh dụng

[Biên tập]

Lex hòa ngữ pháp phân tích sản sinh trình thức ( parser generator ) tịnh dụng

[Biên tập]

Lex hòa ngữ pháp phân tích khí sản sinh trình thức, lệ như thuyếtYaccHoặc giảBisonChi loại, thường thường nhất khởi sử dụng. Ngữ pháp phân tích khí sản sinh trình thức sử dụngHình thức văn phápLai phân tích thâu nhập tự xuyến lưu ( input stream ), giá thị Lex sử dụng giản đan đíchChính quy biểu kỳ thứcSở tác bất đáo đích sự tình ( Lex đích thiết kế bị hạn chế ô chỉ năng sử dụngHữu hạn trạng thái tự động cơ). Nhiên nhi, ngữ pháp phân tích khí sản sinh trình thức bất năng trực tiếp độc thủ giản đan đích thâu nhập tự xuyến lưu – tha môn nhu yếu sử dụng nhất hệ liệt đích đan từ ( token ). Lex tắc thường thường bị sử dụng lai đề cung ngữ pháp phân tích khí sản sinh trình thức giá nhất ta đan từ.

Lex hòa make

[Biên tập]

makeThị nhất cá tiện lợi trình thức ( utility ), tại giá lí ngã môn dụng tha lai duy hộ cân lex tương quan đích trình thức. make giả thiết phó đương danh thị.lĐích đương án thị nhất cá lex nguyên thủy mã đương án. make nội bộ đích cự tậpLFLAGSKhả dĩ dụng lai tường liệt make tự động xúc phát đích lex tuyển hạng.[3]

Tương quan điều mục

[Biên tập]

Tham khảo văn hiến

[Biên tập]
  1. ^Levine, John R; Mason, Tony; Brown, Doug.LEX & YACC2.O'Reilly.1992: 1–2[2010-03-16].ISBN1-56592-000-7.( nguyên thủy nội dungTồn đươngVu 2014-12-02 ).
  2. ^Levine, John.flex & bison.O'Reilly Media. August 2009: 304[2010-03-16].ISBN978-0-596-15597-1.( nguyên thủy nội dungTồn đươngVu 2011-08-16 ).
  3. ^make,The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition (The IEEE and The Open Group), 2004[2010-03-16],( nguyên thủy nội dungTồn đươngVu 2010-10-31 )

Ngoại bộ liên kết

[Biên tập]