Annotation of lucent/sys/man/1/alef, revision 1.1.1.1

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''.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.