beancount-parser-lima may do a bit more than the existing core parser in 
Beancount proper.  It processes all the included files and returns a 
date-ordered list of all the directives, with all pragmas either processed 
or returned as a single Options structure.

It doesn't do the filling in of missing numbers, because that seems tricky 
indeed (and an application level thing not a parser level thing).  Nor 
plugins.

I'm currently making good progress with Python bindings, including some 
performance optimisations to reduce the number of allocations of Python 
objects.

On Thursday, 16 November 2023 at 00:29:01 UTC+13 bl...@furius.ca wrote:

> The c++ parser in V3 is pretty much done.
> This is other people writing a parser in rust.
>
> It's worth noting that n beancount the parser alone isn't that useful. 
> It's because beancount processes its data in two stages: parsing, which 
> produces roughly a data structure that matches the input, and then running 
> over the stream of transactions to fill in missing numbers and also running 
> all the plugins. The result of that is the final stream of transactions 
> that you can do queries on. The logic in the second part is where all the 
> complexity lies. I haven't ported that.
>
>
>
>
> On Wed, Nov 15, 2023, 04:54 Chary Chary <char...@gmail.com> wrote:
>
>> Martin,
>>
>> is this somehow alternative to the C++ parser, which you are working on 
>> in beancount v3?
>>
>> On Sunday, November 12, 2023 at 9:46:50 PM UTC+1 bl...@furius.ca wrote:
>>
>>> Thank you for sharing. Added to contrib doc.
>>>
>>>
>>> On Sun, Nov 12, 2023 at 3:15 PM Simon Guest <simong...@gmail.com> wrote:
>>>
>>>> Ahoy Beancounters!
>>>>
>>>> Of interest really only to developers, I created a new parser for 
>>>> Beancount in Rust, called beancount-parser-lima 
>>>> <https://docs.rs/beancount-parser-lima/latest/beancount_parser_lima/> 
>>>> (because 
>>>> I am aware it is not the first such).
>>>>
>>>> I'm currently actively working on this, with my current focus being 
>>>> adding Python bindings.
>>>>
>>>> So far it parses everything I have tried.  No support for plugins, 
>>>> because, well, it's purely Rust so far!  (Also no support so far for query 
>>>> and custom directives, unsure how important they are.)
>>>>
>>>> Performance and rich error reporting are the two headlines.
>>>>
>>>> Hopefully this may be useful for some.
>>>>
>>>> cheers,
>>>> Simon
>>>>
>>>> -- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "Beancount" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to beancount+...@googlegroups.com.
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/beancount/d63af5c5-2670-4a65-9a88-570dabbb19fbn%40googlegroups.com
>>>>  
>>>> <https://groups.google.com/d/msgid/beancount/d63af5c5-2670-4a65-9a88-570dabbb19fbn%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Beancount" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to beancount+...@googlegroups.com.
>>
> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/beancount/c82304a1-125a-4f93-a149-5717ce010079n%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/beancount/c82304a1-125a-4f93-a149-5717ce010079n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Beancount" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/f90b32ee-8226-46c9-831d-17450ac831e9n%40googlegroups.com.

Reply via email to