示例#1
0
文件: Parser.cs 项目: zjloscar/Dynamo
        void DSImperative()
        {
            Node node = null;

            codeblock = new CodeBlockNode();

            while (StartOf(1))
            {
                if (StartOf(2))
                {
                    stmt(out node);
                }
                else
                {
                    functiondecl(out node);
                }
                if (null != node)
                {
                    (codeblock as CodeBlockNode).Body.Add(node);
                }
            }
        }
示例#2
0
文件: Parser.cs 项目: RobertiF/Dynamo
	void DSImperative() {
		Node node = null; 
		codeblock = new CodeBlockNode();
		
		while (StartOf(1)) {
			if (StartOf(2)) {
				stmt(out node);
			} else {
				functiondecl(out node);
			}
			if (null != node)	
			(codeblock as CodeBlockNode).Body.Add(node); 
			
		}
	}
示例#3
0
	void HydrogenParser() {
		codeblock = new CodeBlockNode(); 
		Node node = null; 
		while (StartOf(1)) {
			if (la.kind == 1 || la.kind == 20 || la.kind == 48) {
				Statement(out node);
			} else if (la.kind == 25 || la.kind == 26) {
				functiondecl(out node);
			} else if (la.kind == 23) {
				classdecl(out node);
			} else {
				LanguageBlock(out node);
			}
			if (null != node)
			(codeblock as CodeBlockNode).Body.Add(node); 
			
		}
	}