bool ComboLayer::init() { if(!CCLayer::init()){ return false; } initContent(); return true; }
bool BossLotteryNotice::init() { if(!CCNode::init()){ return false; } initContent(); return true; }
bool GameSet::init() { if(!CCLayer::init()){ return false; } initContent(); return true; }
bool CommonBg::init() { if (!Node::init()) { return false; } initContent(); return true; }
bool NewChapterOpen::init() { if(!CCNode::init()){ return false; } setPosition(INSTANCE(GameUtils)->getWindowsCenterPosition()); initContent(); return true; }
bool SingleSceneFrame::init() { if (!Node::init()) { return false; } initContent(); return true; }
bool BossLottery::init() { if(!CCLayer::init()){ return false; } initContent(); return true; }
bool LoadingScene::init() { if (!Layer::init()) { return false; } initContent(); return true; }
FileSystemBrowser::FileSystemBrowser(): View(), _workspacePath( "/" ) { setWindowTitle( "File System" ); initTitleBar(); initMenu(); initContent(); }
MChatBrowser::MChatBrowser(QWidget *pParent /*= 0*/) : QWebView(pParent), _freeze(false) { qtdChatLog = new QTextDocument(this); qtcChatCursor = new QTextCursor(qtdChatLog); connect(this, SIGNAL(linkClicked(const QUrl &)), this, SLOT(handleLinkClicked(const QUrl &))); connect(this, SIGNAL(loadFinished(bool)), this, SLOT(handleLoadFinished(bool))); //lineEndings.append(0); setAcceptDrops(false); setPage(new MWebPage(this)); initContent(); page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks); page()->action(QWebPage::Reload)->setVisible(false); }
BrowerEditAreaWidget::BrowerEditAreaWidget(const QString &filePath) : EditAreaWidget(filePath, 0) { em.setEditorType(EditorModel::EditorType::BROWER); webkitHandler = new BrowerWebkitHandler; brower = new BaseWebView(this); brower->setAcceptDrops(false); brower->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks); addJavascriptObject(); initSignalsAndSlots(); initContent(filePath); }
ElfSection::ElfSection(const std::string &name, Elf64_Shdr *shdr, uint8_t *rawData) : _nameStr(name) , _name(shdr->sh_name) , _type(shdr->sh_type) , _flags(shdr->sh_flags) , _addr(shdr->sh_addr) , _offset(shdr->sh_offset) , _size(shdr->sh_size) , _link(shdr->sh_link) , _info(shdr->sh_info) , _addralign(shdr->sh_addralign) , _entsize(shdr->sh_entsize) , _content(initContent(shdr, rawData)) { }
MarkdownEditAreaWidget::MarkdownEditAreaWidget( MdCharmForm *mainForm, const QString &filePath, const QUrl &baseUrl ) : EditAreaWidget( filePath, AllowSaveAs | AllowSelectAll | AllowExportToHtml | AllowExportToODT | AllowExportToPdf | AllowPrint | AllowPreview | AllowFind | AllowSplit ), mainForm( mainForm ) { inited = false; // lastRevision = -2; this->baseUrl = baseUrl; em.setEditorType( EditorModel::MARKDOWN ); initGui(); initContent( filePath ); initConfiguration(); initPreviewerMatter(); initSignalsAndSlots(); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent, Qt::CustomizeWindowHint | Qt::WindowTitleHint | Qt::WindowSystemMenuHint | Qt::WindowMinimizeButtonHint | Qt::WindowCloseButtonHint), skype_path(QString()), skype_was_killed(false) { /* Back-end */ //Settings settings = new QSettings("skype-mood.ini", QSettings::IniFormat, this); //Translation initTranslator(); //Get Skype path if(!findSkype()) { QMessageBox::warning(this, tr("Skype not found"), tr("Skype executable not found, some features won't work.")); } //History data history_model = new QStringListModel(settings->value("history/list").toStringList(), this); //Prepare SQLite connection maindb = QSqlDatabase::addDatabase("QSQLITE"); maindb.setHostName("localhost"); maindb.setUserName("root"); maindb.setPassword(""); /* GUI */ //Title setWindowTitle("Skype Richtext Mood Editor"); //Filling the window setCentralWidget(initContent()); disableEditing(); resize(640, 390); //Centering the window on the current screen QDesktopWidget desktop_widget; QRect screen_geometry = desktop_widget.availableGeometry(); move(screen_geometry.width() / 2 - width() / 2, screen_geometry.height() / 2 - height() / 2); /* Looking for main.db */ if(!listMaindb()) { QMessageBox::warning(this, tr("AppData/Skype not found"), tr("There is no Skype profile for this user.")); } }
void MarkdownWebkitHandler::domReady() { m_domReady = true; emit initContent(); }
void MChatBrowser::clear() { initContent(); }
void CUIQuestBook::UpdateQuestContent( int nQuestIdx ) { CUITooltipMgr::getSingleton()->setData(NULL); m_nSelectQuestIdx = nQuestIdx; std::map<int, CUIImage*>::iterator iter = m_mapQuestSelect.begin(); std::map<int, CUIImage*>::iterator iter_end = m_mapQuestSelect.end(); for (; iter != iter_end; ++iter) { (*iter).second->Hide(TRUE); } if (m_nSelectQuestIdx <= 0) { initContent(); return; } std::map<int, CUIImage*>::iterator it = m_mapQuestSelect.find(m_nSelectQuestIdx); if (it != iter_end) { (*it).second->Hide(FALSE); } CQuestDynamicData* pQuestDD = CQuestSystem::Instance().GetDynamicDataByQuestIndex( m_nSelectQuestIdx ); CQuestDynamicData qdd(CQuestSystem::Instance().GetStaticData(m_nSelectQuestIdx)); if (GAMEDATAMGR()->GetQuest()->isRaidMessage(m_nSelectQuestIdx) == true) { pQuestDD = &qdd; } // 타입 아이콘 int nType[eICON_MAX]; int nToolTipIdx[eICON_MAX]; nType[eQUEST_TYPE1] = pQuestDD->GetQuestType1(); nType[eQUEST_TYPE2] = pQuestDD->GetQuestType2(); nType[eQUEST_SCALE] = pQuestDD->GetQuestPartyScale(); nToolTipIdx[eQUEST_TYPE1] = nType1StringIdx[nType[eQUEST_TYPE1]]; nToolTipIdx[eQUEST_TYPE2] = nType2StringIdx[nType[eQUEST_TYPE2]]; nToolTipIdx[eQUEST_SCALE] = nScaleStringIdx[nType[eQUEST_SCALE]]; CTString strTooltip; COLOR tempColor; int i; for (i = 0; i < eICON_MAX; i++) { if(m_pImageArr[i] != NULL) { m_pImageArr[i]->SetRenderIdx(nType[i]); strTooltip.PrintF(_S(nToolTipIdx[i], "타입 툴팁")); m_pImageArr[i]->setTooltip(strTooltip.str_String); m_pImageArr[i]->Hide(FALSE); } } // 퀘스트 이름 if (m_ptbName != NULL) { tempColor = m_ptbName->GetTextColor(); m_ptbName->SetAlignTextV(eALIGN_V_CENTER); m_ptbName->SetText( CTString(pQuestDD->GetName()), tempColor ); m_ptbName->StringEllipsis(2); if (m_ptbName->IsEllipsis() == true) { m_ptbName->setTooltip(CTString(pQuestDD->GetName())); } else { m_ptbName->setTooltip(CTString("")); } m_ptbName->Hide(FALSE); } // List 내용 if (m_plistContent == NULL) return; m_plistContent->Hide(FALSE); m_plistContent->DeleteAllListItem(); m_vecOptionPrize.clear(); if (m_plistScroll) m_plistScroll->SetScrollPos(0); CUITextBox* pTextBox = NULL; CUITextBox* pTempTb = NULL; CUIText* pText = NULL; CUIImage* pImg = NULL; CUIIcon* pIcon = NULL; CUIListItem* plistItem = NULL; CTString strTemp; // 1. Summury pTextBox = (CUITextBox*)m_pDesign->CloneSummury(); if (pTextBox != NULL) { pTextBox->SetText(CTString(pQuestDD->GetDesc3())); int nCnt = pTextBox->GetLineCount(); for (i = 0; i < nCnt; ++i) { pText = (CUIText*)m_pDesign->CloneSummuryText(); if(pText != NULL) { strTemp = pTextBox->GetLineString(i); pText->SetText(strTemp); m_plistContent->AddListItem(pText); } } SAFE_DELETE(pTextBox); pText = (CUIText*)m_pDesign->CloneSpace(); if (pText != NULL) { m_plistContent->AddListItem(pText); } } // 2. 진행 상황 plistItem = (CUIListItem*)m_pDesign->CloneTitle(); if (plistItem != NULL) { strTemp.PrintF(_S(1703, "진행상황")); pText = (CUIText*)plistItem->findUI("str_copytitle"); if (pText != NULL) pText->SetText(strTemp); m_plistContent->AddListItem(plistItem); } // 진행 상황 내용 int count = pQuestDD->GetCountStatusDesc(); for (int index = 0; index < count; index++) { pTextBox = (CUITextBox*)m_pDesign->CloneDesc(); if (pTextBox != NULL) { if (index != 0 && index % 2 == 1) tempColor = 0xFF0000FF; else tempColor = pTextBox->GetTextColor(); pTextBox->SetText(CTString(pQuestDD->GetStatusDesc(index)), tempColor, TRUE); int nCnt = pTextBox->GetLineCount(); for (i = 0; i < nCnt; ++i) { pTempTb = (CUITextBox*)m_pDesign->CloneDesc(); if(pTempTb != NULL) { strTemp = pTextBox->GetLineString(i); pTempTb->SetText(strTemp, tempColor, TRUE); m_plistContent->AddListItem(pTempTb); } } SAFE_DELETE(pTextBox); } } pText = (CUIText*)m_pDesign->CloneSpace(); if (pText != NULL) { m_plistContent->AddListItem(pText); } // 3. Npc plistItem = (CUIListItem*)m_pDesign->CloneTitle(); if (plistItem != NULL) { int NpcIdx = pQuestDD->GetPrizeNPCIndex(); // Name if (NpcIdx > 0) { CMobData* pNpc = CMobData::getData(NpcIdx); strTemp.PrintF("%s", pNpc->GetName()); } else { strTemp.PrintF(_S(457, "시스템")); } pText = (CUIText*)plistItem->findUI("str_copytitle"); if (pText != NULL) pText->SetText(strTemp); m_plistContent->AddListItem(plistItem); } // 4. StartDesc pTextBox = (CUITextBox*)m_pDesign->CloneDesc(); if (pTextBox != NULL) { pTextBox->SetText(CTString(pQuestDD->GetDesc())); int nCnt = pTextBox->GetLineCount(); for (i = 0; i < nCnt; ++i) { pText = (CUIText*)m_pDesign->CloneDescText(); if(pText != NULL) { strTemp = pTextBox->GetLineString(i); pText->SetText(strTemp); m_plistContent->AddListItem(pText); } } SAFE_DELETE(pTextBox); pText = (CUIText*)m_pDesign->CloneSpace(); if (pText != NULL) { m_plistContent->AddListItem(pText); } } // 5. 수행가능 레벨 plistItem = (CUIListItem*)m_pDesign->CloneTitle(); if (plistItem != NULL) { strTemp.PrintF(_S( 1704, "수행가능 레벨" )); pText = (CUIText*)plistItem->findUI("str_copytitle"); if (pText != NULL) pText->SetText(strTemp); m_plistContent->AddListItem(plistItem); } // 6. 레벨 값 pTextBox = (CUITextBox*)m_pDesign->CloneDesc(); if (pTextBox != NULL) { if(pQuestDD->GetNeedMinLevel() == pQuestDD->GetNeedMaxLevel()) { strTemp.PrintF(_S( 1705, "레벨 %d" ), pQuestDD->GetNeedMinLevel()); } else if(pQuestDD->GetNeedMaxLevel()==999) { strTemp.PrintF(_S( 5667, "레벨 : %d ~ MAX" ), pQuestDD->GetNeedMinLevel()); } else { strTemp.PrintF(_S( 1706, "레벨 %d ~ 레벨 %d" ), pQuestDD->GetNeedMinLevel(), pQuestDD->GetNeedMaxLevel()); } pTextBox->SetText(strTemp); int nCnt = pTextBox->GetLineCount(); for (i = 0; i < nCnt; ++i) { pText = (CUIText*)m_pDesign->CloneDescText(); if(pText != NULL) { strTemp = pTextBox->GetLineString(i); pText->SetText(strTemp); m_plistContent->AddListItem(pText); } } SAFE_DELETE(pTextBox); pText = (CUIText*)m_pDesign->CloneSpace(); if (pText != NULL) { m_plistContent->AddListItem(pText); } } // 7. 퀘스트 보상 // 고정보상 if(pQuestDD->IsPrizeExist()) { // 보상 타이틀 plistItem = (CUIListItem*)m_pDesign->CloneTitle(); if (plistItem != NULL) { pText = (CUIText*)plistItem->findUI("str_copytitle"); if (pText != NULL) pText->SetText(pQuestDD->GetPrizeDesc( 0 )); m_plistContent->AddListItem(plistItem); } // 보상 아이템 CUIImageBox* pImgBox = new CUIImageBox; int Count = pQuestDD->GetCountPrizeDesc(); for( INDEX i = 1; i < Count; ++i ) { plistItem = (CUIListItem*)m_pDesign->CloneListItem(); if (plistItem == NULL) continue; // 아이템 설명 CTString strPrize = pQuestDD->GetPrizeDesc( i ); bool bIcon = true; UIBtnExType eBtnType = UBET_ITEM; pTextBox = (CUITextBox*)plistItem->findUI("tb_copyComplete"); if (pTextBox != NULL) { tempColor = pTextBox->GetTextColor(); pTextBox->SetText(strPrize, tempColor, TRUE); } // 아이콘인지, 이미지 인지 결정 switch (pQuestDD->GetPrizeType(i-1) ) { case QPRIZE_ITEM: eBtnType = UBET_ITEM; break; case QPRIZE_SKILL: case QPRIZE_SSKILL: eBtnType = UBET_SKILL; break; default: bIcon = false; break; } pIcon = (CUIIcon*)plistItem->findUI("icon_copyItem"); pImg = (CUIImage*)plistItem->findUI("img_copyitem"); // 아이템 if (bIcon == true) { if (pIcon != NULL) { pIcon->setData(eBtnType, pQuestDD->GetPrizeIndex(i-1)); pIcon->Hide(FALSE); } } else { if (pImg != NULL) { pImgBox->SetImageByType(CUIImageBox::eImageType(pQuestDD->GetPrizeType(i-1)), pQuestDD->GetPrizeIndex(i-1), pQuestDD->GetSyndicateType()); UIRectUV pUv = pImgBox->GetUV(); pImg->setTexData( _pUIBtnTexMgr->GetTex( UIBtnExType(pImgBox->GetBtnType()), pImgBox->GetTextureID() )); pImg->SetUV(pUv.U0, pUv.V0, pUv.U1, pUv.V1); pImg->Hide(FALSE); } } m_plistContent->AddListItem(plistItem); } if (pImgBox) { delete pImgBox; pImgBox = NULL; } } //선택 보상 if(pQuestDD->IsOptionPrizeExist()) { // 보상 타이틀 plistItem = (CUIListItem*)m_pDesign->CloneTitle(); if (plistItem != NULL) { pText = (CUIText*)plistItem->findUI("str_copytitle"); if (pText != NULL) pText->SetText(pQuestDD->GetOptionPrizeDesc(0)); m_plistContent->AddListItem(plistItem); } // 보상 아이템 CUIImageBox* pImgBox = new CUIImageBox; int Count = pQuestDD->GetCountOptionPrizeDesc(); for( INDEX i = 1; i < Count; ++i ) { plistItem = (CUIListItem*)m_pDesign->CloneListItem(); if (plistItem == NULL) continue; // 아이템 설명 CTString strPrize = pQuestDD->GetOptionPrizeDesc( i ); bool bIcon = true; UIBtnExType eBtnType = UBET_ITEM; pTextBox = (CUITextBox*)plistItem->findUI("tb_copyComplete"); if (pTextBox != NULL) { tempColor = pTextBox->GetTextColor(); pTextBox->SetText(strPrize, tempColor, TRUE); } // 아이콘인지, 이미지 인지 결정 switch (pQuestDD->GetOptionPrizeType(i-1) ) { case QPRIZE_ITEM: eBtnType = UBET_ITEM; break; case QPRIZE_SKILL: case QPRIZE_SSKILL: eBtnType = UBET_SKILL; break; default: bIcon = false; break; } pIcon = (CUIIcon*)plistItem->findUI("icon_copyItem"); pImg = (CUIImage*)plistItem->findUI("img_copyitem"); // 아이템 if (bIcon == true) { if (pIcon != NULL) { pIcon->setData(eBtnType, pQuestDD->GetOptionPrizeIndex(i-1)); pIcon->Hide(FALSE); } } else { if (pImg != NULL) { pImgBox->SetImageByType(CUIImageBox::eImageType(pQuestDD->GetOptionPrizeType(i-1)), pQuestDD->GetOptionPrizeIndex(i-1), pQuestDD->GetSyndicateType()); UIRectUV pUv = pImgBox->GetUV(); pImg->setTexData( _pUIBtnTexMgr->GetTex( UIBtnExType(pImgBox->GetBtnType()), pImgBox->GetTextureID() )); pImg->SetUV(pUv.U0, pUv.V0, pUv.U1, pUv.V1); pImg->Hide(FALSE); } } pImg = (CUIImage*)plistItem->findUI("img_selectItem"); if (pImg != NULL) m_vecOptionPrize.push_back(pImg); CmdQuestBookPrizeItemSet* pCmd = new CmdQuestBookPrizeItemSet; pCmd->setData(this, i - 1); plistItem->SetCommandUp(pCmd); m_plistContent->AddListItem(plistItem); } if (pImgBox) { delete pImgBox; pImgBox = NULL; } } int nMaxItem = m_plistContent->getListItemCount(); m_plistContent->UpdateScroll(nMaxItem); m_plistContent->UpdateList(); int nShowCnt = m_plistContent->GetItemShowNum(); if (m_plistScroll != NULL) m_plistScroll->SetItemsPerPage(nShowCnt); if (m_pbtnGiveUp != NULL) m_pbtnGiveUp->SetEnable(TRUE); if (pQuestDD->GetPrizeNPCIndex() == 0 && GAMEDATAMGR()->GetQuest()->IsCompleteQuest(pQuestDD->GetQuestIndex())) { if (m_pbtnOk != NULL) m_pbtnOk->SetEnable(TRUE); } }
int genCRFSampleCtl(const char* fileName,int isDir) { static int id = 1; FILE *fp; // local train int trainOrTest; int refAreaStart; //int refAreaEnd; int currentOffset; //char *content; char mpredeli=' '; if(isDir) { printf("ignore dir:%s\n",fileName); return 1; } if(rand()%2) //train is 50% and test is 50% { // train fp = fpTrain; trainOrTest = 1; }else { // test fp = fpTest; trainOrTest = 0; } CNSQ preCNSQ; CNSQ nextCNSQ; clearQueue(&preCNSQ); clearQueue(&nextCNSQ); pCrfNodeSnapshot pCNS; // printf("[%d] %s:%s",id,(trainOrTest?"train":"test"),fileName); fflush(NULL); // parse tag or etc ,move data to RAM initContent(); if(!parseFile(fileName)) { fprintf(stderr,"[E] error parsing file : #%s#%s\n",fileName,__FILE__); return 0; } // refAreaStart = getReferenceHeadOffset(); //refAreaEnd = getReferenceEndOffset(); currentOffset = refAreaStart; //make queue full while(ftEnQueue(&nextCNSQ,¤tOffset,&mpredeli)); int httpStatus = 0; //int httpTime = 0; int quotStatus[3];// AT/NA IN/NIN OUT/NOUT int quotTime = 0; int pareStatus[3];// AT/NA IN/NIN OUT/NOUT int paraFlag = 0; int sqbStatus[3];// AT/NAT IN/NIN OUT/NOUT int sqbFlag = 0; int braStatus[3];// AT/NAT IN/NIN OUT/NOUT int braFlag = 0; // to make sure data is like this : )<<ignore this |from here to calculate>> ((())) int paraCache = 0; int sqbCache = 0; int braCache = 0; int isbnEffect = 0; /* FILE *fexp; char exportFileName[1024]; for(int z=3;z<18;z++) { sprintf(exportFileName,"res/%s",id2Token(z)); fexp = fopen(exportFileName,"a"); fseek(fexp, 0L, SEEK_END); fprintf(fexp,">>%s\n",fileName); fflush(NULL); fclose(fexp); } */ while((pCNS = ftDeQueue(&nextCNSQ)) != NULL) { /* sprintf(exportFileName,"res/%s",id2Token(pCNS->token)); fexp = fopen(exportFileName,"a"); fseek(fexp, 0L, SEEK_END); fprintf(fexp,"%s ~ [%d]::[%d]\n",pCNS->str,pCNS->isPubliserDict,pCNS->isPlaceNameDict|| pCNS->isCountryDict); fflush(NULL); fclose(fexp); */ // 0. PREPARE : FLAGS // 0.0 PAST ONE INFO && NEXT ONE INFO pCrfNodeSnapshot lpCNS = pastNElem(&preCNSQ,1); // previous one node pCrfNodeSnapshot npCNS = nextNElem(&nextCNSQ,1); // next one node // 0.1 TRAVERSAL ALL PAST && NEXT INFO , GET FLAGS int thesisFlag = 0; int ltdFlag = 0; int edsFlag = 0; int uniFlag = 0; int mitFlag = 0; int groupFlag = 0; int pressFlag = 0; int confFlag = 0; // conferences int orgFlag = 0; // organization (as,etc.) int labFlag = 0; // int techFlag = 0; int repFlag = 0; int procFlag = 0; int andFlag = 0; //int resFlag = 0; // research int nextPDigit = 0; // next pure digit int domainFlag = 0; int domainNoStop = 1; int inStatus = 0; int i; int edNoStop = 1; int stopEffect = 0; // XXXX XXXX XXXX // 2: ',' // 1: '.','?','!'.. // 0.1.1 NEXT for(i=1;i < sizeQueue(&nextCNSQ); i++) { pCrfNodeSnapshot tCNS = (i==0)? pCNS : nextNElem(&nextCNSQ,i); /* if((tCNS->puredigit >0 || tCNS->procflag == 1) && !((tCNS->slen==1)&&(tCNS->strtype == 2)) && !(strcmp(tCNS->str,"and") == 0)) { edNoStop = 0; }*/ /////////////////////////////////////////////////////////////////////// if(stopEffect < 2) // 0 , 1 { int sw = 1+stopEffect; // stop weight 1,2 if(tCNS->speflag == 55 ) // rep/rept == report { repFlag = sw; } if((tCNS->speflag == 50 ) // tech || (tCNS->speflag == 53 ) // rfc || (tCNS->speflag == 54 )) // tr { techFlag = sw; } // 71: lab // 72: Library // 73: Laboratory // 74: Center // 75: institute [X?] << institute if(((tCNS->speflag >= 71 )&&(tCNS->speflag < 75 )) || 0) // institute { labFlag = sw; } if((tCNS->speflag == 77 ) //Corporation / Co. || (tCNS->speflag == 78 )) // Organization { orgFlag = sw; } if((tCNS->speflag == 30 ) // Press || (tCNS->speflag == 31 ) // Publishing || (tCNS->speflag == 32 )) // Publisher/Pub. { pressFlag = sw; } if((tCNS->speflag == 90) // conference || (tCNS->speflag == 79) // Journal || (tCNS->speflag == 60)) // communications { confFlag = sw; // journal } if((tCNS->deptflag == 1) // dept. ||(tCNS->speflag == 56) // group ||(tCNS->speflag == 75) //institute ) { groupFlag = sw; // institute } if(tCNS->procflag == 1) // In xxx { inStatus = sw; } if(tCNS->procflag > 1) // Proc. { procFlag = sw; } if(tCNS->edsflag == 1 ) edsFlag = sw; //if(tCNS->edsflag == 1 && edNoStop) edsFlag = sw; if(tCNS->uniflag == 1) uniFlag = sw; // un of xxx in // un of ... press if(tCNS->speflag == 25) thesisFlag = sw; if(tCNS->speflag == 70) mitFlag = sw; if(tCNS->ltdflag) ltdFlag = sw; // name & name if(strcmp(tCNS->str,"and") == 0) andFlag = sw; } if(stopEffect < 1) // 0 { } /////////////////////////////////////////////////////////////////////// if(!isBlank(tCNS->predeli) && (tCNS->predeli !=':') && (tCNS->predeli !='/') && (tCNS->predeli !='.') && (tCNS->predeli !=',')) // for err { domainNoStop = 0; } if(domainNoStop) { if((tCNS->speflag == 20 || tCNS->speflag == 21) &&!isBlank(tCNS->nextdeli)) httpStatus = 1; if((tCNS->speflag == 22)&&(tCNS->nextdeli !=':')) httpStatus = 1; if(tCNS->domainflag) domainFlag = 1; } if(tCNS->puredigit > 0 && !tCNS->yearlike) nextPDigit ++ ; // stop effect if(i>0) { if(tCNS->stopflag == 1) stopEffect = (stopEffect == 2) ? 2 : 1; if(tCNS->stopflag == 2) stopEffect = 2; } } // 0.1.2 PREVIOUS httpStatus = 0; int seqFlag = 0; int puredata = 1; paraFlag = 0; sqbFlag = 0; braFlag = 0; paraCache = 0; sqbCache = 0; braCache = 0; stopEffect = 0; domainNoStop = 1; edNoStop = 1; // << -- | for(i=0;i < sizeQueue(&preCNSQ) ; i++) { pCrfNodeSnapshot tCNS = (i==0) ? pCNS : pastNElem(&preCNSQ,i); if(i>0) { if(tCNS->stopflag == 1) stopEffect = (stopEffect == 2) ? 2 : 1; if(tCNS->stopflag == 2) stopEffect = 2; } if(!tCNS->puredigit && tCNS->strtype!=4) puredata = 0; if( puredata && tCNS->speflag == 40) isbnEffect = 1; if(!isBlank(tCNS->predeli) && (tCNS->predeli !=':') && (tCNS->predeli !='/') && (tCNS->predeli !='.') && (tCNS->predeli !=',')) // for err { domainNoStop = 0; } if(domainNoStop) { if((tCNS->speflag == 20 || tCNS->speflag == 21) &&!isBlank(tCNS->nextdeli)) httpStatus = 2; if((tCNS->speflag == 22)&&(tCNS->nextdeli !=':')) httpStatus = 2; } //////////////////////////////////////////////////////////////////// if(stopEffect < 2) // 0 , 1 { int sw = 3+stopEffect; // stop weight 3,4 if(tCNS->speflag == 55 ) // rep/rept == report { repFlag = sw; } if((tCNS->speflag == 50 ) // tech || (tCNS->speflag == 53 ) // rfc || (tCNS->speflag == 54 )) // tr { techFlag = sw; } // 71: lab // 72: Library // 73: Laboratory // 74: Center // 75: institute [X?] if(((tCNS->speflag >= 71 )&&(tCNS->speflag < 75 )) || 0) // institute { labFlag = sw; } if((tCNS->speflag == 77 ) //Corporation / Co. || (tCNS->speflag == 78 )) // Organization { orgFlag = sw; } if((tCNS->speflag == 30 ) // Press || (tCNS->speflag == 31 ) // Publishing || (tCNS->speflag == 32 )) // Publisher/Pub. { pressFlag = sw; } if((tCNS->speflag == 90) // conference || (tCNS->speflag == 79) // Journal || (tCNS->speflag == 60)) // communications { confFlag = sw; // journal } if((tCNS->deptflag == 1) // dept. ||(tCNS->speflag == 56) // group ||(tCNS->speflag == 75) //institute ) { groupFlag = sw; // institute } if(tCNS->procflag == 1) // In xxx { inStatus = sw; } if(tCNS->edsflag == 1 && edNoStop) edsFlag = sw; //if(tCNS->edsflag == 1 ) edsFlag = sw; if(tCNS->uniflag == 1) uniFlag = sw; // un of xxx in // un of ... press if(tCNS->procflag > 1) // Proc. { procFlag = sw; } if(tCNS->speflag == 25) thesisFlag = sw; if(tCNS->speflag == 70) mitFlag = sw; if(tCNS->ltdflag) ltdFlag = sw; if((strcmp(tCNS->str,"and") == 0) && (i < 2)) andFlag = sw; } if(stopEffect < 1) // 0 { } //////////////////////////////////////////////////////////////////// // couple delimiter if(tCNS->pareEflag) paraCache++; if(tCNS->pareSflag) { paraFlag = paraFlag + 1 - paraCache; paraCache = 0; } if(tCNS->sqbEflag) sqbCache++; if(tCNS->sqbSflag) { sqbFlag = sqbFlag + 1 - sqbCache; sqbCache = 0; } if(tCNS->braEflag) braCache++; if(tCNS->braSflag) { braFlag = braFlag + 1 - braCache; braCache = 0; } if(i<3 && tCNS->sqbEflag) { seqFlag = 1; } ////////////////END STOP////////////////////// if(tCNS->puredigit == 2 ) { edNoStop = 0; } // [In] xxx if(tCNS->procflag == 1) edNoStop = 0; } pareStatus[0] = paraFlag > 0 ; sqbStatus[0] = sqbFlag > 0; braStatus[0] = braFlag > 0; // 0.2 SOME MIX FEATURE // \" quotTime--; if(quotTime <= 0) { quotStatus[0] = 0; quotTime = 0; }else { quotStatus[0] = 1; } quotStatus[1] = 0; quotStatus[2] = 0; if(pCNS->quotflag%2 == 1) { quotStatus[0] = !quotStatus[0]; if(quotStatus[0]) quotTime = 10; else quotTime = -10; }else if(pCNS->quotflag > 0 && pCNS->quotflag%2 == 0) { quotStatus[1] = quotStatus[2] = 1; quotTime = 0; } if(quotTime == 10) quotStatus[1] = 1; else if(quotTime == -10) quotStatus[2] = 1; //((quotTime==10||quotTime==-10)?(quotStatus?"IN":"OUT"):(quotStatus?"AT":"NA")) ////////////////////////////////////////////////////////////////////// pareStatus[1] = pareStatus[2] = 0; // para if(pCNS->pareSflag == 1) { pareStatus[1] = 1; } if(pCNS->pareEflag == 1) { pareStatus[2] = 1; } ////////////////////////////////////////////////////////////////////// // sqb sqbStatus[1] = sqbStatus[2] = 0; if(pCNS->sqbSflag == 1) { sqbStatus[1] = 1; } if(pCNS->sqbEflag == 1) { sqbStatus[2] = 1; } ////////////////////////////////////////////////////////////////////// // bra braStatus[1] = braStatus[2] = 0; if(pCNS->braSflag == 1) { braStatus[1] = 1; } if(pCNS->braEflag == 1) { braStatus[2] = 1; } // xxxx ( abcd ) or xxxx , (abcd) // in template int contentConnect = 0; if(pareStatus[0] == 1) { for(i=1;i < sizeQueue(&preCNSQ) ; i++) { pCrfNodeSnapshot tCNS = pastNElem(&preCNSQ,i); if(tCNS->predeli == '(') { tCNS = pastNElem(&preCNSQ,i+1); if(tCNS->nextdeli == '(') contentConnect = 1; break; } } } // combined string , combine with next string char combinedStr[1024]; sprintf(combinedStr,"%s%s",pCNS->str,((npCNS==NULL)?"":npCNS->str)); // 1. OUTPUT : PRINT FEATURES // basic // 0: string data fprintf(fp,"%s\t",pCNS->str); // 1: length of string data 0,1,2,3,4,5,6 >6 //fprintf(fp,"串长/"); fprintf(fp,"%d\t",pCNS->slen<7?pCNS->slen:9); // base::string // 2: string type 0:AAA 1:aaa 2:Aaa 3:aAa 4:123 //fprintf(fp,"类型/"); fprintf(fp,"%d\t",pCNS->strtype); // 3: prefix //fprintf(fp,"前缀/"); fprintf(fp,"%c/%c\t",tolower(pCNS->str[0]),(pCNS->slen>1)?tolower(pCNS->str[1]):'X'); // 4: sufix //fprintf(fp,"后缀/"); fprintf(fp,"%c/%c\t",(pCNS->slen>1)?tolower(pCNS->str[pCNS->slen-2]):'X', tolower(pCNS->str[pCNS->slen-1])); // base::digit // 5: digit value > 0 ? //fprintf(fp,"数值/"); fprintf(fp,"%d\t",pCNS->dval > 0 ); // 6: digit bigger than previours one //fprintf(fp,"比前值长/"); fprintf(fp,"%d\t",lpCNS==NULL?-1:(lpCNS->dval == 0?-1:(pCNS->dval > lpCNS->dval))); // 7: next one is bigger than this digit //fprintf(fp,"比后值短/"); fprintf(fp,"%d\t",npCNS==NULL?-1:(npCNS->dval == 0?-1:(npCNS->dval > pCNS->dval))); // 8: digit a improve digit ? 123456 456 > 123 //fprintf(fp,"升数/"); fprintf(fp,"%d\t",pCNS->imprnum ); // 9: is pure digit ? see 'I' 'l' 'O' etc. as digit //fprintf(fp,"纯数/"); fprintf(fp,"%d\t",pCNS->puredigit); // base::delimiter // 10: last delimiter //fprintf(fp,"前分隔符/"); fprintf(fp,"%d\t",pCNS->predeli); // 11: last useful delimiter //fprintf(fp,"前有用分隔符/"); fprintf(fp,"%d\t",pCNS->mpredeli); // 12: next delimiter //fprintf(fp,"后分隔符/"); fprintf(fp,"%d\t",pCNS->nextdeli); // base::string orthographic // 13: year like || month like >> time like //fprintf(fp,"似年/"); fprintf(fp,"%d\t",(pCNS->yearlike > 0 )|| (pCNS->monthlike > 0 )); // 14: volume like start of volume ? vol. X num. no. number //fprintf(fp,"似卷/"); if(pCNS->volumnlike < 3) fprintf(fp,"%d\t",pCNS->volumnlike); else if(!isBlank(pCNS->nextdeli)) fprintf(fp,"%d\t",pCNS->volumnlike-2); else fprintf(fp,"0\t"); // 15: page like //fprintf(fp,"似页/"); fprintf(fp,"%d\t",pCNS->pagelike); // base::dict // 16: name in dict //fprintf(fp,"字典/名/"); fprintf(fp,"%d\t",pCNS->isNameDict || pCNS->rLastNameDict > 0); // 17: place in dict pCNS->isPlaceNameDict = pCNS->isPlaceNameDict || isPlaceNameInDict(combinedStr); pCNS->isCountryDict = pCNS->isCountryDict || isCountryInDict(combinedStr); //fprintf(fp,"字典/地/"); fprintf(fp,"%d\t",pCNS->isPlaceNameDict>0 || pCNS->isCountryDict > 0); // 18: publisher in dict pCNS->isPubliserDict = pCNS->isPubliserDict || isPublisherInDict(combinedStr); //fprintf(fp,"字典/出版社/"); fprintf(fp,"%d\t",pCNS->isPubliserDict); // 19: fun word in dict //fprintf(fp,"字典/功能词汇/"); fprintf(fp,"%d\t",pCNS->isFunWordDict); // base::couple flag ststus // 20,21,22 quots AT IN OUT //fprintf(fp,"引号123/"); fprintf(fp,"%d\t",quotStatus[0]); fprintf(fp,"%d\t",quotStatus[1]); fprintf(fp,"%d\t",quotStatus[2]); // 23,24,25 Parentheses AT IN OUT //fprintf(fp,"花括号123/"); fprintf(fp,"%d\t",pareStatus[0]); fprintf(fp,"%d\t",pareStatus[1]); fprintf(fp,"%d\t",pareStatus[2]); // 26,27,28 Square brackets AT IN OUT //fprintf(fp,"方括号123/"); fprintf(fp,"%d\t",sqbStatus[0]); fprintf(fp,"%d\t",sqbStatus[1]); fprintf(fp,"%d\t",sqbStatus[2]); // 29,30,31 Braces AT IN OUT //fprintf(fp,"括号123/"); fprintf(fp,"%d\t",braStatus[0]); fprintf(fp,"%d\t",braStatus[1]); fprintf(fp,"%d\t",braStatus[2]); // base::flags // 32 basic flags // special flag (mixed) //fprintf(fp,"特殊标记/"); fprintf(fp,"%d\t",pCNS->speflag); // 33 stop flag && effect //fprintf(fp,"停止/括号1/2/3/"); fprintf(fp,"%d/%d/%d/%d\t",pCNS->stopflag, (quotStatus[0]||pareStatus[0]||sqbStatus[0]||braStatus[0]), (quotStatus[1]||pareStatus[1]||sqbStatus[1]||braStatus[1]), (quotStatus[2]||pareStatus[2]||sqbStatus[2]||braStatus[2])); // 34 eds flag //fprintf(fp,"编辑标记/"); fprintf(fp,"%d\t",edsFlag); // 35: name like //fprintf(fp,"似名/"); fprintf(fp,"%d\t",pCNS->namelike); // extend::flags effect // 36 number of next pure digit //fprintf(fp,"后面数字个数/journal/"); fprintf(fp,"%d\t",nextPDigit); // 37 http effect domain //fprintf(fp,"HTTP态/"); //fprintf(fp,"DOMAIN态/"); fprintf(fp,"%d/%d\t",httpStatus,domainFlag); // extend::mix effect // 38 [abc def] author @ abc //fprintf(fp,"组合顺序/前/"); if(pCNS->mpredeli == '[' && npCNS != NULL) { if(npCNS->nextdeli == ']') fprintf(fp,"1\t"); else fprintf(fp,"0\t"); }else fprintf(fp,"0\t"); // [abc def] author @ def // 39 //fprintf(fp,"组合顺序/后/"); if(pCNS->nextdeli == ']' && seqFlag == 1) { fprintf(fp,"1\t"); }else fprintf(fp,"0\t"); // 40 article xxxx, A process of ... //fprintf(fp,"AAnTheOn/终/"); fprintf(fp,"%d/%d\t",pCNS->isArticle,pCNS->stopflag); // 41 tech //fprintf(fp,"TECH/"); int phdflag = 0; if((strcasecmp("ph",pCNS->str)== 0 && npCNS->str[0] == 'D') || strcasecmp("phD",pCNS->str)== 0) phdflag = 1; else phdflag = 0; fprintf(fp,"%d\t",phdflag); // 42 xxx thesis thesis : 25 //fprintf(fp,"Thesis/"); fprintf(fp,"%d\t",thesisFlag); // 43 inc ltd limited : ltdflag 1 2 3 //fprintf(fp,"Inc/Ltd/Limit/"); fprintf(fp,"%d\t",ltdFlag); // 44 45 46 ACM / ICPC / IEEE //fprintf(fp,"ACM/ICPC/IEEE/"); fprintf(fp,"%d\t",pCNS->speflag == 1); // ISO fprintf(fp,"%d\t",pCNS->speflag == 2); // IEEE fprintf(fp,"%d\t",pCNS->speflag == 3); // ACM // 47 CNAC AECSA SRCD ... // contain C //fprintf(fp,"CONF/"); //fprintf(fp,"%d\t",pCNS->strtype == 0 && pCNS->slen < 6 && pCNS->slen > 2); fprintf(fp,"%d\t",conferencelike(pCNS->str,pCNS->slen)); // 48 technical report //fprintf(fp,"TR/"); fprintf(fp,"%d\t",techFlag || phdflag || repFlag); //fprintf(fp,"%d/\t",repFlag); // 49 MIT //fprintf(fp,"MIT/"); fprintf(fp,"%d\t",mitFlag); // 50 51 52 university of //fprintf(fp,"学校/"); fprintf(fp,"%d\t",pCNS->uniflag); //fprintf(fp,"学校/影响/"); fprintf(fp,"%d\t",uniFlag); //fprintf(fp,"%d/%d\t",pCNS->predeli,pCNS->uniflag); //fprintf(fp,"终止/前一个/学校/"); fprintf(fp,"%d/%d\t",lpCNS == NULL ? 3 : lpCNS->stopflag,pCNS->uniflag); // (August 1-2 2013) // how about ? // 53 xxxx , (adfadf) or xxxx (adfasf) //fprintf(fp,"逗号隔开/"); fprintf(fp,"%d\t",contentConnect); // rfc || request (in tr) //fprintf(fp,"%d\t",rfc); // 54 55 56 57 58 59 in proceedings of // 54 //fprintf(fp,"In/点/"); fprintf(fp,"%d\t",pCNS->procflag == 1); // In point // 55 //fprintf(fp,"In点/名字/"); fprintf(fp,"%d\t",(pCNS->procflag == 1) && ((npCNS->namelike)||(npCNS->isNameDict ) || (npCNS->rLastNameDict > 0))); // 56 //fprintf(fp,"In/状态/"); fprintf(fp,"%d\t",inStatus); // 57 //fprintf(fp,"In/状态/名字/"); fprintf(fp,"%d\t",inStatus && ((pCNS->namelike)||(pCNS->isNameDict ) || (pCNS->rLastNameDict > 0))); // 58 //fprintf(fp,"In/Proc/状态/"); fprintf(fp,"%d\t",(pCNS->procflag == 1) || procFlag); // 59 //fprintf(fp,"Proc/状态/"); fprintf(fp,"%d\t",procFlag); // 60 department of / dept. of //fprintf(fp,"Dept/点/"); fprintf(fp,"%d\t",pCNS->deptflag); // 61 press //fprintf(fp,"出版社状态/"); fprintf(fp,"%d\t",pressFlag); // 62 conf / journal //fprintf(fp,"似期刊/"); fprintf(fp,"%d\t",confFlag); // 63 org //fprintf(fp,"组织|实验室/"); fprintf(fp,"%d\t",orgFlag || labFlag); // 64 group //fprintf(fp,"小组/"); fprintf(fp,"%d\t",groupFlag); // 65 lib ins/pub //fprintf(fp,"实验室/"); fprintf(fp,"%d\t",labFlag); // 66 isbn //fprintf(fp,"ISBN/状态/"); fprintf(fp,"%d\t",isbnEffect); // 67 group lab or dept //fprintf(fp,"机构||/"); fprintf(fp,"%d\t",labFlag > 0 || groupFlag > 0 || uniFlag > 0); // 68 eds point //fprintf(fp,"编辑/点/下个分隔符/"); fprintf(fp,"%d/%d\t",pCNS->edsflag,pCNS->nextdeli);// // 69 //fprintf(fp,"出版社名/机构&出版社/"); fprintf(fp,"%d/%d\t",pCNS->isPubliserDict, pressFlag &&(labFlag > 0 || groupFlag > 0 || uniFlag > 0) ); // university , // 70 et , al //fprintf(fp,"et/al/"); if(lpCNS != NULL && npCNS != NULL) { if((strcmp(lpCNS->str,"et")==0) && (strcmp(pCNS->str,"al")==0)) fprintf(fp,"1\t"); else if((strcmp(pCNS->str,"et")==0) && (strcmp(npCNS->str,"al")==0)) fprintf(fp,"2\t"); else fprintf(fp,"0\t"); }else fprintf(fp,"0\t"); // 71 // jump to note : Available ... Submitted Submitted to //Unpublished Published as //fprintf(fp,"其他/"); if(lpCNS != NULL && npCNS != NULL) { if ( (strcmp(pCNS->str,"Available") == 0) || ((strcmp(pCNS->str,"Submitted")== 0)&&(strcmp(npCNS->str,"to"))) || (strcmp(pCNS->str,"Unpublished")== 0) || (strcmp(pCNS->str,"Published")== 0) || ((strcmp(pCNS->str,"To")== 0) && (strcmp(npCNS->str,"appear")== 0)) ) { fprintf(fp,"1\t"); }else fprintf(fp,"0\t"); }else fprintf(fp,"0\t"); // note start // 72 and //fprintf(fp,"和/"); fprintf(fp,"%d\t",andFlag); // 73 endSign //fprintf(fp,"终止/"); fprintf(fp,"%d\t",pCNS->stopflag); // 2. END : PRINT RESULT if(lpCNS != NULL && npCNS != NULL) { if((lpCNS->token == 3 && npCNS->token == 3) || (lpCNS->token == 6 && npCNS->token == 6)) fprintf(fp,"%s\n",id2Token(lpCNS->token)); else fprintf(fp,"%s\n",pCNS->token == 0 ? "other":id2Token(pCNS->token)); }else fprintf(fp,"%s\n",pCNS->token == 0 ? "other":id2Token(pCNS->token)); //enQueue && store enQueueWithDrop(&preCNSQ,*pCNS); ftEnQueue(&nextCNSQ,¤tOffset,&mpredeli); } // id++; cleanContent(); printf(" ok\n"); return 1; }