Files
lab/6/схемотехника/course_project/subsets.js
2026-03-06 00:05:30 +03:00

46 lines
1.0 KiB
JavaScript

import * as fs from 'node:fs'
const fns = JSON.parse(fs.readFileSync('subsets.json'))
const subsets = new Array(fns.length)
for (let fn_i = 0; fn_i < fns.length; fn_i++) {
const fn = fns[fn_i].str
subsets[fn_i] = new Set
for (let subfn_i = 0; subfn_i < fns.length; subfn_i++) {
if (fn_i == subfn_i) {
continue
}
const subfn = fns[subfn_i].str
let is_subfn = true
for (let char_i = 0; char_i < fn.length; char_i++) {
const char = fn[char_i]
const subchar = subfn[char_i]
if (char != subchar && subchar != 'x') {
is_subfn = false
break
}
}
if (is_subfn) {
subsets[fn_i].add(subfn_i)
}
}
}
console.log(subsets)
for (let subset_i = 0; subset_i < subsets.length; subset_i++) {
const subset = subsets[subset_i]
if (subset.size == 0) {
continue
}
const fn_name = fns[subset_i].name
console.log(fn_name)
for (const subfn_i of subset) {
const subfn_name = fns[subfn_i].name
console.log(fn_name + '->' + subfn_name)
}
}