The idea started as intention to code the web pages in any language you prefer. You simply mix any programming language commands with HTML tags as is and run the files through preprocessor which surrounds the HTML tags with a write to file commands
Next I had been suggested to generalize the idea in kind of search and replace language. I’ve named it IML - The Internet Markup Language
Example
iml_start
// The first line of valid iml file should be iml_start
iml_search_and_replace_start
// Define a search and replacement structure
iml_search_start = <&&>
// Define a first pattern to match
// && means anything
iml_search_end = </&&>
iml_replace_start
// .this means the found string
// .output means the produced string
// replace will find and replace the defined in statement strings
replace.in.this " with /"
.output = write(“.this”);
iml_replace_end
iml_search_and_replace_end
// the iml_search and iml_replace blocks should strictly follow each other
iml_body_start
Mix HTML and C as you prefer
You can just write any tags as is, next they’ll be simply replaced with a C write to file commands. After the file is preprocessed it is send to regular C compiler
For example, you can write
if ( a > 2 ){
A is bigger than 2
}This way you don’t need either <% %> no PHP, you may code the web pages in any language at all
You should learn nothing at all. Until you keep writing the web pages in C only, you should simply use the same IML header which tells the precompiler how to replace the tags before the files are send to C compiler itself
If you start coding the web pages in Python or C++, you should simply use another header
With IML you don’t need ASP or PHP languages. You could ever write the web pages in C and C++. IML is a sort of precompiler, which consists from a header describing how to replace the HTML tags before the files are send to regular C, C++, Python and any other language compilers
As a rule, to develop the ASP and PHP languages had been your fatal mistake, because if you can write interpreter, you can write a compiler for this
iml_body_end
iml_end