diff --git a/src/parser/A3t.h b/src/parser/A3t.h index a54178cb8..17440fabd 100644 --- a/src/parser/A3t.h +++ b/src/parser/A3t.h @@ -56,6 +56,16 @@ private: void findOperator (); void validate (); + // TODO Resolve aliases + // TODO Inject defaults + // TODO Extract filter + // TODO Extract words + // TODO Extract modifications + // TODO Prepare infix + // TODO Expand operators + // TODO Expand sequence + // TODO Convert to postfix + private: Tree* _tree; std::multimap _entities; diff --git a/src/parser/args.cpp b/src/parser/args.cpp index 5d38862bd..d0435db5e 100644 --- a/src/parser/args.cpp +++ b/src/parser/args.cpp @@ -74,10 +74,15 @@ int main (int argc, char** argv) // Attributes (columns). a3t.entity ("attribute", "description"); a3t.entity ("attribute", "due"); + a3t.entity ("attribute", "duration"); // UDAs are included. + a3t.entity ("attribute", "end"); + a3t.entity ("attribute", "entry"); a3t.entity ("attribute", "priority"); a3t.entity ("attribute", "project"); + a3t.entity ("attribute", "scheduled"); + a3t.entity ("attribute", "start"); a3t.entity ("attribute", "uuid"); - a3t.entity ("attribute", "duration"); // UDAs are included. + a3t.entity ("attribute", "wait"); // Pseudo-attributes. a3t.entity ("pseudo", "limit"); diff --git a/src/parser/run b/src/parser/run index 4b91c886e..ebf8d4e6e 100755 --- a/src/parser/run +++ b/src/parser/run @@ -1,5 +1,7 @@ +# Expression tests: #./parser $* grammar.bnf 123 mod pro:H +# 2.0.0 command line tests: #echo; ./args rc:x rc.debug:1 rc.hyphenate:off list pro:foo "(du<123.due or due.aft:som)" and entry '>'8/31/2011 +2w+1d /pattern/ #echo; ./args rc:x rc.debug:1 rc.hyphenate:off list "pro:foo (du<123.due or due.aft:som) and entry >8/31/2011 +2w+1d /pattern/" #echo; ./args rc:x rc.debug:1 1-3,5 7 or +tag modify pri:H /from/to/g -tag @@ -8,7 +10,9 @@ #echo; ./args rc:x rc.debug:1 1234 done pri:H #echo; ./args rc:x rc.debug:1 a.b\