View Issue Details

IDProjectCategoryView StatusLast Update
0005573DarkRadiantSaving and loadingpublic24.03.2021 18:16
Reportergreebo Assigned Togreebo  
PrioritynormalSeveritynormalReproducibilityN/A
Status closedResolutionwon't fix 
Product Version2.11.0 
Summary0005573: Research possibilities to let the material declaration parser work with parse trees
DescriptionFor manipulating existing .mtr declarations with the goal of keeping the rest of the file (or even the unmodified parts of the material declaration) intact, a library supporting parse trees might be useful.

This is a research topic that will remain in a separate branch until it proves to be useful. As first research candidate I'll pick the PEGTL framework which is header-only, MIT-licensed and available as Debian package.
TagsNo tags attached.

Relationships

related to 0005565 closedgreebo Material Editor: Save/Export Handling 

Activities

greebo

greebo

24.03.2021 18:15

administrator   ~0013804

Turns out the basic DEF block parsing (without parsing any of the keywords within the material block), is 10x slower, even in release builds. Since this won't really improve when the parsing rules get more sophisticated to cover stages and other keywords, I guess this experiment is reaching its end for now.

Related Changesets

DarkRadiant: pegtl_integration 6c46edd3

24.03.2021 18:09

greebo


Details Diff
0005573: Experimental PEGTL integration. Parsing works but speed (just cutting out the def blocks) is one order of magnitude than using the DefBlockTokeniser, taking almost 30 seconds here in my debug environment. Affected Issues
0005573
mod - radiantcore/shaders/ShaderFileLoader.h Diff File
add - radiantcore/shaders/parser/Grammar.h Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj.filters Diff File
add - tools/msvc/properties/pegtl.props Diff File

Issue History

Date Modified Username Field Change
24.03.2021 10:02 greebo New Issue
24.03.2021 10:02 greebo Status new => assigned
24.03.2021 10:02 greebo Assigned To => greebo
24.03.2021 10:02 greebo Relationship added related to 0005565
24.03.2021 18:13 greebo Changeset attached => DarkRadiant pegtl_integration 6c46edd3
24.03.2021 18:15 greebo Note Added: 0013804
24.03.2021 18:16 greebo Status assigned => closed
24.03.2021 18:16 greebo Resolution open => won't fix