Phân tích từ vựng

Quá trình phân tích từ vựng trong các giai đoạn xử lý.

Trong ngành khoa học máy tính, phân tích từ vựng (Tiếng Anh: lexical analysis, còn được gọi là scanning hoặc lexing) là một quá trình chuyển đổi chuỗi ký tự nguồn thành một chuỗi liên tiếp các đoạn ký tự ngắn hơn đã được phân loại, gọi là từ tố (tokens). Chương trình dùng để phân tích từ vựng được gọi là bộ phân tích từ vựng (tiếng Anh là lexer).

Từ tố

Từ tố (token) là một xâu được gán với một ý nghĩa xác định, có phần giống với loại từ trong ngôn ngữ học. Nó được xây dựng thành cặp gồm mọt tên từ tố và một giá trị từ tố tuỳ chọn. Từ tố là một loại đơn vị từ vựng.[1] Tương tự như danh từ, tính từ và động từ, từ tố cũng có nhiều loại tùy theo đặc điểm của trình biên dịch. Một số tên từ tố phổ biến gồm:

  • định danh (identifier): những tên do lập trình viên tự đặt;
  • từ khoá (keyword): những tên đã có trong ngôn ngữ lập trình;
  • dấu ngăn cách (delimiter): các kí tự dấu câu và các cặp dấu ngăn cách;
  • toán tử (operator): những biểu tượng thao tác với các đối số để tạo ra kết quả;
  • nguyên văn (literal): các nguyên văn là số, chữ hoặc tham chiếu;
  • chú thích: dòng hoặc khối; sẽ bị loại bỏ nếu trình biên dịch không coi chú tính là từ tố.
Tên từ tố Ví dụ
định danh x, color, UP
từ khoá if, while, return
dấu ngăn cách }, (, ;
toán tử +, <, =
nguyên văn true, 6.02e23, "âm nhạc"
chú thích /* Lấy dữ liệu người dùng */, // phải là số nguyên âm

Ngữ pháp từ vựng

Phần đặc tả của một ngôn ngữ lập trình thường bao gồm một tập hợp các quy tắc, gọi là ngữ pháp từ vựng, định nghĩa các cú pháp từ vựng. Cú pháp từ vựng thường là một ngôn ngữ chính quy, với các quy tắc ngữ pháp gồm các biểu thức chính quy; chúng định nghĩa tập hợp các chuỗi kí tự có thể (vị từ) của một từ tố. Một bộ phân tích từ vựng nhận diện các xâu, và với mỗi loại xâu tìm thấy thì thực hiện một hành động, chủ yếu chỉ đơn giản là tạo ra một dấu hiệu.

Từ tố hoá

Từ tố hoá (tokenization) là quá trình vạch ra ranh giới – và có thể là cả phân loại – giữa các đoạn của một xâu các kí tự đầu vào. Các từ tố này sau đó được chuyển sang các dạng xử lí khác. Quá trình này có thể được coi là một công việc phụ của quá trình phân tích cú pháp.

Thí dụ, trong xâu kí tự sau:

The quick brown fox jumps over the lazy dog

xâu trên không được phân đoạn một cách ngầm định bằng dấu cách như cách một người nói ngôn ngữ tự nhiên sẽ làm. Xâu đầu vào thô gồm 43 kí tự này phải được ngắt một cách rõ ràng ra thành 9 từ tố với dấu phân cách là dấu cách (v.d. so khớp xâu " " hoặc bằng biểu thức chính quy /\s{1}/).

Quá trình

Quá trình phân tích từ vựng tạo ra các dấu hiệu (token) cho bước phân tích cú pháp tiếp theo.

Các nhiệm vụ của quá trình phân tích từ vựng gồm:

  • Đọc các ký tự đầu vào
  • Phát sinh các chuỗi dấu hiệu đầu ra
  • Bỏ khoảng trắng, cách dòng, tab
  • Ghi lại vị trí các dấu hiệu được dùng cho bước xử lý tiếp theo.

Các công cụ phát sinh mã phân tích từ vựng

  • ANTLR - ANTLR phát sinh cú pháp predicated-LL(k).
  • Flex - Biến thể thay thế của dạng cổ điển "lex" (C/C++).
  • JFlex - Viết lại của JLex.
  • Ragel - Bộ quét từ vựng hỗ trợ đầu ra cho mã nguồn C, C++, C#, Objective-C, D, Java, GoRuby.

Các công cụ phát sinh có thể xử lý Unicode:

  • JavaCC - JavaCC phát sinh phân tích từ vựng viết trong Java.
  • JLex - Công cụ phát sinh phân tích từ vựng dành cho Java.
  • Quex (hoặc "Queχ") - Công cụ phát sinh phân tích từ vựng nhanh cho CC++.

Xem thêm

Tham khảo

  1. ^ page 111, "Compilers Principles, Techniques, & Tools, 2nd Ed." (WorldCat) by Aho, Lam, Sethi and Ullman, as quoted in https://stackoverflow.com/questions/14954721/what-is-the-difference-between-token-and-lexeme

Liên kết ngoài

Read other articles:

Madoera Stoomtram Maatschappij, N.V.Stasiun KamalIkhtisarKantor pusatMadura, Hindia BelandaDen Haag, BelandaLokalMaduraPenerusKereta Api Indonesia (lintas Madura)TeknisLebar sepur1.067 mm (3 ft 6 in)Panjang jalur225 km (140 mi) Peta jaringan MSM pada tahun 1915. Madoera Stoomtram Maatschappij, N.V. (disingkat MdrSM) adalah salah satu perusahaan kereta api di Hindia Belanda yang beroperasi di Madura. Perusahaan ini menyelenggarakan angkutan trem uap yang melayani ...

 

Surinamese football club Football clubRandjiet BoysFull nameSociaal Cultureel en Sportvereniging Randjiet BoysGroundDr. Ir. Franklin Essed Stadium, Paramaribo, SurinameCapacity35002013–14Eerste Klasse, 11th (relegated) Home colours SCS Randjiet Boys is a Surinamese football club. They play their home games at the 3,500-capacity Dr. Ir. Franklin Essed Stadium in Paramaribo.[1] They were relegated from the Hoofdklasse in 2012–13[2] and again relegated, from the Eerste Klasse...

 

Football club This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Stal Rzeszów football – news · newspapers · books · scholar · JSTOR (January 2010) (Learn how and when to remove this template message) Football clubStal RzeszówFull nameZakładowy Klub SportowyStal RzeszówFounded1944GroundStadion Miejski ...

Gedung Waskita Raya di Jalan MT Haryono, Cawang, Jakarta Timur. Jalan Letnan Jenderal MT Haryono atau Jalan MT Haryono adalah nama salah satu jalan utama Jakarta. Nama jalan ini diambil dari nama seorang Pahlawan Revolusi Indonesia yaitu Letnan Jenderal TNI Anumerta Mas Tirtodarmo Haryono.[1] Jalan ini membentang sepanjang 3.5 KM dari Cawang, Kramat Jati, Jakarta Timur sampai Patung Pancoran, Pancoran, Pancoran, Jakarta Selatan. Jalan ini melintasi 8 Kelurahan, yaitu kelurahan: Cawang...

 

Street in Manhattan, New York City 40°43′12″N 73°59′42″W / 40.720°N 73.995°W / 40.720; -73.995 Elizabeth Street in 1908 Elizabeth Street is a street in Manhattan, New York City, which runs north-south parallel to and west of the Bowery. The street is a popular shopping strip in Lower Manhattan's Nolita neighborhood.[1] The southern part of Elizabeth Street was constructed in 1755. It was extended north to Bleecker Street in 1816.[2] In the l...

 

Aimée & JaguarPoster filmSutradaraMax FärberböckProduserHanno HuthGünter RohrbachLew RywinDitulis olehMax FärberböckErica Fischer (buku)Rona MunroPemeranMaria SchraderJuliane KöhlerPenata musikJan A. P. KaczmarekSinematograferTony ImiPenyuntingBarbara HenningsDistributorSenator FilmTanggal rilis 10 Februari 1999 (1999-02-10) Durasi125 menitNegaraJermanBahasaJerman Aimée & Jaguar adalah sebuah film drama Jerman 1999 yang berlatar belakang Berlin pada masa Perang Duni...

Untuk kegunaan lain, lihat Morfologi (disambiguasi). Morfologi Caprella mutica jantan Morfologi adalah cabang biologi yang mempelajari bentuk dan struktur organisme dan fitur struktural mereka yang spesifik[1] Sejarah Etimologi kata morfologi berasal dari bahasa Yunani Kuno (morphḗ), yang berarti bentuk, dan (lógos), yang berarti kata, studi, penelitian.[2][3] Referensi ^ Morphology. Diarsipkan dari versi asli tanggal 2007-06-05. Diakses tanggal 2010-06-24.  ^ ...

 

flybmi IATA ICAO Kode panggil BM[1][2] BMR[3] MIDLAND[3] Didirikan1987 (dengan nama Business Air)Berhenti beroperasi16 Februari 2019PenghubungBandar Udara AberdeenBandar Udara ManchesterProgram penumpang setiaBMI Diamond ClubLounge bandaraLounge Diamond ClubAliansiStar AllianceArmada15Perusahaan indukBritish Midland Airways Ltd.Kantor pusatAberdeen, Skotlandia, Britania RayaTokoh utamaStewart AdamsSitus webhttp://www.flybmi.com Embraer ERJ 145 Flybmi, ditulis s...

 

Human settlement in EnglandLitchboroughSt Martin's Church, LitchboroughLitchboroughLocation within NorthamptonshirePopulation300 [1] (2001 census) [2] 321 (2011 census)OS grid referenceSP6254• London69 miles (111 km)Unitary authorityWest NorthamptonshireCeremonial countyNorthamptonshireRegionEast MidlandsCountryEnglandSovereign stateUnited KingdomPost townTowcesterPostcode districtNN12Dialling code01327PoliceNorthamptonshire...

Президентські вибори у США 1932 Країна  США Юрисдикція США Попередник Президентські вибори у США 1928 Наступник Президентські вибори у США 1936 Дата й час 8 листопада 1932 Виборна посада Президент США Обраний кандидат Франклін Делано Рузвельт Кандидат Франклін Делано Рузвел...

 

Bendera Bangladesh Pemakaian Bendera nasional Perbandingan 3:5 Dipakai 17 Januari 1972 Rancangan Bidang berwarna hijau dengan lingkaran berwarna merah yang berada di kiri agak ke tengah. Perancang Quamrul Hassan Bendera sipil Bangladesh Pemakaian Bendera sipil Bendera kapal Bangladesh Pemakaian Bendera kapal Pemakaian Bendera lama Dipakai 2 Maret 1971 Bendera Bangladesh diperkenalkan pada 17 Januari 1972. Sebuah bendera yang serupa digunakan sewaktu Perang Pembebasan Bangladesh tetapi dengan...

 

Class of election History Main article: City of York Council City of York Council is the unitary authority for the City of York, Yorkshire. It is responsible for all local government services within the City of York, except for services provided by York's town and parish councils. Non-metropolitan district elections 1973 York City Council election 1976 York City Council election 1979 York City Council election (New ward boundaries)[1] 1980 York City Council election 1982 York City Cou...

Polymers resistant to degradation at high temperatures Fire-safe polymers are polymers that are resistant to degradation at high temperatures. There is need for fire-resistant polymers in the construction of small, enclosed spaces such as skyscrapers, boats, and airplane cabins.[1] In these tight spaces, ability to escape in the event of a fire is compromised, increasing fire risk. In fact, some studies report that about 20% of victims of airplane crashes are killed not by the crash i...

 

Steve Lillywhite Steve Lillywhite (Londra, 15 marzo 1955) è un produttore discografico britannico. Indice 1 Carriera 2 Note 3 Bibliografia 4 Altri progetti 5 Collegamenti esterni Carriera Entra nell'industria discografica nel 1972, nella casa discografica Polygram con la quale produce un demo per gli Ultravox, per poi passare successivamente alla Island Records. Gli saranno affidati i nuovi musicisti della nascente new wave. Nel 1980 produce Peter Gabriel (III) che si rivela interessante sop...

 

Orang Yahudi Polandia yang diusir dari kota Nürnberg Pengusiran Yahudi Polandia dari Jerman tahun 1938, yang juga disebut Polenaktion atau Aksi Polandia oleh kelompok Nazi, adalah peristiwa penangkapan dan pengusiran sekitar 17.000 orang Yahudi Polandia yang tinggal di Jerman Nazi pada Oktober 1938.[1] Deportasi ini diperintahkan oleh perwira Schutzstaffel dan kepala Gestapo Reinhard Heydrich.[2] Orang-orang Yahudi yang dideportasi tidak diterima oleh Polandia,[3] seh...

UEFA Champions League 2020-2021 Competizione UEFA Champions League Sport Calcio Edizione 66ª Organizzatore UEFA Date dall'8 agosto 2020al 29 maggio 2021 Partecipanti 32 (79 alle qualificazioni) Nazioni 54 Sede finale Stadio do Dragão(Porto) Risultati Vincitore Chelsea(2º titolo) Finalista Manchester City Semi-finalisti Paris Saint-GermainReal Madrid Statistiche Miglior giocatore Jorginho[1] Miglior marcatore Erling Haaland (10) Miglior portiere Edouard Mendy Inc...

 

Sporting event delegationBurma at the1968 Summer OlympicsIOC codeBIRin Mexico CityCompetitors4 in 2 sportsMedals Gold 0 Silver 0 Bronze 0 Total 0 Summer Olympics appearances (overview)19481952195619601964196819721976198019841988199219962000200420082012201620202024 Burma competed at the 1968 Summer Olympics in Mexico City, Mexico. They fielded four competitors, all men. Athletics Main article: Athletics at the 1968 Summer Olympics Men Track & road events Athlete Event Heat Quarterfinal Sem...

 

خريطة توضح تمركز مناطق الطاقة في السودان تعدد مصادر الطاقة في السودان، ويوجد النفط في مناطق متفرقة من السودان ومنحت الحكومة مؤخرًا بعض الشركات الوطنية والأجنبية حق التنقيب عن المعادن والنفط في جهات متفرقة من البلاد. واهتمت الدولة بالطاقة الكهرومائية وبدأت برعاية مشروعات...

Yohanes 2Yohanes 2:11-22 pada Uncial 0162 (P.Oxy 847), yang ditulis sekitar tahun 300 M.KitabInjil YohanesKategoriInjilBagian Alkitab KristenPerjanjian BaruUrutan dalamKitab Kristen4← pasal 1 pasal 3 → Yohanes 2 (disingkat Yoh 2) adalah pasal kedua Injil Yohanes pada Perjanjian Baru dalam Alkitab Kristen, menurut kesaksian Yohanes, seorang dari Keduabelas Rasul pertama Yesus Kristus.[1][2] Teks Naskah aslinya ditulis dalam bahasa Yunani. Sejumlah naskah kuno tertua...

 

Chiesa della Natività di Nostro Signore Gesù CristoAbbazia di Villa OnetoStato Italia RegioneLiguria LocalitàVilla Oneto (San Colombano Certenoli) Coordinate44°21′24″N 9°17′20″E44°21′24″N, 9°17′20″E Religionecattolica di rito romano Titolarenascita di Gesù Diocesi Chiavari Modifica dati su Wikidata · Manuale La chiesa della Natività di Nostro Signore Gesù Cristo - denominata anche come abbazia di Villa Oneto - è stato un luogo di culto cattolico situato n...