/// <summary> /// Parser for AttrArgument /// </summary> /// <returns>Parsed AttrArgument</returns> public AttrArgument ParseAttrArgument() { AttrArgument argument = new AttrArgument(); //Parse identifier CurrentToken = TokenStream.NextToken(); argument.SetIdentifier(CurrentToken.GetValue().ToString()); //Skip = token NextToken("=", "identifier = expression", '='); //Parse expression argument.SetExpression(expressionParser.ParseExpression()); return(argument); }
public void ParseAttrArgumentTest() { //Parse tokens MarkupParser markupParser = new MarkupParser(Init("(i = 1)")); Markup markup = new Markup(); markupParser.ParseArguments(markup); //Test arguments Assert.AreEqual(1, markup.GetArguments().Count); Argument argument = (Argument)markup.GetArguments().Get(0); Assert.AreEqual(typeof(AttrArgument), argument.GetType()); //Test specific argument AttrArgument attrArgument = (AttrArgument)argument; Assert.AreEqual("i", attrArgument.GetIdentifier()); Assert.AreEqual(typeof(NumExpression), attrArgument.GetExpression().GetType()); }
public virtual void Visit(AttrArgument argument) { VisitSubNodes(argument); }
/// <summary> /// Parser for AttrArgument /// </summary> /// <returns>Parsed AttrArgument</returns> public AttrArgument ParseAttrArgument() { AttrArgument argument = new AttrArgument(); //Parse identifier CurrentToken = TokenStream.NextToken(); argument.SetIdentifier(CurrentToken.GetValue().ToString()); //Skip = token NextToken("=", "identifier = expression", '='); //Parse expression argument.SetExpression(expressionParser.ParseExpression()); return argument; }