I've put a little thought into an article about parsing AML. You can check out my work-in-progress on my wiki page: http://wiki.osdev.org/User:Intx13#Recur ... AML_parser
I'd love some feedback as to whether this would be useful information to create a proper wiki page around. Is it too abstract? The wiki page on AML needs a lot of work, but I wanted to capture the parsing information while it was still fresh in my head. Thoughts?
AML parser article WiP
- BASICFreak
- Member
- Posts: 284
- Joined: Fri Jan 16, 2009 8:34 pm
- Location: Louisiana, USA
Re: AML parser article WiP
I'm going to say it's good, and I have been looking for this information - banging my head against the wall because of the manuals...
And I will say yes, once you are done you should make an official WiKi page for it.
I would recommend optimizations and no recursive code, but that's just me - the information is there and explained in an easy-to-comprehend way.
And I will say yes, once you are done you should make an official WiKi page for it.
I would recommend optimizations and no recursive code, but that's just me - the information is there and explained in an easy-to-comprehend way.
BOS Source Thanks to GitHub
BOS Expanded Commentary
Both under active development!
BOS Expanded Commentary
Both under active development!
Sortie wrote:
- Don't play the role of an operating systems developer, be one.
- Be truly afraid of undefined [behavior].
- Your operating system should be itself, not fight what it is.
Re: AML parser article WiP
I started with a recursive descent parser because the AML grammar (at least the first time you look at it) looks like a natural fit. If it weren't for implicit-length objects nested inside explicit-length objects and the awful MethodInvocation grammar, it would be easy to parse. "Pure" recursive descent parsing is pretty slow though. I'm not sure how much optimizations and inlining will speed it up, or if it just needs a different approach to be fast.