Skip to content

sleepyfran/tree-sitter-fsharp

 
 

Repository files navigation

tree-sitter-fsharp

===========================

F# grammar for tree-sitter based on the language spec

Requirements

  • Nodejs
  • a C compiler

See the tree-sitter getting started for details on these.

Development

Install dependencies

npm install

Generate the grammar

npm run generate

Run the tests

npm test

References

Progress (based on language spec sections)

  • whitespace
  • comments
  • conditional compilation
  • identifiers and keywords
  • [o] strings and characters
    • verbatim strings
    • triple-quote strings
    • verbatim bytearrays
  • symbolic keywords
  • symbolic operators
  • numeric literals
  • line directives
  • hidden tokens
  • identifier replacements
  • operator names
  • long idents
  • constants
  • operators and precedence
  • types and type constraints
  • expressions
  • patterns
  • type definitions
  • units of measure
  • namespaces and modules
  • namespace and module signatures
  • lexical filtering (maybe not necessary?)

About

A tree-sitter grammar for F#, derived from the [spec](https://fsharp.org/specs/language-spec/4.1/FSharpSpec-4.1-latest.pdf)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 100.0%