dftp 0.1.0

dft instructions parser
Documentation
  • Coverage
  • 0%
    0 out of 94 items documented0 out of 31 items with examples
  • Size
  • Source code size: 28.45 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 7.6 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 17s Average build duration of successful builds.
  • all releases: 17s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • jaimecgomezz/dft.p
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • jaimecgomezz

dft.p

dft instructions file parser

description

this lib/bin project is the official tool to parse, lint and fix .dft files

why

while working in the dft project I realized 2 things:

  • the dft tool itself shouldn't be responsible of parsing the instructions file, but rather the execution itself

  • haven't made a parser yet, so... here's one

grammar (BNF)

:= | ;

:= ; ;

:= ;

:= SET | ADD | ALIAS | MERGE | IGNORE | RENAME | FILTER | COERCE | DISTINCT | VALIDATE ;

:= | , ;

:= String ;

:= | ;

:= ;

:= OR | TO | TYPED | RESCUE | DEFAULT | MATCHING ;

:= | | | | ;

:= f64 | String | bool | isize ;

:= FLOAT | STRING | INTEGER | BOOLEAN ;

:= URI | UUID | DATE | TIME | EMAIL | DATETIME ;

:= HALT | NOTIFY | DISCARD ;

:= EQUALS | LESSER | DIFFERS | GREATER | EQLESSER | EQGREATER ;

TODO

[] Improve combinators that return lists [] Improve error verbosity