Quex

quex
Phát triển bởiDr.-Ing. Frank-Rene Schäfer
Phiên bản ổn định
0.59.6 / 14 tháng 7 năm 2011 (2011-07-14)
Hệ điều hànhCross-platform
Thể loạiCông cụ Phân tích từ vựng
Giấy phépLGPL
Websitequex.sourceforge.net

Quex là một công cụ phát sinh phân tích từ vựng dùng trong ngôn ngữ lập trình CC++. Các tính năng nổi trội bao gồm khả năng phát sinh các phân tích từ vừng hỗ trợ đầu ra mã Unicode, tạo mã trực tiếp (loại không cần bảng) phân tích từ vựng và dùng các quan hệ kế thừa trong chế độ phân tích từ vựng.

Quex theo sau cú pháp của công cụ lex cổ điển và Flex cho mô tả của biểu thức chính quy. Ví dụ trong phần Flex có thể dịch sang mã nguồn Quex như sau:

header {
  #include <cstdlib> // Phiên bản C++ của 'stdlib.h'
}

define {
  digit [0-9]
  letter  [a-zA-Z]
}

mode X:
<skip: [ \t\n\r]> 
{
  "+"   => QUEX_TKN_PLUS;  
  "-"   => QUEX_TKN_MINUS; 
  "*"   => QUEX_TKN_TIMES; 
  "/"   => QUEX_TKN_SLASH; 
  "("   => QUEX_TKN_LPAREN; 
  ")"   => QUEX_TKN_RPAREN; 
  ";"   => QUEX_TKN_SEMICOLON; 
  ","   => QUEX_TKN_COMMA; 
  "."   => QUEX_TKN_PERIOD; 
  ":="   => QUEX_TKN_BECOMES;  
  "="   => QUEX_TKN_EQL;  
  "<>"   => QUEX_TKN_NEQ;  
  "<"   => QUEX_TKN_LSS;  
  ">"   => QUEX_TKN_GTR;  
  "<="   => QUEX_TKN_LEQ;  
  ">="   => QUEX_TKN_GEQ;  
  "begin"   => QUEX_TKN_BEGINSYM;  
  "call" => QUEX_TKN_CALLSYM;  
  "const"   => QUEX_TKN_CONSTSYM;  
  "do"   => QUEX_TKN_DOSYM; 
  "end" => QUEX_TKN_ENDSYM; 
  "if"   => QUEX_TKN_IFSYM; 
  "odd" => QUEX_TKN_ODDSYM; 
  "procedure"   => QUEX_TKN_PROCSYM;  
  "then" => QUEX_TKN_THENSYM;  
  "var" => QUEX_TKN_VARSYM; 
  "while"   => QUEX_TKN_WHILESYM;

  {letter}({letter}|{digit})* => QUEX_TKN_IDENT(strdup(Lexeme));
  {digit}+ => QUEX_TKN_NUMBER(atoi(Lexeme));
.   => QUEX_TKN_UNKNOWN(Lexeme);
}

Tham khảo

[sửa | sửa mã nguồn]

Liên kết ngoài

[sửa | sửa mã nguồn]
  • Quex, official website
Chúng tôi bán
Bài viết liên quan
Giới Thiệu Nhân Vật | Seele - Honkai: Star Rail
Giới Thiệu Nhân Vật | Seele - Honkai: Star Rail
Seele là một nhân vật có thuộc tính Lượng tử, vận mệnh săn bắn, có thể gây sát thương cho một kẻ địch
Công thức nước chấm thần thánh
Công thức nước chấm thần thánh
Nước chấm rất quan trọng trong bữa ăn cơm của người Việt Nam. Các bữa cơm hầu như không thể thiếu nó
Gu âm nhạc của chúng ta được định hình từ khi nào?
Gu âm nhạc của chúng ta được định hình từ khi nào?
Bạn càng tập trung vào cảm giác của mình khi nghe một bài hát thì mối liên hệ cảm xúc giữa bạn với âm nhạc càng mạnh mẽ.
Dừng uống thuốc khi bị cảm và cách mình vượt qua
Dừng uống thuốc khi bị cảm và cách mình vượt qua
Mình không dùng thuốc tây vì nó chỉ có tác dụng chặn đứng các biểu hiện bệnh chứ không chữa lành hoàn toàn