> Ah, yes, I'm trying to make it so that I can download, tokenize, parse
and verify in a streaming fashion. That makes my code slightly different
from most other verifiers.

I had a go at this.  You can see my attempt here:
https://github.com/Antony74/mm-streaming-parser

I'm getting an error

set.mm downloaded 0.0MB/40.8MB
C:\mm\mm-streaming-parser\node_modules\nearley\lib\nearley.js:295
                var err = new Error(this.reportLexerError(e));
                          ^
Error: invalid syntax at line 22 col 1:

20
21
22  $( !
    ^
23
 #*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
24    Metamath source file for logic and set theory
Unexpected input (lexer error). Instead, I was expecting to see one of the
following:

This looks a lot like the following bug report
https://github.com/kach/nearley/issues/575

The theory is that

> nearley is probably able to handle streaming properly. But moo is not.

Still, I feel like I was close.  A streaming parser would solve all of the
issues I was bemoaning here

https://groups.google.com/g/metamath/c/mFrNOFa7n8c/m/HkYkyJMaBAAJ

And makes it a concern of the parser rather than something we have to worry
about, which would be lovely!

    Best regards,

        Antony

On Sat, Dec 3, 2022 at 12:27 AM sgoto <[email protected]> wrote:

>
>
> On Tue, Nov 29, 2022 at 1:16 PM Antony Bartlett <[email protected]> wrote:
>
>> Yes, very impressive!  And yes, I believe the client-side proof explorer
>> does break new ground - I was edging in that direction, but quite slowly.
>> Is the (React) source code for that around anywhere?
>>
>
> The source code is available on my website (I don't obfuscate it) if you
> are curious enough to dig into it, but I can probably make it more
> accessible/reusable/decent if that's something that's desirable.
>
> Here it goes: https://code.sgo.to/static/mm.js
>
> Is that something of interest?
>
> I see you're trying to get it all streaming, presumably so you can parse
>> and display proofs as soon as that part of the file is downloaded without
>> having to wait for the whole thing to arrive (a download progress bar would
>> be great too).
>>
>
> Ah, yes, I'm trying to make it so that I can download, tokenize, parse and
> verify in a streaming fashion. That makes my code slightly different from
> most other verifiers.
>
> I wrote a couple of parsers (a BNF parser and a recursive descendent
> parser): surprisingly, that's taking up most of the time. Need to think a
> bit more how to make my recursive descent parser be able to be a streaming
> one.
>
>
>> All things I was planning to do eventually.
>>
>> Nice to see standard lexer and parsing tools in your verifier too.  Would
>> you consider adding a licence to the package.json file?  It looks very
>> reusable!
>>
>>
> Ah, yes, will do! I just need to go through a few things but will get back
> to you with an open source license here. Will report back!
>
> Cheers to you all, you guys rock,
>
> Sam
>
>
>>    Best regards,
>>
>>         Antony
>>
>> On Tue, Nov 29, 2022 at 9:47 AM Samuel Goto <[email protected]> wrote:
>>
>>> Hey all,
>>>
>>>    I accidentally ran into metamath and immediately fell in love with
>>> the concept. I started building a parser, a verifier and some
>>> visualizations to help me understand how and why it worked.
>>>
>>>    It is not much different from what has already been posted before
>>> (except, maybe, that's all done client-side on the web), but I figure you'd
>>> all appreciate an independent parser, verifier and visualizer out there.
>>>
>>>    So, here it goes:
>>>
>>>    Source Code
>>>    https://github.com/samuelgoto/metamath
>>>
>>>     Set.mm's client-side verification (takes ~1 min in my macbook m1)
>>>     https://code.sgo.to/2022/11/26/set.mm.html
>>>
>>>     2p2e4 Visualization (takes a while to load, but once it does, you
>>> can navigate easily)
>>>     https://code.sgo.to/2022/11/26/2p2e4.html
>>>
>>>     Hoffstader's systems:
>>>     https://code.sgo.to/2022/04/17/hofstadter-tq.html
>>>     https://code.sgo.to/2022/04/13/hofstadter-pq.html
>>>     https://code.sgo.to/2022/04/12/hofstadter-miu.html
>>>
>>>     If you dig into my blog, you'll likely find why I ran into metamath
>>> and why I find it so interesting: https://code.sgo.to/
>>>
>>>     Good stuff you all,
>>>
>>>     Hope this helps,
>>>
>>>     Sam
>>>
>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Metamath" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/metamath/23d122fd-021d-4e59-9281-b485d687c047n%40googlegroups.com
>>> <https://groups.google.com/d/msgid/metamath/23d122fd-021d-4e59-9281-b485d687c047n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Metamath" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/metamath/CAJ48g%2BBkK%2B2p%3D4K4wdwdZXZWx8kOqKMgz%3DHz9FderKFxCmKfpQ%40mail.gmail.com
>> <https://groups.google.com/d/msgid/metamath/CAJ48g%2BBkK%2B2p%3D4K4wdwdZXZWx8kOqKMgz%3DHz9FderKFxCmKfpQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>
>
> --
> f u cn rd ths u cn b a gd prgmr !
>
> --
> You received this message because you are subscribed to the Google Groups
> "Metamath" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/metamath/CAO2BRF9MGjWefEO_ghxp_uHAmBrUTiYwxn36AXUE%2BQ415yLqCw%40mail.gmail.com
> <https://groups.google.com/d/msgid/metamath/CAO2BRF9MGjWefEO_ghxp_uHAmBrUTiYwxn36AXUE%2BQ415yLqCw%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"Metamath" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/metamath/CAJ48g%2BDWkJ8nS_k92TFcLH3zg%3DHbF6uzG6NCNuH%3D7Q21N%3DMmCg%40mail.gmail.com.

Reply via email to