-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathterminals.py
35 lines (29 loc) · 922 Bytes
/
terminals.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import pyparsing as pp
LPAR = pp.Suppress('(')
RPAR = pp.Suppress(')')
LBRACK = pp.Suppress('[')
RBRACK = pp.Suppress(']')
LBRACE = pp.Suppress('{')
RBRACE = pp.Suppress('}')
COMMA = pp.Suppress(',')
LT = pp.Suppress('<')
GT = pp.Suppress('>')
TITLE = pp.Keyword('TITLE')
UNITS = pp.Keyword('UNITS')
PARAMETER = pp.Keyword('PARAMETER')
COMMENT = pp.Keyword('COMMENT')
ASSIGNED = pp.Keyword('ASSIGNED')
NEURON = pp.Keyword('NEURON')
BREAKPOINT = pp.Keyword('BREAKPOINT')
STATE = pp.Keyword('STATE')
FUNCTION = pp.Keyword('FUNCTION')
PROCEDURE = pp.Keyword('PROCEDURE')
INITIAL = pp.Keyword('INITIAL')
DERIVATIVE = pp.Keyword('DERIVATIVE')
LOCAL = pp.Keyword('LOCAL')
UNITSON = pp.Keyword('UNITSON')
UNITSOFF = pp.Keyword('UNITSOFF')
THREADSAFE = pp.Keyword('THREADSAFE')
FLOAT = pp.Regex('[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?')
INT = pp.Word(pp.nums)
ID = pp.Word(pp.alphas, pp.alphanums+'_') # TODO: allowed ids?