Metadata-Version: 2.4
Name: tree-sitter-fpcore
Version: 0.1.1
Summary: FPCore 2.0 grammar for tree-sitter
Author: Andrea Gilot
License: MIT
Project-URL: Homepage, https://github.com/agilot/tree-sitter-fpcore
Keywords: incremental,parsing,tree-sitter,fpcore
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Compilers
Classifier: Topic :: Text Processing :: Linguistic
Classifier: Typing :: Typed
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: core
Requires-Dist: tree-sitter~=0.24; extra == "core"
Dynamic: license-file

# tree-sitter-fpcore

[![CI][ci]](https://github.com/agilot/tree-sitter-fpcore/actions/workflows/ci.yml)
[![crates][crates]](https://crates.io/crates/tree-sitter-fpcore)
[![npm][npm]](https://www.npmjs.com/package/tree-sitter-fpcore)
[![pypi][pypi]](https://pypi.org/project/tree-sitter-fpcore)

[FPCore 2.0](https://fptalks.org/spec/fpcore-2.0.html) grammar for [tree-sitter](https://tree-sitter.github.io).


## References

- [FPCore 2.0](https://fptalks.org/spec/fpcore-2.0.html)
- [FPBench 2.0 design doc](https://docs.google.com/document/d/10hUeZ5cUxj4fzsqSvhC98ZtNPNRaGckDJq6yau1Kc_M/edit)
- [FPBench reference implementation](https://github.com/FPBench/FPBench)

## Grammar notes


1.  The standard says a property value is `data` (`symbol | number | string | (data*)`), but also notes that implementations
may want to special-case properties whose values are expressions. This grammar
parses the values of `:pre`, `:spec` and `:alt` as expressions.

2. `MAXFLOAT` and `HUGE_VAL` are recognized as constants
alongside the 17 in the standard, matching the reference implementation.

3.  The standard gives an ASCII-only regex but describes symbols as
sequences of letter*, digits and punctuation; non-ASCII code points are
accepted as letters, since benchmarks use symbols such as `ε`.

[ci]: https://img.shields.io/github/actions/workflow/status/agilot/tree-sitter-fpcore/ci.yml?logo=github&label=CI
[crates]: https://img.shields.io/crates/v/tree-sitter-fpcore?logo=rust
[npm]: https://img.shields.io/npm/v/tree-sitter-fpcore?logo=npm
[pypi]: https://img.shields.io/pypi/v/tree-sitter-fpcore?logo=pypi&logoColor=ffd242
