<html>#2192: schedule.ccl SYNC allows for [timelevels] suffixes
<table style='border-spacing: 1ex 0pt; '>
<tr><td style='text-align:right'> Reporter:</td><td>Zach Etienne</td></tr>
<tr><td style='text-align:right'> Status:</td><td>open</td></tr>
<tr><td style='text-align:right'>Milestone:</td><td></td></tr>
<tr><td style='text-align:right'> Version:</td><td>development version</td></tr>
<tr><td style='text-align:right'> Type:</td><td>bug</td></tr>
<tr><td style='text-align:right'> Priority:</td><td>minor</td></tr>
<tr><td style='text-align:right'>Component:</td><td>Other</td></tr>
</table>
<p>Comment (by Steven R. Brandt):</p>
<p>Suggested patch…</p>
<div class="codehilite"><pre><span></span><span class="gh">diff --git a/src/piraha/pegs/schedule.peg b/src/piraha/pegs/schedule.peg</span>
<span class="gh">index 977e3a68..c04d8c6a 100644</span>
<span class="gd">--- a/src/piraha/pegs/schedule.peg</span>
<span class="gi">+++ b/src/piraha/pegs/schedule.peg</span>
<span class="gu">@@ -2,10 +2,11 @@</span>
skipper = \b([\ \t\n\r\b]|{-ccomment}|\#[^\n]*|\\[\r\n])*
any = [^]
<span class="gd">-name = (?i:[a-zA-Z_][a-zA-Z0-9_\-]*\b)</span>
<span class="gi">+name = (?i:[a-zA-Z_][a-zA-Z0-9_-]*\b)</span>
expr = {name}|{quote}|{num}
# TODO: Should this be a * or a ?
vname = {name}( :: {name})*( \[ {expr} \]|)
<span class="gi">+uname = {name}( :: {name})?</span>
quote = "(\\{any}|[^"])*"
ccomment = /\*((?!\*/){-any})*\*/
num = [+\-]?[0-9]+(\.[0-9]+)?
<span class="gu">@@ -36,9 +37,10 @@ group = (?i:group)</span>
nogroup =
prepositions = ({preposition} )*
preposition = {par} {pararg}
<span class="gd">-sync = (?i:sync) : {vname}( , {vname}|{-spacing}{vname})*</span>
<span class="gi">+sync = (?i:sync) : {uname}( , {uname}|{-spacing}{uname})*</span>
spacing = ([ \t]|\\\r?\n)+
<span class="gd">-options = (?i:options?) : {vname}( , {vname}|{-spacing}{vname})*</span>
<span class="gi">+optname = [a-zA-Z0-9-]+</span>
<span class="gi">+options = (?i:options?) : {optname}( , {optname}|{-spacing}{optname})*</span>
triggers = (?i:triggers?) : {vname}( , {vname}|{-spacing}{vname})*
reads = (?i:reads) : {qrname}( , {qrname}|{-spacing}{qrname})*
writes = (?i:writes) : {qrname}( , {qrname}|{-spacing}{qrname})*
</pre></div>
<p></p>
<p>--<br/>
Ticket URL: <a href='https://bitbucket.org/einsteintoolkit/tickets/issues/2192/scheduleccl-sync-allows-for-timelevels'>https://bitbucket.org/einsteintoolkit/tickets/issues/2192/scheduleccl-sync-allows-for-timelevels</a></p>
</html>