Sha256: 9758f99f1aba0075d9dcfb2ad228291e0e549c50c6d3eb2a9a35382bcb115ec7

Contents?: true

Size: 791 Bytes

Versions: 21

Compression:

Stored size: 791 Bytes

Contents

grammar Expressive

  rule program
    statement* <Program>
  end

  rule statement
    whitespace* (list / atom) whitespace* <Statement>
  end

  rule atom
    (value / identifier)
  end

  rule list
    '(' statement+ ')' <List>
  end

  rule value
    (string / boolean / number)
  end

  rule word
    [a-zA-Z]+
  end

  rule string
    '"' ([^"\\] / "\\" . )* '"' <StringValue>
  end

  rule number
    ( float / integer )
  end

  rule integer
    [0-9]+ <IntegerValue>
  end

  rule float
    [0-9]+ ('.' [0-9]+) <FloatValue>
  end

  rule whitespace
    [\n\r\s\t]
  end

  rule parenthesis
    [\(\)\[\]]
  end

  rule boolean
    ('true' / 'false') <Boolean>
  end

  rule delimeter
    parenthesis / whitespace
  end

  rule identifier
    (!delimeter .)+ <Identifier>
  end

end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
expressive-0.0.25 lib/expressive_grammar.treetop
expressive-0.0.24 lib/expressive_grammar.treetop
expressive-0.0.23 lib/expressive_grammar.treetop
expressive-0.0.22 lib/expressive_grammar.treetop
expressive-0.0.21 lib/expressive_grammar.treetop
expressive-0.0.20 lib/expressive_grammar.treetop
expressive-0.0.18 lib/expressive_grammar.treetop
expressive-0.0.17 lib/expressive_grammar.treetop
expressive-0.0.16 lib/expressive_grammar.treetop
expressive-0.0.15 lib/expressive_grammar.treetop
expressive-0.0.14 lib/expressive_grammar.treetop
expressive-0.0.13 lib/expressive_grammar.treetop
expressive-0.0.12 lib/expressive_grammar.treetop
expressive-0.0.11 lib/expressive_grammar.treetop
expressive-0.0.10 lib/expressive_grammar.treetop
expressive-0.0.9 lib/expressive_grammar.treetop
expressive-0.0.8 lib/expressive_grammar.treetop
expressive-0.0.7 lib/expressive_grammar.treetop
expressive-0.0.6 lib/expressive_grammar.treetop
expressive-0.0.5 lib/expressive_grammar.treetop