Issue #369: Syntax documents out of sync (blais/beancount)

25 views
Skip to first unread message

Tyler Wilcock

unread,
Jan 28, 2019, 1:08:14 AM1/28/19
to bean...@googlegroups.com
New issue 369: Syntax documents out of sync
https://bitbucket.org/blais/beancount/issues/369/syntax-documents-out-of-sync

Tyler Wilcock:

Hi there! I'm currently writing a Beancount parser in Rust and was a bit confused by the available documentation (which, minus this slight inconsistency, is *amazing*).

In the [syntax cheat sheet](https://docs.google.com/document/d/1M4GwF6BkcXyVVvj4yXBJMX7YFXpxlxo95W6CpU3uWVc/edit#), you see symbol combinations that do not exist in the [language syntax document](https://docs.google.com/document/d/1wAMVrKIA2qtRGmoVDSUBJGmYZSygUaR0uOMW1GV3YE0/edit#heading=h.mtqrwt24wnzs) and vice versa.

Constructs that appear in the cheat sheet but make no appearance in the full syntax guide:
* `{{<amount> <commodity_type>}}` to represent total cost. `{{5021.20 USD}}`
* `{<total_cost> # <per_unit_cost> <commodity_type>}` to represent what (I'm guessing?) is both total cost *and* per unit cost. `10 GOOG {502.12 # 9.95 USD}`. As a side note, this example (taken right from the cheat sheet) is a little confusing. What part is the total cost? What part is the per-unit cost? It seems inconsistent relative to the other examples...but maybe I'm interpreting the documentation wrong.
* `{<per_unit_cost>, <date>}` - `10 GOOG {502.12 USD, 2014-05-12}`

Constructs that appear in the full syntax guide but not in the cheat sheet:
* `@@`
```
2012-11-03 * "Transfer to account in Canada"
Assets:MyBank:Checking -400.00 USD @@ 436.01 CAD
Assets:FR:SocGen:Checking 436.01 CAD
```
* Costs that have a label.
```
2014-02-11 * "Bought shares of S&P 500"
Assets:ETrade:IVV 20 IVV {183.07 USD, "ref-001"}
```

Which one is accurate? Are all these valid language constructs I should build into my parser?


Reply all
Reply to author
Forward
0 new messages