FortranCode¶
fortran.spad line 66 [edit on github]
This domain builds representations of program code segments for use with the FortranProgram domain.
- assign: (Symbol, Expression Complex Float) -> %
assign(x, y)
creates a representation of the FORTRAN expression x=y.
- assign: (Symbol, Expression Float) -> %
assign(x, y)
creates a representation of the FORTRAN expression x=y.
- assign: (Symbol, Expression Integer) -> %
assign(x, y)
creates a representation of the FORTRAN expression x=y.
- assign: (Symbol, Expression MachineComplex) -> %
assign(x, y)
creates a representation of the FORTRAN expression x=y.
- assign: (Symbol, Expression MachineFloat) -> %
assign(x, y)
creates a representation of the FORTRAN expression x=y.
- assign: (Symbol, Expression MachineInteger) -> %
assign(x, y)
creates a representation of the FORTRAN expression x=y.
- assign: (Symbol, List Polynomial Integer, Expression Complex Float) -> %
assign(x, l, y)
creates a representation of the assignment ofy
to thel
'
th element of arrayx
(l
is a list of indices).
- assign: (Symbol, List Polynomial Integer, Expression Float) -> %
assign(x, l, y)
creates a representation of the assignment ofy
to thel
'
th element of arrayx
(l
is a list of indices).
- assign: (Symbol, List Polynomial Integer, Expression Integer) -> %
assign(x, l, y)
creates a representation of the assignment ofy
to thel
'
th element of arrayx
(l
is a list of indices).
- assign: (Symbol, List Polynomial Integer, Expression MachineComplex) -> %
assign(x, l, y)
creates a representation of the assignment ofy
to thel
'
th element of arrayx
(l
is a list of indices).
- assign: (Symbol, List Polynomial Integer, Expression MachineFloat) -> %
assign(x, l, y)
creates a representation of the assignment ofy
to thel
'
th element of arrayx
(l
is a list of indices).
- assign: (Symbol, List Polynomial Integer, Expression MachineInteger) -> %
assign(x, l, y)
creates a representation of the assignment ofy
to thel
'
th element of arrayx
(l
is a list of indices).
- assign: (Symbol, Matrix Expression Complex Float) -> %
assign(x, y)
creates a representation of the FORTRAN expression x=y.
- assign: (Symbol, Matrix Expression Float) -> %
assign(x, y)
creates a representation of the FORTRAN expression x=y.
- assign: (Symbol, Matrix Expression Integer) -> %
assign(x, y)
creates a representation of the FORTRAN expression x=y.
- assign: (Symbol, Matrix Expression MachineComplex) -> %
assign(x, y)
creates a representation of the FORTRAN expression x=y.
- assign: (Symbol, Matrix Expression MachineFloat) -> %
assign(x, y)
creates a representation of the FORTRAN expression x=y.
- assign: (Symbol, Matrix Expression MachineInteger) -> %
assign(x, y)
creates a representation of the FORTRAN expression x=y.
- assign: (Symbol, Matrix MachineComplex) -> %
assign(x, y)
creates a representation of the FORTRAN expression x=y.
- assign: (Symbol, Matrix MachineFloat) -> %
assign(x, y)
creates a representation of the FORTRAN expression x=y.
- assign: (Symbol, Matrix MachineInteger) -> %
assign(x, y)
creates a representation of the FORTRAN expression x=y.
- assign: (Symbol, Vector Expression Complex Float) -> %
assign(x, y)
creates a representation of the FORTRAN expression x=y.
- assign: (Symbol, Vector Expression Float) -> %
assign(x, y)
creates a representation of the FORTRAN expression x=y.
- assign: (Symbol, Vector Expression Integer) -> %
assign(x, y)
creates a representation of the FORTRAN expression x=y.
- assign: (Symbol, Vector Expression MachineComplex) -> %
assign(x, y)
creates a representation of the FORTRAN expression x=y.
- assign: (Symbol, Vector Expression MachineFloat) -> %
assign(x, y)
creates a representation of the FORTRAN expression x=y.
- assign: (Symbol, Vector Expression MachineInteger) -> %
assign(x, y)
creates a representation of the FORTRAN expression x=y.
- assign: (Symbol, Vector MachineComplex) -> %
assign(x, y)
creates a representation of the FORTRAN expression x=y.
- assign: (Symbol, Vector MachineFloat) -> %
assign(x, y)
creates a representation of the FORTRAN expression x=y.
- assign: (Symbol, Vector MachineInteger) -> %
assign(x, y)
creates a representation of the FORTRAN expression x=y.
- block: List % -> %
block(l)
creates a representation of the statements inl
as a block.
- call: String -> %
call(s)
creates a representation of a FORTRAN CALL statement
- code: % -> Union(nullBranch: null, assignmentBranch: Record(var: Symbol, arrayIndex: List Polynomial Integer, rand: Record(ints2Floats?: Boolean, expr: OutputForm)), arrayAssignmentBranch: Record(var: Symbol, rand: OutputForm, ints2Floats?: Boolean), conditionalBranch: Record(switch: Switch, thenClause: %, elseClause: %), returnBranch: Record(empty?: Boolean, value: Record(ints2Floats?: Boolean, expr: OutputForm)), blockBranch: List %, commentBranch: List String, callBranch: String, forBranch: Record(range: SegmentBinding Polynomial Integer, span: Polynomial Integer, body: %), labelBranch: SingleInteger, loopBranch: Record(switch: Switch, body: %), commonBranch: Record(name: Symbol, contents: List Symbol), printBranch: List OutputForm)
code(f)
returns the internal representation of the object represented byf
.
- coerce: % -> OutputForm
coerce(f)
returns an object of type OutputForm.
- comment: List String -> %
comment(s)
creates a representation of the Stringss
as a multi-line FORTRAN comment.
- comment: String -> %
comment(s)
creates a representation of the Strings
as a single FORTRAN comment.
- common: (Symbol, List Symbol) -> %
common(name, contents)
creates a representation a named common block.
- cond: (Switch, %) -> %
cond(s, e)
creates a representation of the FORTRAN expression IF (s
) THENe
.
- cond: (Switch, %, %) -> %
cond(s, e, f)
creates a representation of the FORTRAN expression IF (s
) THENe
ELSEf
.
- continue: SingleInteger -> %
continue(l)
creates a representation of a FORTRAN CONTINUE labelled withl
- forLoop: (SegmentBinding Polynomial Integer, %) -> %
forLoop(i=1..10, c)
creates a representation of a FORTRAN DO loop withi
ranging over the values 1 to 10.
- forLoop: (SegmentBinding Polynomial Integer, Polynomial Integer, %) -> %
forLoop(i=1..10, n, c)
creates a representation of a FORTRAN DO loop withi
ranging over the values 1 to 10 byn
.
- getCode: % -> List String
getCode(f)
returns a list of strings representingf
in Fortran notation. This is used by the FortranProgram domain.
- gotoJump: SingleInteger -> %
gotoJump(l)
creates a representation of a FORTRAN GOTO statement
- latex: % -> String
from SetCategory
- operation: % -> Union(Null: null, Assignment: assignment, Conditional: conditional, Return: return, Block: block, Comment: comment, Call: call, For: for, While: while, Repeat: repeat, Goto: goto, Continue: continue, ArrayAssignment: arrayAssignment, Save: save, Stop: stop, Common: common, Print: print)
operation(f)
returns the name of the operation represented byf
.
- printCode: % -> Void
printCode(f)
prints outf
in FORTRAN notation.
- printStatement: List OutputForm -> %
printStatement(l)
creates a representation of a PRINT statement.
- repeatUntilLoop: (Switch, %) -> %
repeatUntilLoop(s, c)
creates a repeat … until loop in FORTRAN.
- returns: () -> %
returns()
creates a representation of a FORTRAN RETURN statement.
- returns: Expression Complex Float -> %
returns(e)
creates a representation of a FORTRAN RETURN statement with a returned value.
- returns: Expression Float -> %
returns(e)
creates a representation of a FORTRAN RETURN statement with a returned value.
- returns: Expression Integer -> %
returns(e)
creates a representation of a FORTRAN RETURN statement with a returned value.
- returns: Expression MachineComplex -> %
returns(e)
creates a representation of a FORTRAN RETURN statement with a returned value.
- returns: Expression MachineFloat -> %
returns(e)
creates a representation of a FORTRAN RETURN statement with a returned value.
- returns: Expression MachineInteger -> %
returns(e)
creates a representation of a FORTRAN RETURN statement with a returned value.
- save: () -> %
save()
creates a representation of a SAVE statement.
- setLabelValue: SingleInteger -> SingleInteger
setLabelValue(i)
resets the counter which produces labels toi
- stop: () -> %
stop()
creates a representation of a STOP statement.
- whileLoop: (Switch, %) -> %
whileLoop(s, c)
creates a while loop in FORTRAN.