pine-parser 0.1.0

Parser for Pine Script.
Documentation
[
  {
    "VarDecl": {
      "name": "ocCount",
      "type_annotation": null,
      "initializer": {
        "Unary": {
          "op": "Neg",
          "expr": {
            "Literal": {
              "Int": 1
            }
          }
        }
      },
      "var_kind": "Var"
    }
  },
  {
    "If": {
      "condition": {
        "Binary": {
          "left": {
            "Binary": {
              "left": {
                "Index": {
                  "expr": {
                    "Variable": "open"
                  },
                  "index": {
                    "Literal": {
                      "Int": 1
                    }
                  }
                }
              },
              "op": "Eq",
              "right": {
                "Variable": "close"
              }
            }
          },
          "op": "Or",
          "right": {
            "Binary": {
              "left": {
                "Index": {
                  "expr": {
                    "Variable": "close"
                  },
                  "index": {
                    "Literal": {
                      "Int": 1
                    }
                  }
                }
              },
              "op": "Eq",
              "right": {
                "Variable": "open"
              }
            }
          }
        }
      },
      "then_branch": [
        {
          "Assignment": {
            "target": {
              "Variable": "ocCount"
            },
            "value": {
              "Binary": {
                "left": {
                  "Variable": "ocCount"
                },
                "op": "Add",
                "right": {
                  "Literal": {
                    "Int": 1
                  }
                }
              }
            }
          }
        }
      ],
      "else_if_branches": [],
      "else_branch": null
    }
  },
  {
    "VarDecl": {
      "name": "hCount",
      "type_annotation": null,
      "initializer": {
        "Unary": {
          "op": "Neg",
          "expr": {
            "Literal": {
              "Int": 1
            }
          }
        }
      },
      "var_kind": "Var"
    }
  },
  {
    "If": {
      "condition": {
        "Binary": {
          "left": {
            "Binary": {
              "left": {
                "Variable": "open"
              },
              "op": "Eq",
              "right": {
                "Variable": "high"
              }
            }
          },
          "op": "And",
          "right": {
            "Binary": {
              "left": {
                "Variable": "close"
              },
              "op": "Eq",
              "right": {
                "Variable": "high"
              }
            }
          }
        }
      },
      "then_branch": [
        {
          "Assignment": {
            "target": {
              "Variable": "hCount"
            },
            "value": {
              "Binary": {
                "left": {
                  "Variable": "hCount"
                },
                "op": "Add",
                "right": {
                  "Literal": {
                    "Int": 1
                  }
                }
              }
            }
          }
        }
      ],
      "else_if_branches": [],
      "else_branch": null
    }
  },
  {
    "VarDecl": {
      "name": "flag",
      "type_annotation": null,
      "initializer": {
        "Literal": {
          "Bool": true
        }
      },
      "var_kind": "Var"
    }
  },
  {
    "If": {
      "condition": {
        "Unary": {
          "op": "Not",
          "expr": {
            "Variable": "flag"
          }
        }
      },
      "then_branch": [
        {
          "VarDecl": {
            "name": "x",
            "type_annotation": null,
            "initializer": {
              "Literal": {
                "Int": 100
              }
            }
          }
        }
      ],
      "else_if_branches": [],
      "else_branch": null
    }
  }
]