Sha256: 000034ebdfd1197ebb1db0257be9a4e9c12e3e73c9a4674c39060a557c936665
Contents?: true
Size: 1.12 KB
Versions: 2
Compression:
Stored size: 1.12 KB
Contents
# # ActiveFacts CQL Parser. # Parse rules relating to definition context. # # Copyright (c) 2009 Clifford Heath. Read the LICENSE file. # module ActiveFacts module CQL grammar Context rule context_note '(' w:who_says? s context_type discussion agreed:(',' a:as_agreed_by)? s ')' { def value [ w.empty? ? nil : w.value, context_type.value, discussion.text_value, agreed.empty? ? [] : agreed.a.value] end def ast who = w.empty? ? nil : w.value ag = agreed.empty? ? [] : agreed.a.value Compiler::ContextNote.new context_type.value, discussion.text_value, who, ag end } end rule who_says according_to agents s ',' { def value; agents.value; end } end rule context_type because { def value; 'because'; end } / as_opposed_to { def value; 'as_opposed_to'; end } / so_that { def value; 'so_that'; end } / to_avoid { def value; 'to_avoid'; end } end rule discussion '(' discussion ')' / (!( [()] / ',' as_agreed_by) .)* end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
activefacts-0.8.9 | lib/activefacts/cql/Context.treetop |
activefacts-0.8.8 | lib/activefacts/cql/Context.treetop |