-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathprogram.py
22 lines (20 loc) · 1.02 KB
/
program.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import pyparsing as pp
from nmodl import (assigned, breakpoint, title, parameter, units, procedure,
function, state, comment, terminals, initial, neuron,
derivative)
program = ((pp.Optional(title.title)('title') &
pp.Optional(units.units_blk)('units') &
pp.Optional(parameter.par_blk)('parameter') &
pp.Optional(neuron.neuron_blk)('neuron') &
pp.Optional(derivative.derivative_blk)('derivative') &
pp.Optional(assigned.assigned_blk)('assigned') &
pp.ZeroOrMore(pp.Group(procedure.procedure_blk)('procedures*')) &
pp.ZeroOrMore(pp.Group(function.function_blk)('functions*')) &
pp.Optional(breakpoint.breakpoint_blk)('breakpoint') &
pp.Optional(state.state_blk)('state') &
pp.Optional(initial.initial_blk)('initial')
)
.ignore(comment.comments)
.ignore(terminals.UNITSOFF)
.ignore(terminals.UNITSON)
.ignore(terminals.THREADSAFE))