{
    "pt::grammar::peg" : {
        "rules" : {
            "AddOp" : {
                "is" : "/ {t -} {t +}",
                "mode" : "value"
            },
            "Digit" : {
                "is" : "/ {t 0} {t 1} {t 2} {t 3} {t 4} {t 5} {t 6} {t 7} {t 8} {t 9}",
                "mode" : "value"
            },
            "Expression" : {
                "is" : "/ {n Function} {/ {x {t (} {n Expression} {t )}} {x {n Factor} {* {x {n MulOp} {n Factor}}}}}",
                "mode" : "value"
            },
            "Factor" : {
                "is" : "x {n Term} {* {x {n AddOp} {n Term}}}",
                "mode" : "value"
            },
            "Function" : {
                "is" : "n Sinus",
                "mode" : "value"
            },
            "MulOp" : {
                "is" : "/ {t *} {t /}",
                "mode" : "value"
            },
            "Number" : {
                "is" : "x {? {n Sign}} {+ {n Digit}}",
                "mode" : "value"
            },
            "Sign" : {
                "is" : "/ {t -} {t +}",
                "mode" : "value"
            },
            "Sinus" : {
                "is" : "x {t s} {t i} {t n} {t (} {n Expression} {t )}",
                "mode" : "value"
            },
            "Term" : {
                "is" : "n Number",
                "mode" : "value"
            }
        },
        "start" : "n Expression"
    }
}
