예제 #1
0
 private static AstNode ParseHash(TokenStream stream)
 {
     stream.Expect (TokenClass.OpenBrace);
     HashExpression ret = new HashExpression (stream.Location);
     while (!stream.Match (TokenClass.CloseBrace)) {
         ret.Add (ParseExpression (stream));
         stream.Expect (TokenClass.Colon);
         ret.Add (ParseExpression (stream));
         if (!stream.Accept (TokenClass.Comma)) {
             break;
         }
     }
     stream.Expect (TokenClass.CloseBrace);
     return ret;
 }
예제 #2
0
 public void Accept(HashExpression hash)
 {
     visitSubnodes (hash);
     methodBuilder.EmitInstruction (hash.Location, Opcode.BuildHash, hash.Children.Count / 2);
 }
예제 #3
0
		public override void Accept (HashExpression hash)
		{
			hash.VisitChildren (this);
			methodBuilder.EmitInstruction (hash.Location, Opcode.BuildHash, hash.Children.Count / 2);
		}
예제 #4
0
 public void Accept(HashExpression hash)
 {
     hash.Visit (functionCompiler);
 }
예제 #5
0
		public override void Accept (HashExpression hash)
		{
			hash.Visit (parentVisitor);
		}
예제 #6
0
 public virtual void Accept(HashExpression hash)
 {
 }
예제 #7
0
 public void Accept(HashExpression hash)
 {
     hash.VisitChildren (this);
 }
예제 #8
0
 public void Accept(HashExpression hash)
 {
 }