Arithmetic evaluation: Difference between revisions

(→‎{{header|Java}}: code cleanup, consistent indentation)
Line 1,061:
 
=={{header|Elena}}==
ELENA 3.23 :
<lang elena>import system'routines.
import extensions.
Line 1,147:
}
 
operatorState = (: ch)
[
ch =>
$40 [ // (
^ closureself newBracket; gotoStarting
];
! [
^ closureself newToken; append:ch; gotoToken
].
].
 
tokenState = (: ch)
[
ch =>
$41 [ // )
^ closureself closeBracket; gotoToken
];
$42 [ // *
^ closureself newProduct; gotoOperator
];
$43 [ // +
^ closureself newSummary; gotoOperator
];
$45 [ // -
^ closureself newDifference; gotoOperator
];
$47 [ // /
^ closureself newFraction; gotoOperator
];
! [
^ closureself append:ch
].
].
 
startState = (: ch)
[
ch =>
$40 [ // (
^ closureself newBracket; gotoStarting
];
$45 [ // -
^ closureself newToken; append literal:"0"; newDifference; gotoOperator
];
! [
^ closureself newToken; append:ch; gotoToken
].
].
 
class Scope
Anonymous user