Github: github.com/JettChenT/timeblok
Hi! 为了更好地安排我的寒假时间,我花了一个多月学了学编译原理,并写了一个能够让用户通过纯文本管理日程的语言。
现在基本功能也差不多做出来了(终于可以计划我那所剩无己的寒假了),所以就来 v2 上发一下,请多多指教!
具体而言,我设计了一个声明式的 DSL, 在编译器编译之后能导出一个 .ics 文件,这个文件格式大部分日历 app 都支持。
举个例子,若我想要安排下个学期 (2/17 到 6/30) 的日程,可以这样写:
2023--
-2-16 开学
{-2-17 ~ -6-30 and workday}
6:30am 起床
5pm 回家
{sun}
4pm~5pm 每周回顾
编译后,这就可以直接导入到你的日历 APP 里:
具体的语言设计等文档在 README 里。
感兴趣的话, 欢迎各位在 github 上贡献和在这里讨论!
1
loading 2023-02-10 12:57:45 +08:00 via Android
看看 todo.txt
|
2
lookStupiToForce 2023-02-10 15:37:53 +08:00
请问 OP ,有没有国家法定节假日的关键字或者可以自定义一个国家法定节假日的变量,用在示例里的 workday 那儿啊?😂
|
3
dddys 2023-02-10 15:49:13 +08:00
这是 DSL ,并不能算是 language
|
4
JettChen OP @lookStupiToForce 正准备通过 workalendar 支持这个功能!这个[issue]( https://github.com/JettChenT/timeblok/issues/7) 里面有 track
|
6
whileFalse 2023-02-11 11:57:43 +08:00 via iPhone
这是为了 dsl 而 dsl 吧…看示例感觉 yaml 就足够方便了
|
7
missdeer 2023-02-11 12:29:21 +08:00
感觉这个需求不需要编译原理,当然用了编译原理更硬核
|