Skip to content

hsk/lr-parser-ocaml

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LRパーサジェネレータ

これは何? LR1 LALR1 のパーサジェネレータです。元のTypeScriptのパーサジェネレータ http://tatamo.81.la/blog/tags/parser-generator/ を Scala に移植した後に OCaml に移植したものです。 リファクタリングしてできるだけわかりやすくするようにしています。

目標は、字句解析と、パーサと、パーサジェネレータを分離してLR構文解析を理解しやすくすることです。 高速性能を求めず、できるだけ単純な構造を目指します。

lexerのフォルダがまずあって、parserが次にあります。あとはパーサジェネレータと全体のテストがあります。 リファクタリング途中でごちゃごちゃしているのですが、わかりやすくしていきたいと考えています。

ビルド

OCaml が必要で、OUnitをテストに使っています。

opam install ounit

字句解析のみのテストは以下のように行います。

cd lexer
make
cd ..

パーサのみのテストは以下のようにします。

cd parser
make
cd ..

全体のテストは以下のようにします。

make

ライセンス

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published