chewing_new()
chewing_new() 不接受任何參數
裡面直接呼叫
chewing_new2() 且 syspath, userpath, logger, loggerdata 這些參數直接填上NULL
chewing_new2()
傳入參數介紹
chewing_new2() 接收四個參數: syspath, userpath, logger, loggerdata
syspath
主要就是搜尋路徑,如果沒有值的話,會呼叫 get_search_path(),根據作業系統不同會有不同的預設路徑,chewing_new2() 會在初始化的過程從此路徑中搜尋檔案 ex: DICT_FIELS, SYMBOL_TABLE_FILES, EASY_SYMBOL_FILES, PINYIN_FILES
至於這些檔案內容是什麼就等之後trace其他部分後再了解
userpath
主要就是存放 userphrase 的路徑,就我之前的理解,Userphrase 指的是詞組 例如: 茶葉 綠茶 這種詞組的檔案
logger
如同字面上的意思做紀錄的 logger,會存放在 chewing context 的 chewing data 裡面
如果值是 NULL 則會設定為 NullLogger (就是完全不做任何logging)
loggerdata
如字面上的意思 logger 的 data 但我也不確定確切的內容會存放何物
與 logger 一樣會存放在 chewing data 裡
行為簡介
主要會是 allocate 一個 chewing_context 然後再 allocate 其他必須的空間
呼叫 chewing_Reset()
接著會從search path中尋找一些檔案的path
## 搜尋 DICT_FILES path
InitDict()
InitTree()
## 從 user path 搜尋 userphrase path
InitUserphrase()
## 搜尋 SYMBOL_TABLE_FILES path
InitSymbolTable()
## 搜尋 EASY_SYMBOL_FILES path
InitEasySymbolInput()
呼叫 chewing_Reset()
接著會從search path中尋找一些檔案的path
## 搜尋 DICT_FILES path
InitDict()
InitTree()
## 從 user path 搜尋 userphrase path
InitUserphrase()
## 搜尋 SYMBOL_TABLE_FILES path
InitSymbolTable()
## 搜尋 EASY_SYMBOL_FILES path
InitEasySymbolInput()
## 搜尋 PINYIN_FILES path
InitPinyin()
最後再回傳chewing_context
InitPinyin()
最後再回傳chewing_context
沒有留言:
張貼留言