UNPKG

costreamjs

Version:

A high-performance streaming programming language for parallel architecture. This repo (js-version) is created for better using & reading & debugging.

21 lines (18 loc) 574 B
import { compositeNode }from "../ast/node.js" export class SemCheck { constructor(){ } } /* * 功能:找到Main composite * 输入参数:语法树单元program * 输出:返回 Main Composite */ SemCheck.findMainComposite = function(program){ var isMain = (node) => node instanceof compositeNode && node.compName == "Main" ; var main_composites = program.filter(node => isMain(node)) if (main_composites.length != 1){ throw new Error("the program should have one && more than one composite entrance") } return main_composites[0] }