void netlist_parser::parse(const char *buf) { m_px = buf; m_line_ptr = buf; m_line = 1; while (!eof()) { pstring n; skipws(); if (eof()) break; n = getname('('); NL_VERBOSE_OUT(("Parser: Device: %s\n", n.cstr())); if (n == "NET_ALIAS") net_alias(); else if (n == "NET_C") net_c(); else if (n == "NETDEV_PARAM") netdev_param(); else if ((n == "NET_MODEL")) net_model(); else if (n == "NETLIST_START") netdev_netlist_start(); else if (n == "NETLIST_END") netdev_netlist_end(); else netdev_device(n); } }
void netlist_parser::parse_netlist(ATTR_UNUSED const pstring &nlname) { while (true) { token_t token = get_token(); if (token.is_type(ENDOFFILE)) return; require_token(m_tok_param_left); NL_VERBOSE_OUT(("Parser: Device: %s\n", token.str().cstr())); if (token.is(m_tok_ALIAS)) net_alias(); else if (token.is(m_tok_NET_C)) net_c(); else if (token.is(m_tok_PARAM)) netdev_param(); else if (token.is(m_tok_NET_MODEL)) net_model(); else if (token.is(m_tok_SUBMODEL)) net_submodel(); else if (token.is(m_tok_INCLUDE)) net_include(); else if (token.is(m_tok_NETLIST_END)) { netdev_netlist_end(); return; } else device(token.str()); } }
void parser_t::parse_netlist(const pstring &nlname) { while (true) { token_t token = get_token(); if (token.is_type(ENDOFFILE)) return; require_token(m_tok_param_left); m_setup.log().debug("Parser: Device: {1}\n", token.str()); if (token.is(m_tok_ALIAS)) net_alias(); else if (token.is(m_tok_DIPPINS)) dippins(); else if (token.is(m_tok_NET_C)) net_c(); else if (token.is(m_tok_FRONTIER)) frontier(); else if (token.is(m_tok_PARAM)) netdev_param(); else if (token.is(m_tok_HINT)) netdev_hint(); else if (token.is(m_tok_NET_MODEL)) net_model(); else if (token.is(m_tok_SUBMODEL)) net_submodel(); else if (token.is(m_tok_INCLUDE)) net_include(); else if (token.is(m_tok_LOCAL_SOURCE)) net_local_source(); else if (token.is(m_tok_TRUTHTABLE_START)) net_truthtable_start(nlname); else if (token.is(m_tok_LOCAL_LIB_ENTRY)) { m_setup.register_lib_entry(get_identifier(), "parser: " + nlname); require_token(m_tok_param_right); } else if (token.is(m_tok_NETLIST_END)) { netdev_netlist_end(); return; } else device(token.str()); } }