?? visit.m
字號:
function node = visit(node)global AP_NAME AP_BUILD_INFO% traverse the tree to find atomic propositionsif strcmp(node.symbol,'ap') switch node.production case 'polyap', apname = node.value{1}.value; if ~ismember(apname,AP_NAME) new = length(AP_NAME)+1; AP_NAME{new} = apname; AP_BUILD_INFO{new} = {'polyap'}; end % replace subtree by a single leaf node representing apname node.production = 'none'; node.value = apname; case 'fsmap', fsmname = node.value{1}.value; statename = node.value{3}.value; apname = [fsmname '_in_' statename]; if ~ismember(apname,AP_NAME) new = length(AP_NAME)+1; AP_NAME{new} = apname; AP_BUILD_INFO{new} = {'fsmap' fsmname statename}; end % replace subtree by a single leaf node representing this finite % state machine atomic proposition node.production = 'none'; node.value = apname; otherwise, error(['Unknown production ''' node.production ''' for atomic proposition'])% moved endelse if ~ischar(node.value) for k = 1:length(node.value) node.value{k} = visit(node.value{k}); end endend
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -