# Operator with there Precedence.
all_operators = {
    "+": {
        "precedence": 2,
        "argument": 2
    },
    "-": {
        "precedence": 2,
        "argument": 2
    },
    "*": {
        "precedence": 3,
        "argument": 2
    },
    "/": {
        "precedence": 3,
        "argument": 2
    },
    "%": {
        "precedence": 3,
        "argument": 2
    },
    "^": {
        "precedence": 4,
        "argument": 2
    },
    "abs": {
        "precedence": 4,
        "argument": 1
    },
    "ceil": {
        "precedence": 4,
        "argument": 1
    },
    "floor": {
        "precedence": 4,
        "argument": 1
    },
    "round": {
        "precedence": 4,
        "argument": 2
    },
    "factorial": {
        "precedence": 4,
        "argument": 1
    },
    "gcd": {
        "precedence": 4,
        "argument": 2
    },
    "exp": {
        "precedence": 4,
        "argument": 1
    },
    "pow": {
        "precedence": 4,
        "argument": 2
    },
    "sqrt": {
        "precedence": 4,
        "argument": 1
    },
    "log": {
        "precedence": 4,
        "argument": 1
    },
    "ln": {
        "precedence": 4,
        "argument": 1
    },
    "log2": {
        "precedence": 4,
        "argument": 1
    },
    "Log": {
        "precedence": 4,
        "argument": 2
    },
    "sin": {
        "precedence": 4,
        "argument": 1
    },
    "cos": {
        "precedence": 4,
        "argument": 1
    },
    "tan": {
        "precedence": 4,
        "argument": 1
    },
    "asin": {
        "precedence": 4,
        "argument": 1
    },
    "acos": {
        "precedence": 4,
        "argument": 1
    },
    "atan": {
        "precedence": 4,
        "argument": 1
    },
    "sinh": {
        "precedence": 4,
        "argument": 1
    },
    "cosh": {
        "precedence": 4,
        "argument": 1
    },
    "tanh": {
        "precedence": 4,
        "argument": 1
    },
    "asinh": {
        "precedence": 4,
        "argument": 1
    },
    "acosh": {
        "precedence": 4,
        "argument": 1
    },
    "atanh": {
        "precedence": 4,
        "argument": 1
    },
    "hypot": {
        "precedence": 4,
        "argument": 2
    },
    "deg": {
        "precedence": 4,
        "argument": 1
    },
    "rad": {
        "precedence": 4,
        "argument": 1
    },
    "?": {
        "precedence": 0.5,
        "argument": 2
    },
    ":": {
        "precedence": 0.5,
        "argument": 2
    },
    ">": {
        "precedence": 0.75,
        "argument": 2
    },
    "<": {
        "precedence": 0.75,
        "argument": 2
    },
    "|": {
        "precedence": 0.5,
        "argument": 2
    },
    "&": {
        "precedence": 0.5,
        "argument": 2
    },
    "=": {
        "precedence": 0.75,
        "argument": 2
    },
    "!": {
        "precedence": 0.75,
        "argument": 2
    },
    "~": {
        "precedence": 0.75,
        "argument": 1
    },
    "#": {
        "precedence": 0.75,
        "argument": 2
    },
    "@": {
        "precedence": 0.75,
        "argument": 2
    },
    "(": {
        "precedence": 0,
        "argument": 1
    },
    ")": {
        "precedence": 0,
        "argument": 1
    },
    ",": {
        "precedence": 1,
        "argument": 1
    }
}