Blender’s C code for reading the file format: ./source/blender/blenloader/intern/readfile.c
A Python only blend file parser: ./source/tools/modules/blendfile.py
As for materials/procedural nodes, You don’t state if this is for eevee / cycles.
Check the commit history on files that define nodes/procedural textures.
It would help to give some more details on what you’re doing since file format and textures are general areas - more detailed answer depend on what you’re doing exactly.
For the nodes it would be for cycles I guess. I am really just interested in the noise types and other procedure generation. not really the materials. I want to understand how these work so that I can use them in games for procedural world generation.
I will be happy to put together some docs on the .blend file structure if you think the community would be interested.
FYI, my coding is in C++. I don’t know python and honestly have no interest in learning it.