การพัฒนาไลบรารีตัวแจงภาษาโดยใช้แลมบ์ดาในภาษา ซีชาร์ปและเทคนิคการแจงภาษาแบบแอลอาร์ตามองค์ประกอบ

This independent study presents a parser library (named ‘PX’) development by using component-based LR parsing technique together with using C# lambda to define language grammar and using technique that modify 'IL' code of the lambda so developer can follow the parser work directly from the...

Full description

Saved in:
Bibliographic Details
Main Author: ปิยพงษ์ สุวรรณสินธุ์
Other Authors: ผู้ช่วยศาสตราจารย์ ดร.วัชรี จำปามูล
Format: Independent Study
Language:Thai
Published: เชียงใหม่ : บัณฑิตวิทยาลัย มหาวิทยาลัยเชียงใหม่ 2020
Online Access:http://cmuir.cmu.ac.th/jspui/handle/6653943832/69090
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Chiang Mai University
Language: Thai
Description
Summary:This independent study presents a parser library (named ‘PX’) development by using component-based LR parsing technique together with using C# lambda to define language grammar and using technique that modify 'IL' code of the lambda so developer can follow the parser work directly from their integrated development environment (IDE). The library is intended to ease the process of creating component-based LR parser, the original one need many external parser generator tools. The library is developed with C# language on Windows operating system. The library is modified from existing ParserKit library. PX library structure contains two layers. The outer layer contains commands for defining language grammar with lambda and for controlling the parser. The grammar from outer layer is sent to the inner layer that was modified from the original LR parser to the component-based LR parser. The study creates a C# parser from using this library and tests speed of parsing compare with other C# parsers: Microsoft Roslyn (standard C# parser), Mono C#, ANTLR, Irony. Even the speed is on the second but when test size is less than 151.13 kilobytes; the study found that different time is less than 41 milliseconds. So at this speed the user should recognize the different between the two. By using this PX library, user can create a parser from C# code and benefits from familiar integrated development environment (IDE) and benefits from reducing work complexity. The speed results support that this library is possible and should be developed more in the future.