I love the idea of having your own library for lexing and parsing, dedicating the time to the actual language development. Guido van Rossum has a very nice series about implementing a left recursive PEG parser which can be adapted to register the parsing rules at runtime instead of generating a parser.
I just made my first contribution to one of your projects! A simple change, but still. I was impressed by how simple it was download and install, just followed the instructions and I got everything working in minute. Super easy to contribute. Great project! :)
Not even 5 minutes in, your explanation got me thinking of MUMPS from the old days when I was too young to know wtf a programming language was. Damn intellectual PTSD.
Might have said it before, but stb_c_lexer is NOT the super fast lexer Sean Barrett wrote in 2015 that involved state machine tables with an array for equivalent characters. It's easier to just implement the concept ourselves instead of waiting for Sean to have that fast version of the lexer in his library.
@ yes, performance when working with large timeseries datasets. It’s a pretty interesting challenging when incorporating panning/zooming, axis grid, triangulated lines, etc. And no, I have not really found one, just bits and pieces here and there.
@@delian66 Yes that's true lol I made a grammar for an assembly language once based on But How Do It Know by J. Clark Scott and that also used a self-made parser. Later in uni we had to make a yacc based parser for a simplified Ruby language, and that was a real struggle since there were little delimiting tokens to recognize expressions properly.
Regarding the breaking out of nested code like you mentioned early on in the video. I use goto statements for that. Create a label underneath the block of code to where you wish to escape to. From what I understand about goto statements, they shouldn’t be a problem as long as you jump downwards in your code. Use loops if you need to jump back upwards. Would you disagree with this methodology?
tbh im here to skip to the parts where there are pretty colors
a-who? a-meester a-zozin.
I love the idea of having your own library for lexing and parsing, dedicating the time to the actual language development. Guido van Rossum has a very nice series about implementing a left recursive PEG parser which can be adapted to register the parsing rules at runtime instead of generating a parser.
I just made my first contribution to one of your projects! A simple change, but still. I was impressed by how simple it was download and install, just followed the instructions and I got everything working in minute. Super easy to contribute. Great project! :)
Not even 5 minutes in, your explanation got me thinking of MUMPS from the old days when I was too young to know wtf a programming language was.
Damn intellectual PTSD.
I'm glad you took the project in this direction.
Great series! 😃
I wonder if the same/similar approach can be used to generate random music?
I think that grammar approach might make a good fantasy name generator. But tsodinh already made one in C3.
Might have said it before, but stb_c_lexer is NOT the super fast lexer Sean Barrett wrote in 2015 that involved state machine tables with an array for equivalent characters.
It's easier to just implement the concept ourselves instead of waiting for Sean to have that fast version of the lexer in his library.
Another stream on making this into a music visualizer would be really cool
nom in rust is great for this kind of parsing
135k subs? since when? deserved!
Hello Mr. rexim. What do you think of tools like GNU Bison and Yacc for lexing/parsing in C?
I once used the mpc parser generator following the buildyourownlisp tutorial.
Managers sure love having him on their team to boss around xD
1:08:10 amen it's still better than C++
I think numbers would be better instead for setting probabilities (that's just my opinion). Something like '|*3' or '3|' you get the idea.
I'm only a year younger than you, and I've NEVER heard anyone(in Russia) refer to the quote marks as paws or pines 😂
This could be a gamechanger for creating video backgrounds for product shoots and it just shouts apple
For my own safety a little disclaimer: I do NOT like apple.
@@flobuilds no one cares
@@delian66 good so
39:33 🤣
This is really interesting! Who are you working for?
can you make a chart/plotting library using shaders to plot lines and grids?
Why? Performance? I always wanted an STB style single header plotting library. Do you know one?
@ yes, performance when working with large timeseries datasets. It’s a pretty interesting challenging when incorporating panning/zooming, axis grid, triangulated lines, etc. And no, I have not really found one, just bits and pieces here and there.
I wonder what it would look like if time kept going, instead of ping-ponging with sine.
He showed case when he used time.. it goes into "infinity" and it basically stabilise into non moving colours
2:45:26
Called Guillements
Why not use existing parsers like yacc/bison?
because they are too complex for no good reason
also the programming experience with them is very far from "recreational programming" ... it is more like "frustrating torturous adventure"
@@delian66 Yes that's true lol
I made a grammar for an assembly language once based on But How Do It Know by J. Clark Scott and that also used a self-made parser.
Later in uni we had to make a yacc based parser for a simplified Ruby language, and that was a real struggle since there were little delimiting tokens to recognize expressions properly.
Thank you....
Regarding the breaking out of nested code like you mentioned early on in the video.
I use goto statements for that.
Create a label underneath the block of code to where you wish to escape to.
From what I understand about goto statements, they shouldn’t be a problem as long as you jump downwards in your code.
Use loops if you need to jump back upwards.
Would you disagree with this methodology?
I miss Haskell ☹️
Can this guy recreate my mama?
Can your Rust do that?!?
This guy programs on a windows 95 pc in his basement xD