mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-08-20 04:13:07 +02:00
Cleanup
- Converted grammar.bnf to the EBNF used by Parser.
This commit is contained in:
parent
b55eaf8f16
commit
c28c698bbf
1 changed files with 26 additions and 60 deletions
86
grammar.bnf
86
grammar.bnf
|
@ -1,69 +1,35 @@
|
||||||
|
|
||||||
This is a full BNF grammar for the task command line. It is intended that a
|
# This is a full BNF grammar for the task command line. It is intended that a
|
||||||
future release of task will incorporate a complete lexer/parser implementing
|
# future release of task will incorporate a complete lexer/parser implementing
|
||||||
this grammar.
|
# this grammar.
|
||||||
|
|
||||||
|
command ::= simple_command
|
||||||
|
| filter_command filter?
|
||||||
|
| id_command
|
||||||
|
| "export" file
|
||||||
|
| <id>
|
||||||
|
| <id> <substitution>
|
||||||
|
|
||||||
command:
|
simple_command ::= "version" | "help" | "projects" | "tags" | "next" | "stats"
|
||||||
VERSION
|
| "color" ;
|
||||||
| HELP
|
|
||||||
| PROJECTS
|
|
||||||
| TAGS
|
|
||||||
| SUMMARY
|
|
||||||
| HISTORY
|
|
||||||
| NEXT
|
|
||||||
| CALENDAR
|
|
||||||
| ACTIVE
|
|
||||||
| OVERDUE
|
|
||||||
| STATS
|
|
||||||
| USAGE
|
|
||||||
| OLDEST
|
|
||||||
| NEWEST
|
|
||||||
| EXPORT <file>
|
|
||||||
| COLOR
|
|
||||||
| DELETE <id>
|
|
||||||
| UNDELETE <id>
|
|
||||||
| INFO <id>
|
|
||||||
| START <id>
|
|
||||||
| DONE <id>
|
|
||||||
| ADD [<tags>] [<attrs>] [<desc>]
|
|
||||||
| LIST [<tags>] [<attrs>] [<desc>]
|
|
||||||
| LONG [<tags>] [<attrs>] [<desc>]
|
|
||||||
| LS [<tags>] [<attrs>] [<desc>]
|
|
||||||
| COMPLETED [<tags>] [<attrs>] [<desc>]
|
|
||||||
| <id> [<tags>] [<attrs>] [<desc>]
|
|
||||||
| <id> <substitution>
|
|
||||||
|
|
||||||
id:
|
filter_command ::= "summary" | "history" | "calendar" | "active" | "overdue"
|
||||||
\d+
|
| "oldest" | "newest" | "add" | "list" | "long" | "ls"
|
||||||
| \d{8}-\d{4}-\d{4}-\d{12}
|
| "completed" ;
|
||||||
|
|
||||||
tags:
|
id_command ::= "delete" | "undelete" | "info" | "start" | "end" | "done"
|
||||||
+<tag>
|
| "undo" ;
|
||||||
| -<tag>
|
|
||||||
|
|
||||||
tag:
|
filter ::= filter_part+ ;
|
||||||
\w+
|
|
||||||
|
|
||||||
attrs:
|
filter_part ::= tag_add | tag_remove | attribute | word ;
|
||||||
<attr>
|
|
||||||
| <attr> <attrs>
|
|
||||||
|
|
||||||
attr:
|
tag_add ::= "+" word ;
|
||||||
<name>:<value>
|
tag_remove ::= "-" word ;
|
||||||
|
attribute ::= word ":" word ;
|
||||||
name:
|
word ::= ...
|
||||||
\w+
|
file ::= ...
|
||||||
|
id ::= digit+ ;
|
||||||
value:
|
digit ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ;
|
||||||
.+
|
substitution ::= "/" word+ "/" word* "/" ;
|
||||||
|
|
||||||
substitution:
|
|
||||||
/ <pattern> / <pattern> /
|
|
||||||
|
|
||||||
pattern:
|
|
||||||
.+
|
|
||||||
|
|
||||||
file:
|
|
||||||
?
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue