path: root/doc/mc.1
diff options
Diffstat (limited to 'doc/mc.1')
1 files changed, 84 insertions, 0 deletions
diff --git a/doc/mc.1 b/doc/mc.1
new file mode 100644
index 0000000..471d013
--- /dev/null
+++ b/doc/mc.1
@@ -0,0 +1,84 @@
+.TH MC 1
+.B 6m
+.I -[hioS]
+.I [file...]
+The ?m family of compilers compile Myrddin source into object files
+for the corresponding architecture. There is one compiler for each
+architecture supported, with a unique name. By default, if the input
+file is named
+.I filename.myr
+then the the object file that is generated will be named
+.I filename.o.
+If the filename does not end with the suffix
+.I .myr
+then the suffix
+.I .o
+will simply be appended to it.
+The following architectures are currently supported:
+The compiler options are:
+.B -d [flTri]
+Print debugging dumps. Additional options may be given to give more
+debugging information for specific intermediate states of the compilation.
+.B -h
+Print a summary of the available options.
+.B -I path
+Add 'path' to the search path for unquoted use statments. This option
+does not affect the search path for local usefiles, which are always
+searched relative to the compiler's current working directory. Without
+any options, the search path defaults to /usr/include/myr.
+.B -o output-file
+Specify that the generated code should be placed in
+.B -S
+Generate assembly code instead of an object file.
+ 6m foo.myr
+ 6m bar.myr
+ ld -o foobar foo.o bar.o
+The source code for this compiler is available from
+.B git://
+.IR muse(1)
+.IR ld(1)
+.IR as(1)
+The language is not yet complete, and the compilers often omit useful
+constructs in spite of their desirability.
+There are virtually no optimizations done, and the generated source is
+often very poorly performing.
+The current calling convention is stack-based and not register-based, even
+on architectures where it should be register-based.
+The calling convention is not compatible with C.