Skip to content

Evref-BL/FAST-YAML

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

FASTYAML

FASTYAML is a recently created project that integrates with Moose and leverages the Tree-Sitter parser to analyze YAML source code in Pharo.

Features

FASTYAML relies on:

  • FAST, to ensure compatibility with Moose.
  • Pharo-Tree-Sitter, implemented in Pharo via the FFI protocol to efficiently parse YAML source code. It is also used to do incremental parsing.

FASTYAML metamodel is defined in a way where nodes align with those generated by Tree-Sitter.

Installation

To load FASTYAML in Pharo, execute the following in a Moose image:

Metacello new  
  baseline: 'FASTYAML';  
  repository: 'github://Evref-BL/FAST-YAML:main';  
  load.

Usage

To use it, please ensure that you have installed the corresponding libraries for Tree Sitter on your machine, to ensure parsing succeeds. Normally, this has been automated for different operating systems. But for more details, you can have a look at this blog-post.

To use it in Pharo, you can check example below:

res := FASTYAMLParser new parse:  '---
# A sample yaml example'. 

NB

The project is still at the very beginning. But at least now it can parse and generate a basic model of FASTYAML. Still need to:

  • Reorder classes
  • Add new properties
  • Check traits
  • Add tests

Your contribution is more than welcome. Happy coding with YAML :)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors