Help for this page

Select Code to Download


  1. or download this
    expr      := number
               | expr ws unary_op 
    ...
    unary_op  := "chs" | "abs" | "sqr" | "sqrt" | "sin" | "cos" | "tan"
    binary_op := '+' | '-' | '*' | '/' | '^'
    ws        := ' ' | '\t' | '\r' | '\n'
    
  2. or download this
    Infinite recursion in regex
    
  3. or download this
    expr      := number
               | expr ws unary_op 
               | expr ws expr ws binary_op
    
  4. or download this
    expr      := number expr_
    expr_     := ws expr ws binary_op expr_
               | ws unary_op expr_
               |
    
  5. or download this
    qr{
       (?(DEFINE)
    ...
       \A \s* (?&expr) \s* \z
       (?{ $result = pop(@stack) })
    }sx;
    
  6. or download this
    #!/usr/bin/perl
    
    ...
        my ($expression) = $line =~ /($RPN)/;
        ...
    }
    
  7. or download this
    OK: .456 = .456
    OK: 123. = 123.
    ...
    OK: 4 2 / = 2
    OK: 24abssqrt is invalid, got no result
    OK: 4 2 * = 8