Sha256: f57a1113ab693ef306920c009d448d43be5287a810ed42fc4b625c44d1ea8146

Contents?: true

Size: 564 Bytes

Versions: 7

Compression:

Stored size: 564 Bytes

Contents

/* description: Parses end executes mathematical expressions. */

%left '+' '-'
%left '*' '/'
%left '^'
%left UMINUS

%%

S
    : e EOF
        {print($1); return $1;}
    ;

e
    : e '+' e
        {$$ = $1+$3;}
    | e '-' e
        {$$ = $1-$3;}
    | e '*' e
        {$$ = $1*$3;}
    | e '/' e
        {$$ = $1/$3;}
    | e '^' e
        {$$ = Math.pow($1, $3);}
    | '-' e
        {$$ = -$2;} %prec UMINUS
    | '(' e ')'
        {$$ = $2;}
    | NUMBER
        {$$ = Number(yytext);}
    | E
        {$$ = Math.E;}
    | PI
        {$$ = Math.PI;}
    ;

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
haml-more-0.5.1 vendor/coffee-script/vendor/jison/examples/calculator.jison
haml-more-0.5.0 vendor/coffee-script/vendor/jison/examples/calculator.jison
haml-more-0.4.0 vendor/coffee-script/vendor/jison/examples/calculator.jison
haml-more-0.4.0.d vendor/coffee-script/vendor/jison/examples/calculator.jison
haml-more-0.4.0.c vendor/coffee-script/vendor/jison/examples/calculator.jison
haml-more-0.4.0.b vendor/coffee-script/vendor/jison/examples/calculator.jison
haml-more-0.4.0.a vendor/coffee-script/vendor/jison/examples/calculator.jison