Hello, everyone, I've managed to extend my Bithenge FAT script[0] to decode all major information from FAT16 filesystems, including the directory tree and file contents. At least, it works on Linux; running it on initrd.img in HelenOS causes a memory access error partway through, possibly due to stack overflow. I will investigate this issue. Another problem is that mainline r1598 seems to have broken libblock (try "blkdump bd/initrd" or "bithenge fat.bh block:bd/initrd").
The FAT script required a number of new features, including inputless and partial transforms, subblob and member expressions, and, or, and concatenation operators, and self-recursion. I will document these features while creating the new wiki pages, as explained below. Although the FAT script is much more concise than, say, a C version would be, it has revealed some areas where the Bithenge syntax could still be improved. Yet again, my plan was too optimistic: after thinking about C generation I realized it would require some sort of type inference, and the most flexible design might even require a virtual machine. I focused on the FAT script instead. This week, up until the 20th, is devoted to finishing what already exists rather than adding new functionality. I plan to: - Move the library parts of Bithenge from /uspace/app/ to /uspace/lib/. Where should test code go? - Fill out the wiki documentation. I will create a number of pages under Bithenge/ with an overview and detailed information about syntax, the API, internals, design decisions and limitations, and future ideas. - Write a small test suite. I find SQLite's testing[1] inspiring; I can't reach anywhere near that level, but I would at least like to use Valgrind automatically. I will fix bugs I find while testing. - Double check the Doxygen comments for all public functions and types. I will run Doxygen to make sure I haven't added errors accidentally. Thanks, Sean Bartell [0] https://bazaar.launchpad.net/~wtachi/helenos/bithenge/view/head:/uspace/dist/src/bithenge/fat.bh [1] https://www.sqlite.org/testing.html _______________________________________________ HelenOS-devel mailing list [email protected] http://lists.modry.cz/cgi-bin/listinfo/helenos-devel
