Module:MOS: Difference between revisions
No edit summary |
No edit summary |
||
| Line 21: | Line 21: | ||
-- parse a MOS structure | -- parse a MOS structure | ||
function p.parse(unparsed) | function p.parse(unparsed) | ||
local nL, ns, equave = unparsed:match('^(%d+)[Ll]%s*(%d+)[Ss] | local nL, ns, equave = unparsed:match('^(%d+)[Ll]%s*(%d+)[Ss](.*)$') | ||
nL = tonumber(nL) | nL = tonumber(nL) | ||
ns = tonumber(ns) | ns = tonumber(ns) | ||
equave = rat.parse(equave:match('^%((.*)-equivalent%)$')) or 2 | equave = rat.parse(equave:match('^%s*%((.*)-equivalent%)$')) or 2 | ||
equave = common_ratio[equave] or equave | equave = common_ratio[equave] or equave | ||
if nL == nil or ns == nil or equave == nil then | if nL == nil or ns == nil or equave == nil then | ||