3 <!-- S x | y | z | S + S | S - S | S * S | S/S | (S)
19 <!-- command -opts (token -opts(token))
41 <!-- a token inside of a command means a descriptor -->
51 <!-- a token inside of a token means the actual XML -->
65 <!-- command -opts (token -opts(token)) -->
69 create(entry -entrynum -journal -date (
71 create(debit -entry -account -amount),
73 create(credit -entry -account -amount),
75 create(credit -entry -account -amount)
79 create(journal -name(entry,entry,...));
81 create(transaction -date(entry,entry,...));
83 create(account -name -type -counterweight(debit|credit,...));
95 - this command has the same syntax as 'ADD' except the semantics are reversed
99 - only <entry/> can be reversed. however the syntax is the same
103 add((load(journal -name)) entry, entry,...);
105 add((transaction) entry, entry,...);
107 add((entry) debit,...);
109 add((entry) credit,...);
111 add((account) debit,...);
113 add((account) credit,...);
129 load(transaction -id);
131 load(journal -id | -name);
133 load(account -id | -name);
143 Right now, there are no conditionals, so find will only return results that meet exactly the criteria.
147 Some conditionals might look like:
151 Number <, >, <=, >=, ==, !=
153 Date <, >, <=, >=, ==, !=
157 find((token.literal) debit -entry -account -amount);
159 find((token.literal) credit -entry -account -amount);
161 find((token.literal) entry -entrynum -journal -date);
163 find((token.literal) transaction -date);
165 find((token.literal) journal -name);
167 find((token.literal) account -name -type -counterweight);
177 list((token.literal) debit -entry -account -amount);
179 list((token.literal) credit -entry -account -amount);
181 list((token.literal) entry -entrynum -journal -date);
183 list((token.literal) transaction -date);
185 list((token.literal) journal -name);
187 list((token.literal) account -name -type -counterweight);
197 update((token.literal) debit -entry -account -amount);
199 update((token.literal) credit -entry -account -amount);
201 update((token.literal) entry -entrynum -journal -date);
203 update((token.literal) transaction -date);
205 update((token.literal) journal -name);
207 update((token.literal) account -name -type -counterweight);