docs: def get_variable_grammar(self):
          """
           A method that returns variable grammar
          """
          # Defining a expression for valid word
          word_expr = Word(alphanums + '_' + '-')
          word_expr2 = Word(initChars=printables, excludeChars=['{', '}', ',', ' '])
          name_expr = Suppress('variable') + word_expr + Suppress('{')
          state_expr = ZeroOrMore(word_expr2 + Optional(Suppress(",")))
          # Defining a variable state expression
          variable_state_expr = Suppress('type') + Suppress(word_expr) + Suppress('[') + Suppress(Word(nums)) + \
              Suppress(']') + Suppress('{') + Group(state_expr) + Suppress('}') + Suppress(';')
          # variable states is of the form type description [args] { val1, val2 }; (comma may or may not be present)
  
          property_expr = Suppress('property') + CharsNotIn(';') + Suppress(';')  # Creating a expr to find property
  
          return name_expr, variable_state_expr, property_expr