Yoxem / ts-parsec

add function

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ts-parsec

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Using ts-parsec with npm

npm install -g typescript-parsec

Building this repo

yarn
yarn build
yarn test

Packages

  • ts-parsec: Parser combinator for TypeScript
  • tspc-test: Unit test project
  • tspc-utilities: Code generator for developing ts-parsec
    • At this moment, running npm run update will write overloadings for alt and seq for you

Introduction

ts-parsec is a parser combinator library prepared for typescript. By using this library, you are able to create parsers very quickly using just a few lines of code. It provides the following features:

  • Tokenizer based on regular expressions. This tokenizer is designed for convenience. For some cases its performance may be unsatisfying. In this case, you could write your own tokenizer. It is very easy to plug your tokenizer into ts-parsec.
  • Parser combinators.
  • The ability to support recursive syntax.

You are recommended to learn EBNF before using this library.

Please read Getting Started for ramping up, or our document page for deeper understanding.

More Examples

In the Future

Following combinators will be released soon:

  • A context sensitive apply combinator.

Context sensitive tokenizer is also comming.

About

add function

License:Other


Languages

Language:TypeScript 100.0%