Age | Commit message (Collapse) | Author |
|
I've redid the compiler to use a FILE object pointer, which means that
we can leave error checking for FILES on the main program.
Furthermore, I've removed the use of the array_t type with a two pass
system. One pass is done for the number of lines (along with potentially
other diagnostics), another is done for the actual compilation. This
means at runtime we have an understanding about the size of the file and
can optimize for it. Also, we have a single memory block to assign to,
where we know the size of the array.
|
|
Uses the dynamic array to alleviate the burdens of computing specific
memory sizes. Terminates lines for parsing.
|
|
Doesn't work very well
|
|
Set compiled token recipes in the compiler.h file (easier to manage) and
let code handle the rest.
|
|
|
|
|
|
This will check if a given character is a valid plain text token (*, _).
This will allow me to abstract away and assess if some plain text needs
to be further processed
|
|
This algorithm looks for substrings in a big string, attempting to find
the index of the first occurence.
|
|
This routine will handle asterisks and bullet points.
Works by checking characters at each step.
Also has diagnostics by checking for matching characters. If a matching
asterisk, for example, isn't found then present an error and quit.
|
|
compiler.h holds definitions necessary for compiling markdown,
compiler.c the implementations.
Moved implementation of compile_line to compiler.h and compiler.c respectively.
|