示例#1
0
文件: KApp.java 项目: kszr/k
 /** Constructs a {@link KApp} object from an XML {@link Element}. */
 public KApp(Element element, org.kframework.kil.loader.Context context) {
   super(element);
   List<Element> childrenElements = XML.getChildrenElements(element);
   Element body = XML.getChildrenElements(childrenElements.get(0)).get(0);
   setLabel((Term) JavaClassesFactory.getTerm(body));
   Term term = (Term) JavaClassesFactory.getTerm(childrenElements.get(1));
   if (!(term.getSort().equals(Sort.KLIST) || term instanceof Ambiguity)) {
     setChild(new KList(Collections.<Term>singletonList(term)));
   } else {
     setChild(term);
   }
 }
示例#2
0
文件: Attributes.java 项目: jcnm/k
  public Attributes(Element element, JavaClassesFactory factory) {
    super(element);

    contents = new LinkedHashMap<>();
    List<Element> children = XML.getChildrenElements(element);
    for (Element e : children) add((Attribute<?>) factory.getTerm(e));
  }
示例#3
0
  public TermCons(Element element, Context context) {
    super(element);
    this.sort = element.getAttribute(Constants.SORT_sort_ATTR);
    this.cons = element.getAttribute(Constants.CONS_cons_ATTR);
    this.production = context.conses.get(cons);
    assert this.production != null;

    contents = new ArrayList<Term>();
    List<Element> children = XML.getChildrenElements(element);
    for (Element e : children) contents.add((Term) JavaClassesFactory.getTerm(e));
  }