|
|
1.1 ! root 1: .TH ALEF 1 ! 2: .SH NAME ! 3: 8al, kal, val \- ALEF compilers ! 4: .SH SYNOPSIS ! 5: .B 8al ! 6: [ ! 7: .I option ... ! 8: ] ! 9: [ ! 10: .I file ... ! 11: ] ! 12: .br ! 13: .B kal ! 14: [ ! 15: .I option ... ! 16: ] ! 17: [ ! 18: .I file ... ! 19: ] ! 20: .br ! 21: .B val ! 22: [ ! 23: .I option ... ! 24: ] ! 25: [ ! 26: .I file ... ! 27: ] ! 28: .SH DESCRIPTION ! 29: ALEF is a concurrent programming language with a syntax like C's. ! 30: .IR Kal , ! 31: .I val ! 32: and ! 33: .I 8al ! 34: compile the named ALEF source ! 35: .I files ! 36: into SPARC, MIPS and ! 37: Intel 386 object files. ! 38: Source ! 39: .I files ! 40: have the extension ! 41: .BR .l . ! 42: The ALEF source is passed through ! 43: .IR cpp (1) ! 44: prior to compilation. Object files have the ! 45: normal extension for each architecture: ! 46: .B .k ! 47: for SPARC, ! 48: .B .v ! 49: for MIPS and ! 50: .B .8 ! 51: for 386. ! 52: Up to ! 53: .B $NPROC ! 54: .I files ! 55: will be compiled in parallel. ! 56: .PP ! 57: The compiler options are: ! 58: .TP .7i ! 59: .BI -o " obj" ! 60: Place output in file ! 61: .I obj ! 62: (ignored if there is more than one input file). ! 63: Default is to take the last element of the input pathname, ! 64: strip any trailing ! 65: .BR .l , ! 66: and append the object file suffix. ! 67: .TP ! 68: .B -a ! 69: Write no object file, but produce an ! 70: .IR acid (1) ! 71: program on standard output, comprising a set of type declarations ! 72: and functions to print those types. ! 73: .TP ! 74: .B -aa ! 75: Like ! 76: .B -a ! 77: but suppress output for types and functions declared in header files. ! 78: .TP ! 79: .B -w ! 80: Print warning messages for non fatal errors. ! 81: .TP ! 82: .B -N ! 83: Do not run the code optimizer. ! 84: .TP ! 85: .B -c ! 86: Do not compile code for ! 87: .B check ! 88: statements. ! 89: .TP ! 90: .B -S ! 91: Produce assembly language instead of object code as output. ! 92: By default, output goes to a file named by the ! 93: last element of the input pathname with ! 94: .B .l ! 95: replaced by ! 96: .BR .s . ! 97: .TP ! 98: .BI -D\*S name=def ! 99: .br ! 100: .ns ! 101: .TP ! 102: .BI -D \*Sname ! 103: Define the ! 104: .I name ! 105: to the preprocessor, ! 106: as if by ! 107: .LR #define . ! 108: If no definition is given, the name is defined as ! 109: .LR 1 . ! 110: .TP ! 111: .BI -I \*Sdir ! 112: .L #include ! 113: files whose names do not begin with ! 114: .L / ! 115: are always ! 116: sought first in the directory ! 117: of the ! 118: .I file ! 119: argument, ! 120: then in directories named in ! 121: .B -I ! 122: options, ! 123: then in ! 124: .BR /sys/include/alef , ! 125: and finally in ! 126: .BR /$objtype/include/alef. ! 127: .TP ! 128: .BI -d c ! 129: Produce various forms of debugging. The character ! 130: .I c ! 131: is an alphabetic. ! 132: .PP ! 133: The compiler recognizes several ! 134: .B #pragma ! 135: directives. The first, ! 136: .BR "#pragma lib" , ! 137: is the same as in ! 138: .IR 2c (1). ! 139: The others have effect only when profiling is turned on by the ! 140: .B -p ! 141: option of the loader (see ! 142: .IR 2l (1)). ! 143: The directive ! 144: .B "#pragma noprofile" ! 145: disables the generation of profiling code for subsequently declared functions; ! 146: .B "#pragma profile" ! 147: enables it again. ! 148: The main use of these directives is ! 149: to avoid the profiling confusion caused by functions that do not explicitly return, ! 150: such as the task-switching functions in the run-time system. ! 151: Nonetheless, without support for profiling multi-process programs, ! 152: it remains difficult to profile Alef programs. ! 153: .SH EXAMPLE ! 154: To compile and run on a SPARC the ALEF program in the current directory: ! 155: .IP ! 156: .EX ! 157: kal -w *.l ! 158: kl *.k ! 159: k.out ! 160: .EE ! 161: .SH FILES ! 162: .TF /$objtype/lib/alef ! 163: .TP ! 164: .B /sys/include/alef ! 165: directory for ! 166: .B #include ! 167: files. ! 168: .TP ! 169: .B /$objtype/lib/alef ! 170: directory for ALEF libraries ! 171: .SH SOURCE ! 172: .TF /sys/src/alef/8,\ etc. ! 173: .TP ! 174: .B /sys/src/alef/port ! 175: machine-independent part ! 176: .TP ! 177: .BR /sys/src/alef/8 ,\ etc. ! 178: machine-dependent parts ! 179: .SH "SEE ALSO" ! 180: .IR acid (1), ! 181: .IR 2a (1), ! 182: .IR 2l (1), ! 183: .IR mk (1), ! 184: .IR nm (1), ! 185: .IR db (1) ! 186: .br ! 187: Phil Winterbottom, ! 188: ``Alef Reference Manual'', and ! 189: Bob Flandrena, ! 190: ``Alef User's Guide''.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.