zero.liso.input module

LISO input file parser

class zero.liso.input.LisoInputParser[source]

Bases: zero.liso.base.LisoParser

LISO input file parser

This implements a lexer to identify appropriate definitions in a LISO input file, and a parser to build a circuit from what is found.

OP_OVERRIDE_MAP = {'a0': 'a0', 'delay': 'delay', 'gbw': 'gbw', 'ic': 'icorner', 'imax': 'imax', 'in': 'inoise', 'sr': 'sr', 'uc': 'vcorner', 'umax': 'vmax', 'un': 'vnoise'}
property output_all_components
property output_all_components_scales
property output_all_nodes
property output_all_nodes_scales
property output_all_opamp_nodes
property output_all_opamp_nodes_scales
property output_all_opamps
property output_all_opamps_scales
p_capacitor(p)[source]

instruction : C CHUNK CHUNK CHUNK CHUNK end

p_chunks(p)[source]

chunks : CHUNK | chunks CHUNK

p_empty_instruction(p)[source]

instruction : end

p_end(p)[source]

end : NEWLINE | EOF

p_error(p)[source]

Child classes must implement error handler

p_freq(p)[source]

instruction : FREQ CHUNK CHUNK CHUNK CHUNK end

p_iinput(p)[source]

instruction : IINPUT CHUNK end | IINPUT CHUNK CHUNK end

p_inductor(p)[source]

instruction : L CHUNK CHUNK CHUNK CHUNK end

p_instruction_list(p)[source]

instruction_list : instruction | instruction_list instruction

p_ioutput(p)[source]

instruction : IOUTPUT chunks end

p_mutual_inductance(p)[source]

instruction : M CHUNK CHUNK CHUNK CHUNK end

p_noise(p)[source]

instruction : NOISE CHUNK chunks end | INPUTNOISE CHUNK chunks end

p_noisy(p)[source]

instruction : NOISY chunks end

p_opamp(p)[source]

instruction : OP CHUNK CHUNK CHUNK CHUNK CHUNK end | OP CHUNK CHUNK CHUNK CHUNK CHUNK chunks end

p_resistor(p)[source]

instruction : R CHUNK CHUNK CHUNK CHUNK end

p_uinput(p)[source]

instruction : UINPUT CHUNK end | UINPUT CHUNK CHUNK end | UINPUT CHUNK CHUNK CHUNK end

p_uoutput(p)[source]

instruction : UOUTPUT chunks end

reserved = {'c': 'C', 'freq': 'FREQ', 'iinput': 'IINPUT', 'inputnoise': 'INPUTNOISE', 'ioutput': 'IOUTPUT', 'l': 'L', 'm': 'M', 'noise': 'NOISE', 'noisy': 'NOISY', 'op': 'OP', 'r': 'R', 'uinput': 'UINPUT', 'uoutput': 'UOUTPUT'}
property summed_noise_objects

Noise sources included in the sum column.

Overrides parent.

t_CHUNK(t)[source]

[a-zA-Z0-9_=.:][a-zA-Z0-9_=.:+-]*

t_eof(t)[source]
t_ignore = ' \t'
t_ignore_COMMENT = '\\#.*'
t_newline(t)[source]

n+

tokens = ['CHUNK', 'NEWLINE', 'EOF', 'R', 'C', 'L', 'M', 'OP', 'FREQ', 'UINPUT', 'IINPUT', 'UOUTPUT', 'IOUTPUT', 'NOISE', 'INPUTNOISE', 'NOISY']