| #include "fasm_utils.h" |
| #include "vpr_utils.h" |
| |
| namespace fasm { |
| |
| void parse_name_with_optional_index(const std::string in, std::string *name, int *index) { |
| auto in_parts = vtr::split(in, "[]"); |
| |
| if(in_parts.size() == 1) { |
| *name = in; |
| *index = 0; |
| } else if(in_parts.size() == 2) { |
| *name = in_parts[0]; |
| *index = vtr::atoi(in_parts[1]); |
| } else { |
| vpr_throw(VPR_ERROR_OTHER, __FILE__, __LINE__, |
| "Cannot parse %s.", in.c_str()); |
| } |
| } |
| |
| std::vector<std::string> split_fasm_entry(std::string entry, |
| std::string delims, |
| std::string ignore) { |
| for (size_t ii=0; ii<entry.length(); ii++) { |
| while (ignore.find(entry[ii]) != std::string::npos) { |
| entry.erase(ii, 1); |
| } |
| } |
| |
| return vtr::split(entry, delims); |
| } |
| |
| } // namespace fasm |