CompilerLib?を利用したXMLの低レベルな言語処理系です。(関連日記)
#ref(): File not found: "LLPML-0.1-20070722.png" at page "LLPML"
図形言語の内部処理用を想定しているため記述性は低いです。ASTをXMLで記述するというイメージです。
以下のC言語と同等のものを作成します。
#include <windows.h> int main() { HANDLE stdout = GetStdHandle(STD_OUTPUT_HANDLE); const char *hello = "Hello, World!\r\n"; DWORD dummy; WriteConsole(stdout, hello, strlen(hello), &dummy, NULL); return 0; }
LLPMLでは以下のようになります。
<?xml version="1.0" encoding="utf-8" ?> <llpml version="0.3.20070815"> <extern name="GetStdHandle" module="kernel32.dll" type="std" /> <extern name="WriteConsoleW" module="kernel32.dll" type="std" /> <int name="STD_OUTPUT_HANDLE">-11</int> <var-int-define name="stdout" /> <var-int-let name="stdout"> <call name="GetStdHandle"> <int name="STD_OUTPUT_HANDLE" /> </call> </var-int-let> <string name="hello">Hello, World! </string> <ptr-define name="dummy"><int /></ptr-define> <call name="WriteConsoleW"> <var-int name="stdout" /> <string name="hello" /> <int len="hello" /> <ptr name="dummy" /> <int>0</int> </call> </llpml>