OneLineParentNode Attribute() { OneLineParentNode node = new OneLineParentNode("Attribute"); uint elem = Input.Lexems.GetAndRemove(); if (elem == Tables.ResWor["INTEGER"]) { node.AddChildren(new ContainerNode(key, elem)); return(node); } if (elem == Tables.ResWor["FLOAT"]) { node.AddChildren(new ContainerNode(key, elem)); return(node); } if (elem == Tables.Delimiters["["]) { node.AddChildren(new ContainerNode(del, elem)); node.AddChildren(Range()); elem = Input.Lexems.GetAndRemove(); if (elem != Tables.Delimiters["]"]) { Error(); } else { node.AddChildren(new ContainerNode(del, elem)); } return(node); } Error(); return(null); }
OneLineParentNode AttributesList() { if (Input.Lexems[0] != Tables.Delimiters[";"]) { OneLineParentNode node = Attribute(); return(AttributesList().AddChildren(node)); } else { return(new OneLineParentNode("AttrList")); } }
OneLineParentNode Range() { OneLineParentNode node = new OneLineParentNode("Range", UnsignedInteger()); uint elem = Input.Lexems.GetAndRemove(); if (elem != Tables.MSDel[".."]) { Error(); } else { node.AddChildren(new ContainerNode(del, elem)); node.AddChildren(UnsignedInteger()); } return(node); }
OneLineParentNode Dimension() { OneLineParentNode node = new OneLineParentNode("Dimension"); if (Input.Lexems[0] == Tables.Delimiters["["]) { node.AddChildren(del, Input.Lexems.GetAndRemove()); node.AddChildren(Expression()); if (Input.Lexems[0] != Tables.Delimiters["]"]) { Error(); } else { node.AddChildren(del, Input.Lexems.GetAndRemove()); } } return(node); }