Sha256: f328e1cda86f533f4d82e97db9907688b6d1d9ba204a6c64e6f952a634a07b96
Contents?: true
Size: 1.28 KB
Versions: 70
Compression:
Stored size: 1.28 KB
Contents
# frozen_string_literal: true class Code class Parser class Dictionary < Language def code_present Code.new.present end def statement Statement end def name Name end def whitespace Whitespace end def whitespace? whitespace.maybe end def opening_curly_bracket str("{") end def closing_curly_bracket str("}") end def comma str(",") end def colon str(":") end def equal str("=") end def greater str(">") end def key_value (name.aka(:name) << colon << code_present.aka(:value).maybe) | ( statement.aka(:statement) << colon << code_present.aka(:value).maybe ) | ( statement.aka(:statement) << whitespace? << equal << greater << code_present.aka(:value).maybe ) | statement.aka(:statement) end def root ( opening_curly_bracket.ignore << whitespace? << (whitespace? << key_value << (whitespace? << comma).maybe).repeat << (whitespace? << closing_curly_bracket.ignore).maybe ).aka(:dictionnary) | List end end end end
Version data entries
70 entries across 70 versions & 1 rubygems