Daniele Nicolodi
Daniele Nicolodi
This is a proof of concept for an extension to setuptools that compiles a TatSu grammar into a python module at build time. I added an example of how it...
See also https://github.com/beancount/beangulp/pull/101
Currently, the following ledger is not valid: ``` 1970-01-01 open Equity:Opening-Balances 2022-01-01 open Assets:Foo 2022-01-01 pad Assets:Foo Equity:Opening-Balances 2022-01-01 balance Assets:Foo 1.00 USD ``` because the `pad` directive is sorted...
I went ahead and implemented the `include` directive as a literal include. The code is simpler than the existing and the end result should be much less surprising. I cannot...
The existing `include` directive has several limitations and its behavior is counterintuitive. Add an `#include` directive that works similarly as the C preprocessor homonym directive and hopefully less surprisingly. Other...
Meson
Technology preview of how the Meson build looks like. I gave up on integrating the Bison build, it is a build time only dependence and I compile it on the...
The sorting gets in the way of scripts that try to programmatically update the ledger. It is not a big deal because the original order can be obtained sorting again...
This is mostly a proposal to understand if something like this may be desirable. The idea would be to have a way to disable strict parsing in v2 and make...
The lexer recognizes the `!&#?%PSTCURM` characters as flags. Despite the comment above the code this is a different set of characters than the one in `beancount.core.flags`, which is restricted to...
The code that checks the formatting of numerical values parsing looks like this (simplified from lexer.py): ``` match = re.match(r"([\d,]*)(\.\d*)?$", number) int_string, float_string = match.groups() reformatted_number = r"{:,.0f}".format(int(int_string.replace(",", ""))) if...