⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sofp_01.cc

📁 这是一个从音频信号里提取特征参量的程序
💻 CC
字号:
// file: $isip/class/io/SofParser/sofp_01.cc// version: $Id: sofp_01.cc,v 1.2 2002/02/26 22:59:30 alphonso Exp $//// isip include files//#include "SofParser.h"// method: debug//// arguments://  const unichar* message: (input) debugging message//// return: a boolean value indicating status//boolean SofParser::debug(const unichar* message_a) const {  // dump characters  //  terminator_char_d.debug(L"terminator_char_d");  assignment_char_d.debug(L"assignment_char_d");  comment_char_d.debug(L"comment_char_d");  blockstart_char_d.debug(L"blockstart_char_d");  blockstop_char_d.debug(L"blockstop_char_d");  delimiter_char_d.debug(L"delimiter_char_d");    // dump numeric values  //  SysString output;  SysString value;  setString(value, state_d);  output.debugStr(name(), message_a, L"state_d", value);  Console::put(output);    value.assign(block_count_d);  output.debugStr(name(), message_a, L"block_count_d", value);  Console::put(output);  value.assign(token_count_d);  output.debugStr(name(), message_a, L"token_count_d", value);  Console::put(output);  value.assign(param_d);  output.debugStr(name(), message_a, L"param_d", value);  Console::put(output);  // dump the list  //  index_d.debug(L"index_d");    value.assign(used_size_d);  output.debugStr(name(), message_a, L"used_size_d", value);  Console::put(output);    output.debugStr(name(), message_a, L"used_d");  Console::put(output);    Console::increaseIndention();  output.clear();  for (long i = 0; i < (used_size_d - 1); i++) {    value.assign(used_d[i]);    value.concat(L",");    output.concat(value);  }  if (used_size_d > 0) {    value.assign(used_d[used_size_d - 1]);    output.concat(value);  }    Console::put(output);  Console::decreaseIndention();    // positions within the current statement  //  value.assign(statement_asgn_d);  output.debugStr(name(), message_a, L"statement_asgn_d", value);  Console::put(output);    value.assign(statement_term_d);  output.debugStr(name(), message_a, L"statement_term_d", value);  Console::put(output);    value.assign(statement_last_token_d);  output.debugStr(name(), message_a, L"statement_last_token_d", value);  Console::put(output);  // output the limits of file space  //  value.assign(base_position_d);  output.debugStr(name(), message_a, L"base_position_d", value);  Console::put(output);    value.assign(full_size_d);  output.debugStr(name(), message_a, L"full_size_d", value);  Console::put(output);    // output the debug level  //  value.assign(debug_level_d);  output.debugStr(name(), message_a, L"debug_level_d", value);  Console::put(output);  // exit gracefully  //  return true;}// method: setString//// arguments://  SysString& str: (output) string of the value//  STATE state: (input) state value//// return: a boolean value indicating status//// create a string out of the state, this is used for debug//boolean SofParser::setString(SysString& str_a, STATE state_a) const {  // branch on state  //  if (state_a == NO_GPI) {    str_a.assign(STATE_NO_GPI);  }  else if (state_a == COMMENT_OP_NO_GPI) {    str_a.assign(STATE_COMMENT_OP_NO_GPI);  }  else if (state_a == LITERAL_OP) {    str_a.assign(STATE_LITERAL_OP);  }  else if (state_a == GPI) {    str_a.assign(STATE_GPI);  }  else if (state_a == QUOTE_OP) {    str_a.assign(STATE_QUOTE_OP);  }  else if (state_a == LITERAL_OP_IN_QUOTE) {    str_a.assign(STATE_LITERAL_OP_IN_QUOTE);  }  else if (state_a == GPI_LWS) {    str_a.assign(STATE_GPI_LWS);  }  else if (state_a == COMMENT_OP_GPI) {    str_a.assign(STATE_COMMENT_OP_GPI);  }  else if (state_a == TERMINAL_TRIM_LWS) {    str_a.assign(STATE_TERMINAL_TRIM_LWS);  }  else if (state_a == BLOCK_GPI) {    str_a.assign(STATE_BLOCK_GPI);  }  else if (state_a == BLOCK_GPI_LWS) {    str_a.assign(STATE_BLOCK_GPI_LWS);  }  else {    return Error::handle(name(), L"setString - undefined state", Error::ENUM, __FILE__,__LINE__);  }    // exit gracefully  //  return true;}// method: memSize//// arguments: none//// return: a long number//// return the memory size of the class in bytes//long SofParser::memSize() {    // create size variable and set to the size of default protected  // data  //  long size = table_d.memSize();  size += index_d.memSize();  // character values  //  size += sizeof(terminator_char_d);  size += sizeof(assignment_char_d);  size += sizeof(comment_char_d);  size += sizeof(blockstart_char_d);  size += sizeof(blockstop_char_d);  size += sizeof(delimiter_char_d);  // integer values: states, indexes, and counts  //  size += sizeof(state_d);  size += sizeof(param_d);  size += sizeof(block_count_d);  size += sizeof(token_count_d);    // integer values: file positions  //  size += sizeof(token_start_d);  size += sizeof(token_stop_d);  size += sizeof(statement_asgn_d);  size += sizeof(statement_term_d);  size += sizeof(statement_last_token_d);  // integer values: sizes  //  size += sizeof(base_position_d);  size += sizeof(full_size_d);  // boolean values  //  size += sizeof(open_index_d);  size += sizeof(implicit_object_d);  size += sizeof(implicit_block_d);  size += sizeof(nest_d);  // debug level  //  size += sizeof(debug_level_d);      // exit gracefully  //  return size;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -