1 нестабильный релиз

0.1.0 18 янв. 2022

#9 в #dft

MIT лицензия

16KB
328 строк кода, без комментариев

dft.p

парсер файлов инструкций dft

описание

этот проект lib/bin — официальное средство для парсинга, lint и исправления файлов .dft

почему

во время работы над проектом dft я понял 2 вещи

  • инструмент dft сам не должен отвечать за парсинг файла инструкций, но скорее за его выполнение

  • я еще не сделал парсер, так что... вот один

грамматика (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

[] Улучшить комбинаторы, возвращающие списки [] Улучшить verbosity ошибок

Зависимости

~1MB
~19K SLoC