docs: def get_probability_grammar(self):
          """
          A method that returns probability grammar
          """
          # Creating valid word expression for probability, it is of the format
          # wor1 | var2 , var3 or var1 var2 var3 or simply var
          word_expr = Word(alphanums + '-' + '_') + Suppress(Optional("|")) + Suppress(Optional(","))
          word_expr2 = Word(initChars=printables, excludeChars=[',', ')', ' ', '(']) + Suppress(Optional(","))
          # creating an expression for valid numbers, of the format
          # 1.00 or 1 or 1.00. 0.00 or 9.8e-5 etc
          num_expr = Word(nums + '-' + '+' + 'e' + 'E' + '.') + Suppress(Optional(","))
          probability_expr = Suppress('probability') + Suppress('(') + OneOrMore(word_expr) + Suppress(')')
          optional_expr = Suppress('(') + OneOrMore(word_expr2) + Suppress(')')
          probab_attributes = optional_expr | Suppress('table')
          cpd_expr = probab_attributes + OneOrMore(num_expr)
  
          return probability_expr, cpd_expr