首页 > 代码库 > C语法归约之表达式复合运算(4)

C语法归约之表达式复合运算(4)

上篇文字是基本表达式归约过程示例,本篇将来点高级复杂的玩玩!这部分示例代码源自kernel的20个源程序文件,挑选运算符组合复杂和比较典型的表达式!因此只能用来归约示例,不是可运行代码!从而导致归约树尤其的大!个别表达式对你用处不大,不用全看,挑你有兴趣的运算符组合,瞅瞅就好!

示例代码

void test_exp()
{
	mask |= (1 << i);

	*cc = (struct compact_control *)data;

	*ppos += *lenp;

	ent->type  = resid >> 24;

	(((dp>>4) ^ dp) & 0x0F) != 0x0F;

	(dp & 0x0F) >= (1<<i);

	set_pte_at(&init_mm, vaddr, &(pkmap_page_table[last_pkmap_nr]), mk_pte(page, kmap_prot));
	
	*zone = &pgdat->node_zones[zoneid];

	need_resched() || spin_is_contended(lock);

	is_migrate_cma(migratetype) || migratetype == MIGRATE_MOVABLE;

	vec |= ~map[idx / BITS_PER_LONG + 1] << (BITS_PER_LONG - shift);

	*t++ = nubus_get_rom(&p, 1, dirent->mask);

	dir->ptr = dir->base = board->directory;

	dir->ptr = dir->base = nubus_dirptr(ent);

	pl08x->slave.dev = &adev->dev;

	val &= ~PL080_CONFIG_HALT;

	writel(1 << ch->id, pl08x->base + PL080_ERR_CLEAR);

	ch = &pl08x->phy_chans[i];

	*mbus = &bd->dstbus;

	llis_va[num_llis].src = http://www.mamicode.com/bd->srcbus.addr;>

归约过程

void test_exp()
{
	mask |= (1 << i);
<pre name="code" class="cpp">curr: void  next: test_exp  
type-specifier 
declaration-specifiers 

curr: ID  next: (  
declaration-specifiers direct-declarator 

curr: (  next: )  

curr: )  next: {  
declaration-specifiers direct-declarator 
declaration-specifiers declarator 

curr: {  next: mask  

curr: ID  next: |=  
declaration-specifiers declarator { primary-expression 
declaration-specifiers declarator { postfix-expression 
declaration-specifiers declarator { unary-expression 

curr: |=  next: (  
declaration-specifiers declarator { unary-expression assignment-operator 

curr: (  next: 1  

curr: 1  next: <<  
declaration-specifiers declarator { unary-expression assignment-operator ( primary-expression 
declaration-specifiers declarator { unary-expression assignment-operator ( postfix-expression 
declaration-specifiers declarator { unary-expression assignment-operator ( unary-expression 
declaration-specifiers declarator { unary-expression assignment-operator ( cast-expression 
declaration-specifiers declarator { unary-expression assignment-operator ( multiplicative-expression 
declaration-specifiers declarator { unary-expression assignment-operator ( additive-expression 
declaration-specifiers declarator { unary-expression assignment-operator ( shift-expression 

curr: <<  next: i  

curr: ID  next: )  
declaration-specifiers declarator { unary-expression assignment-operator ( shift-expression << primary-expression 
declaration-specifiers declarator { unary-expression assignment-operator ( shift-expression << postfix-expression 
declaration-specifiers declarator { unary-expression assignment-operator ( shift-expression << unary-expression 
declaration-specifiers declarator { unary-expression assignment-operator ( shift-expression << cast-expression 
declaration-specifiers declarator { unary-expression assignment-operator ( shift-expression << multiplicative-expression 
declaration-specifiers declarator { unary-expression assignment-operator ( shift-expression << additive-expression 
declaration-specifiers declarator { unary-expression assignment-operator ( shift-expression 
declaration-specifiers declarator { unary-expression assignment-operator ( relational-expression 
declaration-specifiers declarator { unary-expression assignment-operator ( equality-expression 
declaration-specifiers declarator { unary-expression assignment-operator ( AND-expression 
declaration-specifiers declarator { unary-expression assignment-operator ( exclusive-OR-expression 
declaration-specifiers declarator { unary-expression assignment-operator ( inclusive-OR-expression 
declaration-specifiers declarator { unary-expression assignment-operator ( logical-AND-expression 
declaration-specifiers declarator { unary-expression assignment-operator ( logical-OR-expression 
declaration-specifiers declarator { unary-expression assignment-operator ( conditional-expression 
declaration-specifiers declarator { unary-expression assignment-operator ( assignment-expression 
declaration-specifiers declarator { unary-expression assignment-operator ( expression 

curr: )  next: ;  
declaration-specifiers declarator { unary-expression assignment-operator primary-expression 
declaration-specifiers declarator { unary-expression assignment-operator postfix-expression 
declaration-specifiers declarator { unary-expression assignment-operator unary-expression 
declaration-specifiers declarator { unary-expression assignment-operator cast-expression 
declaration-specifiers declarator { unary-expression assignment-operator multiplicative-expression 
declaration-specifiers declarator { unary-expression assignment-operator additive-expression 
declaration-specifiers declarator { unary-expression assignment-operator shift-expression 
declaration-specifiers declarator { unary-expression assignment-operator relational-expression 
declaration-specifiers declarator { unary-expression assignment-operator equality-expression 
declaration-specifiers declarator { unary-expression assignment-operator AND-expression 
declaration-specifiers declarator { unary-expression assignment-operator exclusive-OR-expression 
declaration-specifiers declarator { unary-expression assignment-operator inclusive-OR-expression 
declaration-specifiers declarator { unary-expression assignment-operator logical-AND-expression 
declaration-specifiers declarator { unary-expression assignment-operator logical-OR-expression 
declaration-specifiers declarator { unary-expression assignment-operator conditional-expression 
declaration-specifiers declarator { unary-expression assignment-operator assignment-expression 
declaration-specifiers declarator { assignment-expression 
declaration-specifiers declarator { expression 

curr: ;  next: *  
declaration-specifiers declarator { expression-statement 
declaration-specifiers declarator { statement 
declaration-specifiers declarator { block-item 
declaration-specifiers declarator { block-item-list 

	*cc = (struct compact_control *)data;
curr: *  next: cc  heredeclaration-specifiers declarator { block-item-list unary-operator curr: ID  next: =  declaration-specifiers declarator { block-item-list unary-operator primary-expression declaration-specifiers declarator { block-item-list unary-operator postfix-expression declaration-specifiers declarator { block-item-list unary-operator unary-expression declaration-specifiers declarator { block-item-list unary-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression curr: =  next: (  declaration-specifiers declarator { block-item-list unary-expression assignment-operator curr: (  next: struct  curr: struct  next: compact_control  curr: ID  next: *  declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( struct-specifier declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( type-specifier declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( specifier-qualifier-list curr: *  next: )  declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( specifier-qualifier-list pointer declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( specifier-qualifier-list abstract-declarator declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( type-name curr: )  next: data  curr: ID  next: ;  declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( type-name ) primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( type-name ) postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( type-name ) unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( type-name ) cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator assignment-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: *  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list 
	*ppos += *lenp;
curr: *  next: ppos  heredeclaration-specifiers declarator { block-item-list unary-operator curr: ID  next: +=  declaration-specifiers declarator { block-item-list unary-operator primary-expression declaration-specifiers declarator { block-item-list unary-operator postfix-expression declaration-specifiers declarator { block-item-list unary-operator unary-expression declaration-specifiers declarator { block-item-list unary-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression curr: +=  next: *  declaration-specifiers declarator { block-item-list unary-expression assignment-operator curr: *  next: lenp  heredeclaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator curr: ID  next: ;  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator assignment-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: ent  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list 
	ent->type  = resid >> 24;
curr: ID  next: ->  declaration-specifiers declarator { block-item-list primary-expression declaration-specifiers declarator { block-item-list postfix-expression curr: ->  next: type  curr: ID  next: =  declaration-specifiers declarator { block-item-list postfix-expression declaration-specifiers declarator { block-item-list unary-expression curr: =  next: resid  declaration-specifiers declarator { block-item-list unary-expression assignment-operator curr: ID  next: >>  declaration-specifiers declarator { block-item-list unary-expression assignment-operator primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression curr: >>  next: 24  curr: 24  next: ;  declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression >> primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression >> postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression >> unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression >> cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression >> multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression >> additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator assignment-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: (  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list
	(((dp>>4) ^ dp) & 0x0F) != 0x0F;
curr: (  next: (  curr: (  next: (  curr: (  next: dp  curr: ID  next: >>  declaration-specifiers declarator { block-item-list ( ( ( primary-expression declaration-specifiers declarator { block-item-list ( ( ( postfix-expression declaration-specifiers declarator { block-item-list ( ( ( unary-expression declaration-specifiers declarator { block-item-list ( ( ( cast-expression declaration-specifiers declarator { block-item-list ( ( ( multiplicative-expression declaration-specifiers declarator { block-item-list ( ( ( additive-expression declaration-specifiers declarator { block-item-list ( ( ( shift-expression curr: >>  next: 44  curr: 44  next: )  declaration-specifiers declarator { block-item-list ( ( ( shift-expression >> primary-expression declaration-specifiers declarator { block-item-list ( ( ( shift-expression >> postfix-expression declaration-specifiers declarator { block-item-list ( ( ( shift-expression >> unary-expression declaration-specifiers declarator { block-item-list ( ( ( shift-expression >> cast-expression declaration-specifiers declarator { block-item-list ( ( ( shift-expression >> multiplicative-expression declaration-specifiers declarator { block-item-list ( ( ( shift-expression >> additive-expression declaration-specifiers declarator { block-item-list ( ( ( shift-expression declaration-specifiers declarator { block-item-list ( ( ( relational-expression declaration-specifiers declarator { block-item-list ( ( ( equality-expression declaration-specifiers declarator { block-item-list ( ( ( AND-expression declaration-specifiers declarator { block-item-list ( ( ( exclusive-OR-expression declaration-specifiers declarator { block-item-list ( ( ( inclusive-OR-expression declaration-specifiers declarator { block-item-list ( ( ( logical-AND-expression declaration-specifiers declarator { block-item-list ( ( ( logical-OR-expression declaration-specifiers declarator { block-item-list ( ( ( conditional-expression declaration-specifiers declarator { block-item-list ( ( ( assignment-expression declaration-specifiers declarator { block-item-list ( ( ( expression curr: )  next: ^  declaration-specifiers declarator { block-item-list ( ( primary-expression declaration-specifiers declarator { block-item-list ( ( postfix-expression declaration-specifiers declarator { block-item-list ( ( unary-expression declaration-specifiers declarator { block-item-list ( ( cast-expression declaration-specifiers declarator { block-item-list ( ( multiplicative-expression declaration-specifiers declarator { block-item-list ( ( additive-expression declaration-specifiers declarator { block-item-list ( ( shift-expression declaration-specifiers declarator { block-item-list ( ( relational-expression declaration-specifiers declarator { block-item-list ( ( equality-expression declaration-specifiers declarator { block-item-list ( ( AND-expression declaration-specifiers declarator { block-item-list ( ( exclusive-OR-expression curr: ^  next: dp  curr: ID  next: )  declaration-specifiers declarator { block-item-list ( ( exclusive-OR-expression ^ primary-expression declaration-specifiers declarator { block-item-list ( ( exclusive-OR-expression ^ postfix-expression declaration-specifiers declarator { block-item-list ( ( exclusive-OR-expression ^ unary-expression declaration-specifiers declarator { block-item-list ( ( exclusive-OR-expression ^ cast-expression declaration-specifiers declarator { block-item-list ( ( exclusive-OR-expression ^ multiplicative-expression declaration-specifiers declarator { block-item-list ( ( exclusive-OR-expression ^ additive-expression declaration-specifiers declarator { block-item-list ( ( exclusive-OR-expression ^ shift-expression declaration-specifiers declarator { block-item-list ( ( exclusive-OR-expression ^ relational-expression declaration-specifiers declarator { block-item-list ( ( exclusive-OR-expression ^ equality-expression declaration-specifiers declarator { block-item-list ( ( exclusive-OR-expression ^ AND-expression declaration-specifiers declarator { block-item-list ( ( exclusive-OR-expression declaration-specifiers declarator { block-item-list ( ( inclusive-OR-expression declaration-specifiers declarator { block-item-list ( ( logical-AND-expression declaration-specifiers declarator { block-item-list ( ( logical-OR-expression declaration-specifiers declarator { block-item-list ( ( conditional-expression declaration-specifiers declarator { block-item-list ( ( assignment-expression declaration-specifiers declarator { block-item-list ( ( expression curr: )  next: &  declaration-specifiers declarator { block-item-list ( primary-expression declaration-specifiers declarator { block-item-list ( postfix-expression declaration-specifiers declarator { block-item-list ( unary-expression declaration-specifiers declarator { block-item-list ( cast-expression declaration-specifiers declarator { block-item-list ( multiplicative-expression declaration-specifiers declarator { block-item-list ( additive-expression declaration-specifiers declarator { block-item-list ( shift-expression declaration-specifiers declarator { block-item-list ( relational-expression declaration-specifiers declarator { block-item-list ( equality-expression declaration-specifiers declarator { block-item-list ( AND-expression curr: &  next: 15  curr: 15  next: )  declaration-specifiers declarator { block-item-list ( AND-expression & primary-expression declaration-specifiers declarator { block-item-list ( AND-expression & postfix-expression declaration-specifiers declarator { block-item-list ( AND-expression & unary-expression declaration-specifiers declarator { block-item-list ( AND-expression & cast-expression declaration-specifiers declarator { block-item-list ( AND-expression & multiplicative-expression declaration-specifiers declarator { block-item-list ( AND-expression & additive-expression declaration-specifiers declarator { block-item-list ( AND-expression & shift-expression declaration-specifiers declarator { block-item-list ( AND-expression & relational-expression declaration-specifiers declarator { block-item-list ( AND-expression & equality-expression declaration-specifiers declarator { block-item-list ( AND-expression declaration-specifiers declarator { block-item-list ( exclusive-OR-expression declaration-specifiers declarator { block-item-list ( inclusive-OR-expression declaration-specifiers declarator { block-item-list ( logical-AND-expression declaration-specifiers declarator { block-item-list ( logical-OR-expression declaration-specifiers declarator { block-item-list ( conditional-expression declaration-specifiers declarator { block-item-list ( assignment-expression declaration-specifiers declarator { block-item-list ( expression curr: )  next: !=  declaration-specifiers declarator { block-item-list primary-expression declaration-specifiers declarator { block-item-list postfix-expression declaration-specifiers declarator { block-item-list unary-expression declaration-specifiers declarator { block-item-list cast-expression declaration-specifiers declarator { block-item-list multiplicative-expression declaration-specifiers declarator { block-item-list additive-expression declaration-specifiers declarator { block-item-list shift-expression declaration-specifiers declarator { block-item-list relational-expression declaration-specifiers declarator { block-item-list equality-expression curr: !=  next: 15  curr: 15  next: ;  declaration-specifiers declarator { block-item-list equality-expression != primary-expression declaration-specifiers declarator { block-item-list equality-expression != postfix-expression declaration-specifiers declarator { block-item-list equality-expression != unary-expression declaration-specifiers declarator { block-item-list equality-expression != cast-expression declaration-specifiers declarator { block-item-list equality-expression != multiplicative-expression declaration-specifiers declarator { block-item-list equality-expression != additive-expression declaration-specifiers declarator { block-item-list equality-expression != shift-expression declaration-specifiers declarator { block-item-list equality-expression != relational-expression declaration-specifiers declarator { block-item-list equality-expression declaration-specifiers declarator { block-item-list AND-expression declaration-specifiers declarator { block-item-list exclusive-OR-expression declaration-specifiers declarator { block-item-list inclusive-OR-expression declaration-specifiers declarator { block-item-list logical-AND-expression declaration-specifiers declarator { block-item-list logical-OR-expression declaration-specifiers declarator { block-item-list conditional-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: (  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list
	(dp & 0x0F) >= (1<<i);
curr: (  next: dp  curr: ID  next: &  declaration-specifiers declarator { block-item-list ( primary-expression declaration-specifiers declarator { block-item-list ( postfix-expression declaration-specifiers declarator { block-item-list ( unary-expression declaration-specifiers declarator { block-item-list ( cast-expression declaration-specifiers declarator { block-item-list ( multiplicative-expression declaration-specifiers declarator { block-item-list ( additive-expression declaration-specifiers declarator { block-item-list ( shift-expression declaration-specifiers declarator { block-item-list ( relational-expression declaration-specifiers declarator { block-item-list ( equality-expression declaration-specifiers declarator { block-item-list ( AND-expression curr: &  next: 15  curr: 15  next: )  declaration-specifiers declarator { block-item-list ( AND-expression & primary-expression declaration-specifiers declarator { block-item-list ( AND-expression & postfix-expression declaration-specifiers declarator { block-item-list ( AND-expression & unary-expression declaration-specifiers declarator { block-item-list ( AND-expression & cast-expression declaration-specifiers declarator { block-item-list ( AND-expression & multiplicative-expression declaration-specifiers declarator { block-item-list ( AND-expression & additive-expression declaration-specifiers declarator { block-item-list ( AND-expression & shift-expression declaration-specifiers declarator { block-item-list ( AND-expression & relational-expression declaration-specifiers declarator { block-item-list ( AND-expression & equality-expression declaration-specifiers declarator { block-item-list ( AND-expression declaration-specifiers declarator { block-item-list ( exclusive-OR-expression declaration-specifiers declarator { block-item-list ( inclusive-OR-expression declaration-specifiers declarator { block-item-list ( logical-AND-expression declaration-specifiers declarator { block-item-list ( logical-OR-expression declaration-specifiers declarator { block-item-list ( conditional-expression declaration-specifiers declarator { block-item-list ( assignment-expression declaration-specifiers declarator { block-item-list ( expression curr: )  next: >=  declaration-specifiers declarator { block-item-list primary-expression declaration-specifiers declarator { block-item-list postfix-expression declaration-specifiers declarator { block-item-list unary-expression declaration-specifiers declarator { block-item-list cast-expression declaration-specifiers declarator { block-item-list multiplicative-expression declaration-specifiers declarator { block-item-list additive-expression declaration-specifiers declarator { block-item-list shift-expression declaration-specifiers declarator { block-item-list relational-expression curr: >=  next: (  curr: (  next: 1  curr: 1  next: <<  declaration-specifiers declarator { block-item-list relational-expression >= ( primary-expression declaration-specifiers declarator { block-item-list relational-expression >= ( postfix-expression declaration-specifiers declarator { block-item-list relational-expression >= ( unary-expression declaration-specifiers declarator { block-item-list relational-expression >= ( cast-expression declaration-specifiers declarator { block-item-list relational-expression >= ( multiplicative-expression declaration-specifiers declarator { block-item-list relational-expression >= ( additive-expression declaration-specifiers declarator { block-item-list relational-expression >= ( shift-expression curr: <<  next: ii  curr: ID  next: )  declaration-specifiers declarator { block-item-list relational-expression >= ( shift-expression << primary-expression declaration-specifiers declarator { block-item-list relational-expression >= ( shift-expression << postfix-expression declaration-specifiers declarator { block-item-list relational-expression >= ( shift-expression << unary-expression declaration-specifiers declarator { block-item-list relational-expression >= ( shift-expression << cast-expression declaration-specifiers declarator { block-item-list relational-expression >= ( shift-expression << multiplicative-expression declaration-specifiers declarator { block-item-list relational-expression >= ( shift-expression << additive-expression declaration-specifiers declarator { block-item-list relational-expression >= ( shift-expression declaration-specifiers declarator { block-item-list relational-expression >= ( relational-expression declaration-specifiers declarator { block-item-list relational-expression >= ( equality-expression declaration-specifiers declarator { block-item-list relational-expression >= ( AND-expression declaration-specifiers declarator { block-item-list relational-expression >= ( exclusive-OR-expression declaration-specifiers declarator { block-item-list relational-expression >= ( inclusive-OR-expression declaration-specifiers declarator { block-item-list relational-expression >= ( logical-AND-expression declaration-specifiers declarator { block-item-list relational-expression >= ( logical-OR-expression declaration-specifiers declarator { block-item-list relational-expression >= ( conditional-expression declaration-specifiers declarator { block-item-list relational-expression >= ( assignment-expression declaration-specifiers declarator { block-item-list relational-expression >= ( expression curr: )  next: ;  declaration-specifiers declarator { block-item-list relational-expression >= primary-expression declaration-specifiers declarator { block-item-list relational-expression >= postfix-expression declaration-specifiers declarator { block-item-list relational-expression >= unary-expression declaration-specifiers declarator { block-item-list relational-expression >= cast-expression declaration-specifiers declarator { block-item-list relational-expression >= multiplicative-expression declaration-specifiers declarator { block-item-list relational-expression >= additive-expression declaration-specifiers declarator { block-item-list relational-expression >= shift-expression declaration-specifiers declarator { block-item-list relational-expression declaration-specifiers declarator { block-item-list equality-expression declaration-specifiers declarator { block-item-list AND-expression declaration-specifiers declarator { block-item-list exclusive-OR-expression declaration-specifiers declarator { block-item-list inclusive-OR-expression declaration-specifiers declarator { block-item-list logical-AND-expression declaration-specifiers declarator { block-item-list logical-OR-expression declaration-specifiers declarator { block-item-list conditional-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: set_pte_at  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list
	set_pte_at(&init_mm, vaddr, &(pkmap_page_table[last_pkmap_nr]), mk_pte(page, kmap_prot));
curr: ID  next: (  declaration-specifiers declarator { block-item-list primary-expression declaration-specifiers declarator { block-item-list postfix-expression curr: (  next: init_mm  curr: ID  next: ,  declaration-specifiers declarator { block-item-list postfix-expression ( primary-expression declaration-specifiers declarator { block-item-list postfix-expression ( postfix-expression declaration-specifiers declarator { block-item-list postfix-expression ( unary-expression declaration-specifiers declarator { block-item-list postfix-expression ( cast-expression declaration-specifiers declarator { block-item-list postfix-expression ( multiplicative-expression declaration-specifiers declarator { block-item-list postfix-expression ( additive-expression declaration-specifiers declarator { block-item-list postfix-expression ( shift-expression declaration-specifiers declarator { block-item-list postfix-expression ( relational-expression declaration-specifiers declarator { block-item-list postfix-expression ( equality-expression declaration-specifiers declarator { block-item-list postfix-expression ( AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( exclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( inclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( logical-AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( logical-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( conditional-expression declaration-specifiers declarator { block-item-list postfix-expression ( assignment-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list curr: ,  next: vaddr  curr: ID  next: ,  declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , primary-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , cast-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , multiplicative-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , additive-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , shift-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , relational-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , equality-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , exclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , inclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , conditional-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , assignment-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list curr: ,  next: &  curr: &  next: (  declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator curr: (  next: pkmap_page_table  curr: ID  next: [  declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( primary-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( postfix-expression curr: [  next: last_pkmap_nr  curr: ID  next: ]  declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( postfix-expression [ primary-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( postfix-expression [ postfix-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( postfix-expression [ unary-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( postfix-expression [ cast-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( postfix-expression [ multiplicative-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( postfix-expression [ additive-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( postfix-expression [ shift-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( postfix-expression [ relational-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( postfix-expression [ equality-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( postfix-expression [ AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( postfix-expression [ exclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( postfix-expression [ inclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( postfix-expression [ logical-AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( postfix-expression [ logical-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( postfix-expression [ conditional-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( postfix-expression [ assignment-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( postfix-expression [ expression curr: ]  next: )  declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( postfix-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( unary-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( cast-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( multiplicative-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( additive-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( shift-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( relational-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( equality-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( exclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( inclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( logical-AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( logical-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( conditional-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( assignment-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator ( expression curr: )  next: ,  declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator primary-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator postfix-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator unary-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator cast-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , cast-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , multiplicative-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , additive-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , shift-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , relational-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , equality-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , exclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , inclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , conditional-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , assignment-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list curr: ,  next: mk_pte  curr: ID  next: (  declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , primary-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression curr: (  next: page  curr: ID  next: ,  declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( primary-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( postfix-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( unary-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( cast-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( multiplicative-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( additive-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( shift-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( relational-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( equality-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( exclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( inclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( logical-AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( logical-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( conditional-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( assignment-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( argument-expression-list curr: ,  next: kmap_prot  curr: ID  next: )  declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( argument-expression-list , primary-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( argument-expression-list , postfix-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( argument-expression-list , unary-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( argument-expression-list , cast-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( argument-expression-list , multiplicative-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( argument-expression-list , additive-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( argument-expression-list , shift-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( argument-expression-list , relational-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( argument-expression-list , equality-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( argument-expression-list , AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( argument-expression-list , exclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( argument-expression-list , inclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( argument-expression-list , logical-AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( argument-expression-list , logical-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( argument-expression-list , conditional-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( argument-expression-list , assignment-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression ( argument-expression-list curr: )  next: )  declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , cast-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , multiplicative-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , additive-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , shift-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , relational-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , equality-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , exclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , inclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , conditional-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , assignment-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list curr: )  next: ;  declaration-specifiers declarator { block-item-list postfix-expression declaration-specifiers declarator { block-item-list unary-expression declaration-specifiers declarator { block-item-list cast-expression declaration-specifiers declarator { block-item-list multiplicative-expression declaration-specifiers declarator { block-item-list additive-expression declaration-specifiers declarator { block-item-list shift-expression declaration-specifiers declarator { block-item-list relational-expression declaration-specifiers declarator { block-item-list equality-expression declaration-specifiers declarator { block-item-list AND-expression declaration-specifiers declarator { block-item-list exclusive-OR-expression declaration-specifiers declarator { block-item-list inclusive-OR-expression declaration-specifiers declarator { block-item-list logical-AND-expression declaration-specifiers declarator { block-item-list logical-OR-expression declaration-specifiers declarator { block-item-list conditional-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: *  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list
	*zone = &pgdat->node_zones[zoneid];
curr: *  next: zone  heredeclaration-specifiers declarator { block-item-list unary-operator curr: ID  next: =  declaration-specifiers declarator { block-item-list unary-operator primary-expression declaration-specifiers declarator { block-item-list unary-operator postfix-expression declaration-specifiers declarator { block-item-list unary-operator unary-expression declaration-specifiers declarator { block-item-list unary-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression curr: =  next: &  declaration-specifiers declarator { block-item-list unary-expression assignment-operator curr: &  next: pgdat  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator curr: ID  next: ->  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression curr: ->  next: node_zones  curr: ID  next: [  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression curr: [  next: zoneid  curr: ID  next: ]  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ assignment-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ expression curr: ]  next: ;  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator assignment-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: need_resched  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list
	need_resched() || spin_is_contended(lock);
curr: ID  next: (  declaration-specifiers declarator { block-item-list primary-expression declaration-specifiers declarator { block-item-list postfix-expression curr: (  next: )  curr: )  next: ||  declaration-specifiers declarator { block-item-list postfix-expression declaration-specifiers declarator { block-item-list unary-expression declaration-specifiers declarator { block-item-list cast-expression declaration-specifiers declarator { block-item-list multiplicative-expression declaration-specifiers declarator { block-item-list additive-expression declaration-specifiers declarator { block-item-list shift-expression declaration-specifiers declarator { block-item-list relational-expression declaration-specifiers declarator { block-item-list equality-expression declaration-specifiers declarator { block-item-list AND-expression declaration-specifiers declarator { block-item-list exclusive-OR-expression declaration-specifiers declarator { block-item-list inclusive-OR-expression declaration-specifiers declarator { block-item-list logical-AND-expression declaration-specifiers declarator { block-item-list logical-OR-expression curr: ||  next: spin_is_contended  curr: ID  next: (  declaration-specifiers declarator { block-item-list logical-OR-expression || primary-expression declaration-specifiers declarator { block-item-list logical-OR-expression || postfix-expression curr: (  next: lock  curr: ID  next: )  declaration-specifiers declarator { block-item-list logical-OR-expression || postfix-expression ( primary-expression declaration-specifiers declarator { block-item-list logical-OR-expression || postfix-expression ( postfix-expression declaration-specifiers declarator { block-item-list logical-OR-expression || postfix-expression ( unary-expression declaration-specifiers declarator { block-item-list logical-OR-expression || postfix-expression ( cast-expression declaration-specifiers declarator { block-item-list logical-OR-expression || postfix-expression ( multiplicative-expression declaration-specifiers declarator { block-item-list logical-OR-expression || postfix-expression ( additive-expression declaration-specifiers declarator { block-item-list logical-OR-expression || postfix-expression ( shift-expression declaration-specifiers declarator { block-item-list logical-OR-expression || postfix-expression ( relational-expression declaration-specifiers declarator { block-item-list logical-OR-expression || postfix-expression ( equality-expression declaration-specifiers declarator { block-item-list logical-OR-expression || postfix-expression ( AND-expression declaration-specifiers declarator { block-item-list logical-OR-expression || postfix-expression ( exclusive-OR-expression declaration-specifiers declarator { block-item-list logical-OR-expression || postfix-expression ( inclusive-OR-expression declaration-specifiers declarator { block-item-list logical-OR-expression || postfix-expression ( logical-AND-expression declaration-specifiers declarator { block-item-list logical-OR-expression || postfix-expression ( logical-OR-expression declaration-specifiers declarator { block-item-list logical-OR-expression || postfix-expression ( conditional-expression declaration-specifiers declarator { block-item-list logical-OR-expression || postfix-expression ( assignment-expression declaration-specifiers declarator { block-item-list logical-OR-expression || postfix-expression ( argument-expression-list curr: )  next: ;  declaration-specifiers declarator { block-item-list logical-OR-expression || postfix-expression declaration-specifiers declarator { block-item-list logical-OR-expression || unary-expression declaration-specifiers declarator { block-item-list logical-OR-expression || cast-expression declaration-specifiers declarator { block-item-list logical-OR-expression || multiplicative-expression declaration-specifiers declarator { block-item-list logical-OR-expression || additive-expression declaration-specifiers declarator { block-item-list logical-OR-expression || shift-expression declaration-specifiers declarator { block-item-list logical-OR-expression || relational-expression declaration-specifiers declarator { block-item-list logical-OR-expression || equality-expression declaration-specifiers declarator { block-item-list logical-OR-expression || AND-expression declaration-specifiers declarator { block-item-list logical-OR-expression || exclusive-OR-expression declaration-specifiers declarator { block-item-list logical-OR-expression || inclusive-OR-expression declaration-specifiers declarator { block-item-list logical-OR-expression || logical-AND-expression declaration-specifiers declarator { block-item-list logical-OR-expression declaration-specifiers declarator { block-item-list conditional-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: is_migrate_cma  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list
	is_migrate_cma(migratetype) || migratetype == MIGRATE_MOVABLE;
curr: ID  next: (  declaration-specifiers declarator { block-item-list primary-expression declaration-specifiers declarator { block-item-list postfix-expression curr: (  next: migratetype  curr: ID  next: )  declaration-specifiers declarator { block-item-list postfix-expression ( primary-expression declaration-specifiers declarator { block-item-list postfix-expression ( postfix-expression declaration-specifiers declarator { block-item-list postfix-expression ( unary-expression declaration-specifiers declarator { block-item-list postfix-expression ( cast-expression declaration-specifiers declarator { block-item-list postfix-expression ( multiplicative-expression declaration-specifiers declarator { block-item-list postfix-expression ( additive-expression declaration-specifiers declarator { block-item-list postfix-expression ( shift-expression declaration-specifiers declarator { block-item-list postfix-expression ( relational-expression declaration-specifiers declarator { block-item-list postfix-expression ( equality-expression declaration-specifiers declarator { block-item-list postfix-expression ( AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( exclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( inclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( logical-AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( logical-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( conditional-expression declaration-specifiers declarator { block-item-list postfix-expression ( assignment-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list curr: )  next: ||  declaration-specifiers declarator { block-item-list postfix-expression declaration-specifiers declarator { block-item-list unary-expression declaration-specifiers declarator { block-item-list cast-expression declaration-specifiers declarator { block-item-list multiplicative-expression declaration-specifiers declarator { block-item-list additive-expression declaration-specifiers declarator { block-item-list shift-expression declaration-specifiers declarator { block-item-list relational-expression declaration-specifiers declarator { block-item-list equality-expression declaration-specifiers declarator { block-item-list AND-expression declaration-specifiers declarator { block-item-list exclusive-OR-expression declaration-specifiers declarator { block-item-list inclusive-OR-expression declaration-specifiers declarator { block-item-list logical-AND-expression declaration-specifiers declarator { block-item-list logical-OR-expression curr: ||  next: migratetype  curr: ID  next: ==  declaration-specifiers declarator { block-item-list logical-OR-expression || primary-expression declaration-specifiers declarator { block-item-list logical-OR-expression || postfix-expression declaration-specifiers declarator { block-item-list logical-OR-expression || unary-expression declaration-specifiers declarator { block-item-list logical-OR-expression || cast-expression declaration-specifiers declarator { block-item-list logical-OR-expression || multiplicative-expression declaration-specifiers declarator { block-item-list logical-OR-expression || additive-expression declaration-specifiers declarator { block-item-list logical-OR-expression || shift-expression declaration-specifiers declarator { block-item-list logical-OR-expression || relational-expression declaration-specifiers declarator { block-item-list logical-OR-expression || equality-expression curr: ==  next: MIGRATE_MOVABLE  curr: ID  next: ;  declaration-specifiers declarator { block-item-list logical-OR-expression || equality-expression == primary-expression declaration-specifiers declarator { block-item-list logical-OR-expression || equality-expression == postfix-expression declaration-specifiers declarator { block-item-list logical-OR-expression || equality-expression == unary-expression declaration-specifiers declarator { block-item-list logical-OR-expression || equality-expression == cast-expression declaration-specifiers declarator { block-item-list logical-OR-expression || equality-expression == multiplicative-expression declaration-specifiers declarator { block-item-list logical-OR-expression || equality-expression == additive-expression declaration-specifiers declarator { block-item-list logical-OR-expression || equality-expression == shift-expression declaration-specifiers declarator { block-item-list logical-OR-expression || equality-expression == relational-expression declaration-specifiers declarator { block-item-list logical-OR-expression || equality-expression declaration-specifiers declarator { block-item-list logical-OR-expression || AND-expression declaration-specifiers declarator { block-item-list logical-OR-expression || exclusive-OR-expression declaration-specifiers declarator { block-item-list logical-OR-expression || inclusive-OR-expression declaration-specifiers declarator { block-item-list logical-OR-expression || logical-AND-expression declaration-specifiers declarator { block-item-list logical-OR-expression declaration-specifiers declarator { block-item-list conditional-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: vec  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list
	vec |= ~map[idx / BITS_PER_LONG + 1] << (BITS_PER_LONG - shift);
curr: ID  next: |=  declaration-specifiers declarator { block-item-list primary-expression declaration-specifiers declarator { block-item-list postfix-expression declaration-specifiers declarator { block-item-list unary-expression curr: |=  next: ~  declaration-specifiers declarator { block-item-list unary-expression assignment-operator curr: ~  next: map  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator curr: ID  next: [  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression curr: [  next: idx  curr: ID  next: /  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ multiplicative-expression curr: /  next: BITS_PER_LONG  curr: ID  next: +  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ multiplicative-expression / primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ multiplicative-expression / postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ multiplicative-expression / unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ multiplicative-expression / cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ additive-expression curr: +  next: 1  curr: 1  next: ]  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ additive-expression + primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ additive-expression + postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ additive-expression + unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ additive-expression + cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ additive-expression + multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ assignment-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ expression curr: ]  next: <<  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression curr: <<  next: (  curr: (  next: BITS_PER_LONG  curr: ID  next: -  declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << ( primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << ( postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << ( unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << ( cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << ( multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << ( additive-expression curr: -  next: shift  curr: ID  next: )  declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << ( additive-expression - primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << ( additive-expression - postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << ( additive-expression - unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << ( additive-expression - cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << ( additive-expression - multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << ( additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << ( shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << ( relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << ( equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << ( AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << ( exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << ( inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << ( logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << ( logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << ( conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << ( assignment-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << ( expression curr: )  next: ;  declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator assignment-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: *  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list 
	*t++ = nubus_get_rom(&p, 1, dirent->mask);
curr: *  next: t  heredeclaration-specifiers declarator { block-item-list unary-operator curr: ID  next: ++  declaration-specifiers declarator { block-item-list unary-operator primary-expression declaration-specifiers declarator { block-item-list unary-operator postfix-expression curr: ++  next: =  declaration-specifiers declarator { block-item-list unary-operator postfix-expression declaration-specifiers declarator { block-item-list unary-operator unary-expression declaration-specifiers declarator { block-item-list unary-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression curr: =  next: nubus_get_rom  declaration-specifiers declarator { block-item-list unary-expression assignment-operator curr: ID  next: (  declaration-specifiers declarator { block-item-list unary-expression assignment-operator primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression curr: (  next: p  curr: ID  next: ,  declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( assignment-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list curr: ,  next: 1  curr: 1  next: ,  declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , assignment-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list curr: ,  next: dirent  curr: ID  next: ->  declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , postfix-expression curr: ->  next: mask  curr: ID  next: )  declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , assignment-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list curr: )  next: ;  declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator assignment-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: dir  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list 
	dir->ptr = dir->base = board->directory;
curr: ID  next: ->  declaration-specifiers declarator { block-item-list primary-expression declaration-specifiers declarator { block-item-list postfix-expression curr: ->  next: ptr  curr: ID  next: =  declaration-specifiers declarator { block-item-list postfix-expression declaration-specifiers declarator { block-item-list unary-expression curr: =  next: dir  declaration-specifiers declarator { block-item-list unary-expression assignment-operator curr: ID  next: ->  declaration-specifiers declarator { block-item-list unary-expression assignment-operator primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression curr: ->  next: base  curr: ID  next: =  declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression curr: =  next: board  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator curr: ID  next: ->  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator postfix-expression curr: ->  next: directory  curr: ID  next: ;  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator assignment-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator assignment-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: dir  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list
	dir->ptr = dir->base = nubus_dirptr(ent);
curr: ID  next: ->  declaration-specifiers declarator { block-item-list primary-expression declaration-specifiers declarator { block-item-list postfix-expression curr: ->  next: ptr  curr: ID  next: =  declaration-specifiers declarator { block-item-list postfix-expression declaration-specifiers declarator { block-item-list unary-expression curr: =  next: dir  declaration-specifiers declarator { block-item-list unary-expression assignment-operator curr: ID  next: ->  declaration-specifiers declarator { block-item-list unary-expression assignment-operator primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression curr: ->  next: base  curr: ID  next: =  declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression curr: =  next: nubus_dirptr  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator curr: ID  next: (  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator postfix-expression curr: (  next: ent  curr: ID  next: )  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator postfix-expression ( primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator postfix-expression ( postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator postfix-expression ( unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator postfix-expression ( cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator postfix-expression ( multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator postfix-expression ( additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator postfix-expression ( shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator postfix-expression ( relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator postfix-expression ( equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator postfix-expression ( AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator postfix-expression ( exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator postfix-expression ( inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator postfix-expression ( logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator postfix-expression ( logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator postfix-expression ( conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator postfix-expression ( assignment-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator postfix-expression ( argument-expression-list curr: )  next: ;  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression assignment-operator assignment-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator assignment-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: pl08x  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list
	pl08x->slave.dev = &adev->dev;
curr: ID  next: ->  declaration-specifiers declarator { block-item-list primary-expression declaration-specifiers declarator { block-item-list postfix-expression curr: ->  next: slave  curr: ID  next: .  declaration-specifiers declarator { block-item-list postfix-expression curr: .  next: dev  curr: ID  next: =  declaration-specifiers declarator { block-item-list postfix-expression declaration-specifiers declarator { block-item-list unary-expression curr: =  next: &  declaration-specifiers declarator { block-item-list unary-expression assignment-operator curr: &  next: adev  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator curr: ID  next: ->  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression curr: ->  next: dev  curr: ID  next: ;  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator assignment-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: val  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list 
	val &= ~PL080_CONFIG_HALT;
curr: ID  next: &=  declaration-specifiers declarator { block-item-list primary-expression declaration-specifiers declarator { block-item-list postfix-expression declaration-specifiers declarator { block-item-list unary-expression curr: &=  next: ~  declaration-specifiers declarator { block-item-list unary-expression assignment-operator curr: ~  next: PL080_CONFIG_HALT  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator curr: ID  next: ;  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator assignment-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: writel  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list 
	writel(1 << ch->id, pl08x->base + PL080_ERR_CLEAR);
curr: ID  next: (  declaration-specifiers declarator { block-item-list primary-expression declaration-specifiers declarator { block-item-list postfix-expression curr: (  next: 1  curr: 1  next: <<  declaration-specifiers declarator { block-item-list postfix-expression ( primary-expression declaration-specifiers declarator { block-item-list postfix-expression ( postfix-expression declaration-specifiers declarator { block-item-list postfix-expression ( unary-expression declaration-specifiers declarator { block-item-list postfix-expression ( cast-expression declaration-specifiers declarator { block-item-list postfix-expression ( multiplicative-expression declaration-specifiers declarator { block-item-list postfix-expression ( additive-expression declaration-specifiers declarator { block-item-list postfix-expression ( shift-expression curr: <<  next: ch  curr: ID  next: ->  declaration-specifiers declarator { block-item-list postfix-expression ( shift-expression << primary-expression declaration-specifiers declarator { block-item-list postfix-expression ( shift-expression << postfix-expression curr: ->  next: id  curr: ID  next: ,  declaration-specifiers declarator { block-item-list postfix-expression ( shift-expression << postfix-expression declaration-specifiers declarator { block-item-list postfix-expression ( shift-expression << unary-expression declaration-specifiers declarator { block-item-list postfix-expression ( shift-expression << cast-expression declaration-specifiers declarator { block-item-list postfix-expression ( shift-expression << multiplicative-expression declaration-specifiers declarator { block-item-list postfix-expression ( shift-expression << additive-expression declaration-specifiers declarator { block-item-list postfix-expression ( shift-expression declaration-specifiers declarator { block-item-list postfix-expression ( relational-expression declaration-specifiers declarator { block-item-list postfix-expression ( equality-expression declaration-specifiers declarator { block-item-list postfix-expression ( AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( exclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( inclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( logical-AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( logical-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( conditional-expression declaration-specifiers declarator { block-item-list postfix-expression ( assignment-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list curr: ,  next: pl08x  curr: ID  next: ->  declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , primary-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression curr: ->  next: base  curr: ID  next: +  declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , cast-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , multiplicative-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , additive-expression curr: +  next: PL080_ERR_CLEAR  curr: ID  next: )  declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , additive-expression + primary-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , additive-expression + postfix-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , additive-expression + unary-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , additive-expression + cast-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , additive-expression + multiplicative-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , additive-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , shift-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , relational-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , equality-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , exclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , inclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , conditional-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , assignment-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list curr: )  next: ;  declaration-specifiers declarator { block-item-list postfix-expression declaration-specifiers declarator { block-item-list unary-expression declaration-specifiers declarator { block-item-list cast-expression declaration-specifiers declarator { block-item-list multiplicative-expression declaration-specifiers declarator { block-item-list additive-expression declaration-specifiers declarator { block-item-list shift-expression declaration-specifiers declarator { block-item-list relational-expression declaration-specifiers declarator { block-item-list equality-expression declaration-specifiers declarator { block-item-list AND-expression declaration-specifiers declarator { block-item-list exclusive-OR-expression declaration-specifiers declarator { block-item-list inclusive-OR-expression declaration-specifiers declarator { block-item-list logical-AND-expression declaration-specifiers declarator { block-item-list logical-OR-expression declaration-specifiers declarator { block-item-list conditional-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: ch  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list 
	ch = &pl08x->phy_chans[i];
curr: ID  next: =  declaration-specifiers declarator { block-item-list primary-expression declaration-specifiers declarator { block-item-list postfix-expression declaration-specifiers declarator { block-item-list unary-expression curr: =  next: &  declaration-specifiers declarator { block-item-list unary-expression assignment-operator curr: &  next: pl08x  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator curr: ID  next: ->  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression curr: ->  next: phy_chans  curr: ID  next: [  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression curr: [  next: i  curr: ID  next: ]  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ assignment-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression [ expression curr: ]  next: ;  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator assignment-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: *  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list 
	*mbus = &bd->dstbus;
curr: *  next: mbus  heredeclaration-specifiers declarator { block-item-list unary-operator curr: ID  next: =  declaration-specifiers declarator { block-item-list unary-operator primary-expression declaration-specifiers declarator { block-item-list unary-operator postfix-expression declaration-specifiers declarator { block-item-list unary-operator unary-expression declaration-specifiers declarator { block-item-list unary-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression curr: =  next: &  declaration-specifiers declarator { block-item-list unary-expression assignment-operator curr: &  next: bd  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator curr: ID  next: ->  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression curr: ->  next: dstbus  curr: ID  next: ;  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator assignment-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: llis_va  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list 
	llis_va[num_llis].src = http://www.mamicode.com/bd->srcbus.addr;
curr: ID  next: [  declaration-specifiers declarator { block-item-list primary-expression declaration-specifiers declarator { block-item-list postfix-expression curr: [  next: num_llis  curr: ID  next: ]  declaration-specifiers declarator { block-item-list postfix-expression [ primary-expression declaration-specifiers declarator { block-item-list postfix-expression [ postfix-expression declaration-specifiers declarator { block-item-list postfix-expression [ unary-expression declaration-specifiers declarator { block-item-list postfix-expression [ cast-expression declaration-specifiers declarator { block-item-list postfix-expression [ multiplicative-expression declaration-specifiers declarator { block-item-list postfix-expression [ additive-expression declaration-specifiers declarator { block-item-list postfix-expression [ shift-expression declaration-specifiers declarator { block-item-list postfix-expression [ relational-expression declaration-specifiers declarator { block-item-list postfix-expression [ equality-expression declaration-specifiers declarator { block-item-list postfix-expression [ AND-expression declaration-specifiers declarator { block-item-list postfix-expression [ exclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression [ inclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression [ logical-AND-expression declaration-specifiers declarator { block-item-list postfix-expression [ logical-OR-expression declaration-specifiers declarator { block-item-list postfix-expression [ conditional-expression declaration-specifiers declarator { block-item-list postfix-expression [ assignment-expression declaration-specifiers declarator { block-item-list postfix-expression [ expression curr: ]  next: .  declaration-specifiers declarator { block-item-list postfix-expression curr: .  next: src  curr: ID  next: =  declaration-specifiers declarator { block-item-list postfix-expression declaration-specifiers declarator { block-item-list unary-expression curr: =  next: bd  declaration-specifiers declarator { block-item-list unary-expression assignment-operator curr: ID  next: ->  declaration-specifiers declarator { block-item-list unary-expression assignment-operator primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression curr: ->  next: srcbus  curr: ID  next: .  declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression curr: .  next: addr  curr: ID  next: ;  declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator assignment-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: llis_va  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list 
	llis_va[num_llis].lli = llis_bus + (num_llis + 1) * sizeof(struct pl08x_lli);
curr: ID  next: [  declaration-specifiers declarator { block-item-list primary-expression declaration-specifiers declarator { block-item-list postfix-expression curr: [  next: num_llis  curr: ID  next: ]  declaration-specifiers declarator { block-item-list postfix-expression [ primary-expression declaration-specifiers declarator { block-item-list postfix-expression [ postfix-expression declaration-specifiers declarator { block-item-list postfix-expression [ unary-expression declaration-specifiers declarator { block-item-list postfix-expression [ cast-expression declaration-specifiers declarator { block-item-list postfix-expression [ multiplicative-expression declaration-specifiers declarator { block-item-list postfix-expression [ additive-expression declaration-specifiers declarator { block-item-list postfix-expression [ shift-expression declaration-specifiers declarator { block-item-list postfix-expression [ relational-expression declaration-specifiers declarator { block-item-list postfix-expression [ equality-expression declaration-specifiers declarator { block-item-list postfix-expression [ AND-expression declaration-specifiers declarator { block-item-list postfix-expression [ exclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression [ inclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression [ logical-AND-expression declaration-specifiers declarator { block-item-list postfix-expression [ logical-OR-expression declaration-specifiers declarator { block-item-list postfix-expression [ conditional-expression declaration-specifiers declarator { block-item-list postfix-expression [ assignment-expression declaration-specifiers declarator { block-item-list postfix-expression [ expression curr: ]  next: .  declaration-specifiers declarator { block-item-list postfix-expression curr: .  next: lli  curr: ID  next: =  declaration-specifiers declarator { block-item-list postfix-expression declaration-specifiers declarator { block-item-list unary-expression curr: =  next: llis_bus  declaration-specifiers declarator { block-item-list unary-expression assignment-operator curr: ID  next: +  declaration-specifiers declarator { block-item-list unary-expression assignment-operator primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression curr: +  next: (  curr: (  next: num_llis  curr: ID  next: +  declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + ( primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + ( postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + ( unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + ( cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + ( multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + ( additive-expression curr: +  next: 1  curr: 1  next: )  declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + ( additive-expression + primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + ( additive-expression + postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + ( additive-expression + unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + ( additive-expression + cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + ( additive-expression + multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + ( additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + ( shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + ( relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + ( equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + ( AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + ( exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + ( inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + ( logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + ( logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + ( conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + ( assignment-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + ( expression curr: )  next: *  declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + multiplicative-expression curr: *  next: sizeof  curr: sizeof  next: (  curr: (  next: struct  curr: struct  next: pl08x_lli  curr: ID  next: )  declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + multiplicative-expression * sizeof ( struct-specifier declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + multiplicative-expression * sizeof ( type-specifier declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + multiplicative-expression * sizeof ( specifier-qualifier-list declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + multiplicative-expression * sizeof ( type-name curr: )  next: ;  declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + multiplicative-expression * unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + multiplicative-expression * cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression + multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator assignment-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: bd  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list
	bd->dstbus.addr += len;
curr: ;  next: bd  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list curr: ID  next: ->  declaration-specifiers declarator { block-item-list primary-expression declaration-specifiers declarator { block-item-list postfix-expression curr: ->  next: dstbus  curr: ID  next: .  declaration-specifiers declarator { block-item-list postfix-expression curr: .  next: addr  curr: ID  next: +=  declaration-specifiers declarator { block-item-list postfix-expression declaration-specifiers declarator { block-item-list unary-expression curr: +=  next: len  declaration-specifiers declarator { block-item-list unary-expression assignment-operator curr: ID  next: ;  declaration-specifiers declarator { block-item-list unary-expression assignment-operator primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator assignment-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: *  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list 
	*cctl = pl08x_cctl_bits(*cctl, 1, 1, len);
curr: *  next: cctl  heredeclaration-specifiers declarator { block-item-list unary-operator curr: ID  next: =  declaration-specifiers declarator { block-item-list unary-operator primary-expression declaration-specifiers declarator { block-item-list unary-operator postfix-expression declaration-specifiers declarator { block-item-list unary-operator unary-expression declaration-specifiers declarator { block-item-list unary-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression curr: =  next: pl08x_cctl_bits  declaration-specifiers declarator { block-item-list unary-expression assignment-operator curr: ID  next: (  declaration-specifiers declarator { block-item-list unary-expression assignment-operator primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression curr: (  next: *  curr: *  next: cctl  declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( unary-operator curr: ID  next: ,  declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( unary-operator primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( unary-operator postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( unary-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( unary-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( assignment-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list curr: ,  next: 1  curr: 1  next: ,  declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , assignment-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list curr: ,  next: 1  curr: 1  next: ,  declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , assignment-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list curr: ,  next: len  curr: ID  next: )  declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list , assignment-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression ( argument-expression-list curr: )  next: ;  declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator assignment-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: (  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list 
	(*total_bytes) += len;
curr: (  next: *  curr: *  next: total_bytes  heredeclaration-specifiers declarator { block-item-list ( unary-operator curr: ID  next: )  declaration-specifiers declarator { block-item-list ( unary-operator primary-expression declaration-specifiers declarator { block-item-list ( unary-operator postfix-expression declaration-specifiers declarator { block-item-list ( unary-operator unary-expression declaration-specifiers declarator { block-item-list ( unary-operator cast-expression declaration-specifiers declarator { block-item-list ( unary-expression declaration-specifiers declarator { block-item-list ( cast-expression declaration-specifiers declarator { block-item-list ( multiplicative-expression declaration-specifiers declarator { block-item-list ( additive-expression declaration-specifiers declarator { block-item-list ( shift-expression declaration-specifiers declarator { block-item-list ( relational-expression declaration-specifiers declarator { block-item-list ( equality-expression declaration-specifiers declarator { block-item-list ( AND-expression declaration-specifiers declarator { block-item-list ( exclusive-OR-expression declaration-specifiers declarator { block-item-list ( inclusive-OR-expression declaration-specifiers declarator { block-item-list ( logical-AND-expression declaration-specifiers declarator { block-item-list ( logical-OR-expression declaration-specifiers declarator { block-item-list ( conditional-expression declaration-specifiers declarator { block-item-list ( assignment-expression declaration-specifiers declarator { block-item-list ( expression curr: )  next: +=  declaration-specifiers declarator { block-item-list primary-expression declaration-specifiers declarator { block-item-list postfix-expression declaration-specifiers declarator { block-item-list unary-expression curr: +=  next: len  declaration-specifiers declarator { block-item-list unary-expression assignment-operator curr: ID  next: ;  declaration-specifiers declarator { block-item-list unary-expression assignment-operator primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator assignment-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: bd  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list 
	bd.lli_bus = (pl08x->lli_buses & PL08X_AHB2) ? PL080_LLI_LM_AHB2 : 0;
curr: ID  next: .  declaration-specifiers declarator { block-item-list primary-expression declaration-specifiers declarator { block-item-list postfix-expression curr: .  next: lli_bus  curr: ID  next: =  declaration-specifiers declarator { block-item-list postfix-expression declaration-specifiers declarator { block-item-list unary-expression curr: =  next: (  declaration-specifiers declarator { block-item-list unary-expression assignment-operator curr: (  next: pl08x  curr: ID  next: ->  declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( postfix-expression curr: ->  next: lli_buses  curr: ID  next: &  declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( AND-expression curr: &  next: PL08X_AHB2  curr: ID  next: )  declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( AND-expression & primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( AND-expression & postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( AND-expression & unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( AND-expression & cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( AND-expression & multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( AND-expression & additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( AND-expression & shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( AND-expression & relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( AND-expression & equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( assignment-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator ( expression curr: )  next: ?  declaration-specifiers declarator { block-item-list unary-expression assignment-operator primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression curr: ?  next: PL080_LLI_LM_AHB2  curr: ID  next: :  declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? assignment-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression curr: :  next: 0  curr: 0  next: ;  declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression : primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression : postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression : unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression : cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression : multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression : additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression : shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression : relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression : equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression : AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression : exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression : inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression : logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression : logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression : conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator assignment-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: prep_byte_width_lli  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list 
	prep_byte_width_lli(&bd, &cctl, bd.remainder, num_llis++, &total_bytes);
curr: ID  next: (  declaration-specifiers declarator { block-item-list primary-expression declaration-specifiers declarator { block-item-list postfix-expression curr: (  next: bd  curr: ID  next: ,  declaration-specifiers declarator { block-item-list postfix-expression ( primary-expression declaration-specifiers declarator { block-item-list postfix-expression ( postfix-expression declaration-specifiers declarator { block-item-list postfix-expression ( unary-expression declaration-specifiers declarator { block-item-list postfix-expression ( cast-expression declaration-specifiers declarator { block-item-list postfix-expression ( multiplicative-expression declaration-specifiers declarator { block-item-list postfix-expression ( additive-expression declaration-specifiers declarator { block-item-list postfix-expression ( shift-expression declaration-specifiers declarator { block-item-list postfix-expression ( relational-expression declaration-specifiers declarator { block-item-list postfix-expression ( equality-expression declaration-specifiers declarator { block-item-list postfix-expression ( AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( exclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( inclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( logical-AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( logical-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( conditional-expression declaration-specifiers declarator { block-item-list postfix-expression ( assignment-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list curr: ,  next: &  curr: &  next: cctl  declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator curr: ID  next: ,  declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator primary-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator postfix-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator unary-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator cast-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , cast-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , multiplicative-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , additive-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , shift-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , relational-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , equality-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , exclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , inclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , conditional-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , assignment-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list curr: ,  next: bd  curr: ID  next: .  declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , primary-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression curr: .  next: remainder  curr: ID  next: ,  declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , cast-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , multiplicative-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , additive-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , shift-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , relational-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , equality-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , exclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , inclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , conditional-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , assignment-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list curr: ,  next: num_llis  curr: ID  next: ++  declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , primary-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression curr: ++  next: ,  declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , cast-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , multiplicative-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , additive-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , shift-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , relational-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , equality-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , exclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , inclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , conditional-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , assignment-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list curr: ,  next: &  curr: &  next: total_bytes  declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator curr: ID  next: )  declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator primary-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator postfix-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator unary-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-operator cast-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , unary-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , cast-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , multiplicative-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , additive-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , shift-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , relational-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , equality-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , exclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , inclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , conditional-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , assignment-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list curr: )  next: ;  declaration-specifiers declarator { block-item-list postfix-expression declaration-specifiers declarator { block-item-list unary-expression declaration-specifiers declarator { block-item-list cast-expression declaration-specifiers declarator { block-item-list multiplicative-expression declaration-specifiers declarator { block-item-list additive-expression declaration-specifiers declarator { block-item-list shift-expression declaration-specifiers declarator { block-item-list relational-expression declaration-specifiers declarator { block-item-list equality-expression declaration-specifiers declarator { block-item-list AND-expression declaration-specifiers declarator { block-item-list exclusive-OR-expression declaration-specifiers declarator { block-item-list inclusive-OR-expression declaration-specifiers declarator { block-item-list logical-AND-expression declaration-specifiers declarator { block-item-list logical-OR-expression declaration-specifiers declarator { block-item-list conditional-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: llis_va  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list
	llis_va[num_llis - 1].cctl |= PL080_CONTROL_TC_IRQ_EN;
curr: ID  next: [  declaration-specifiers declarator { block-item-list primary-expression declaration-specifiers declarator { block-item-list postfix-expression curr: [  next: num_llis  curr: ID  next: -  declaration-specifiers declarator { block-item-list postfix-expression [ primary-expression declaration-specifiers declarator { block-item-list postfix-expression [ postfix-expression declaration-specifiers declarator { block-item-list postfix-expression [ unary-expression declaration-specifiers declarator { block-item-list postfix-expression [ cast-expression declaration-specifiers declarator { block-item-list postfix-expression [ multiplicative-expression declaration-specifiers declarator { block-item-list postfix-expression [ additive-expression curr: -  next: 1  curr: 1  next: ]  declaration-specifiers declarator { block-item-list postfix-expression [ additive-expression - primary-expression declaration-specifiers declarator { block-item-list postfix-expression [ additive-expression - postfix-expression declaration-specifiers declarator { block-item-list postfix-expression [ additive-expression - unary-expression declaration-specifiers declarator { block-item-list postfix-expression [ additive-expression - cast-expression declaration-specifiers declarator { block-item-list postfix-expression [ additive-expression - multiplicative-expression declaration-specifiers declarator { block-item-list postfix-expression [ additive-expression declaration-specifiers declarator { block-item-list postfix-expression [ shift-expression declaration-specifiers declarator { block-item-list postfix-expression [ relational-expression declaration-specifiers declarator { block-item-list postfix-expression [ equality-expression declaration-specifiers declarator { block-item-list postfix-expression [ AND-expression declaration-specifiers declarator { block-item-list postfix-expression [ exclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression [ inclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression [ logical-AND-expression declaration-specifiers declarator { block-item-list postfix-expression [ logical-OR-expression declaration-specifiers declarator { block-item-list postfix-expression [ conditional-expression declaration-specifiers declarator { block-item-list postfix-expression [ assignment-expression declaration-specifiers declarator { block-item-list postfix-expression [ expression curr: ]  next: .  declaration-specifiers declarator { block-item-list postfix-expression curr: .  next: cctl  curr: ID  next: |=  declaration-specifiers declarator { block-item-list postfix-expression declaration-specifiers declarator { block-item-list unary-expression curr: |=  next: PL080_CONTROL_TC_IRQ_EN  declaration-specifiers declarator { block-item-list unary-expression assignment-operator curr: ID  next: ;  declaration-specifiers declarator { block-item-list unary-expression assignment-operator primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator assignment-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: flag  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list 
	flag = !(dst & PL08X_AHB1) || ((dst & PL08X_AHB2) && (src & PL08X_AHB1));
curr: ID  next: =  declaration-specifiers declarator { block-item-list primary-expression declaration-specifiers declarator { block-item-list postfix-expression declaration-specifiers declarator { block-item-list unary-expression curr: =  next: !  declaration-specifiers declarator { block-item-list unary-expression assignment-operator curr: !  next: (  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator curr: (  next: dst  curr: ID  next: &  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( AND-expression curr: &  next: PL08X_AHB1  curr: ID  next: )  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( AND-expression & primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( AND-expression & postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( AND-expression & unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( AND-expression & cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( AND-expression & multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( AND-expression & additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( AND-expression & shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( AND-expression & relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( AND-expression & equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( assignment-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( expression curr: )  next: ||  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression curr: ||  next: (  curr: (  next: (  curr: (  next: dst  curr: ID  next: &  declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( ( primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( ( postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( ( unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( ( cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( ( multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( ( additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( ( shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( ( relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( ( equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( ( AND-expression curr: &  next: PL08X_AHB2  curr: ID  next: )  declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( ( AND-expression & primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( ( AND-expression & postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( ( AND-expression & unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( ( AND-expression & cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( ( AND-expression & multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( ( AND-expression & additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( ( AND-expression & shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( ( AND-expression & relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( ( AND-expression & equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( ( AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( ( exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( ( inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( ( logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( ( logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( ( conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( ( assignment-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( ( expression curr: )  next: &&  declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression curr: &&  next: (  curr: (  next: src  curr: ID  next: &  declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && ( primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && ( postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && ( unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && ( cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && ( multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && ( additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && ( shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && ( relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && ( equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && ( AND-expression curr: &  next: PL08X_AHB1  curr: ID  next: )  declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && ( AND-expression & primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && ( AND-expression & postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && ( AND-expression & unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && ( AND-expression & cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && ( AND-expression & multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && ( AND-expression & additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && ( AND-expression & shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && ( AND-expression & relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && ( AND-expression & equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && ( AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && ( exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && ( inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && ( logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && ( logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && ( conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && ( assignment-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && ( expression curr: )  next: )  declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression && inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( assignment-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || ( expression curr: )  next: ;  declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression || logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator assignment-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: cctl  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list 
	cctl &= ~(PL080_CONTROL_SRC_AHB2 | PL080_CONTROL_DST_AHB2 |
		  PL080_CONTROL_PROT_MASK);
curr: ID  next: &=  declaration-specifiers declarator { block-item-list primary-expression declaration-specifiers declarator { block-item-list postfix-expression declaration-specifiers declarator { block-item-list unary-expression curr: &=  next: ~  declaration-specifiers declarator { block-item-list unary-expression assignment-operator curr: ~  next: (  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator curr: (  next: PL080_CONTROL_SRC_AHB2  curr: ID  next: |  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( inclusive-OR-expression curr: |  next: PL080_CONTROL_DST_AHB2  curr: ID  next: |  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( inclusive-OR-expression | primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( inclusive-OR-expression | postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( inclusive-OR-expression | unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( inclusive-OR-expression | cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( inclusive-OR-expression | multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( inclusive-OR-expression | additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( inclusive-OR-expression | shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( inclusive-OR-expression | relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( inclusive-OR-expression | equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( inclusive-OR-expression | AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( inclusive-OR-expression | exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( inclusive-OR-expression curr: |  next: PL080_CONTROL_PROT_MASK  curr: ID  next: )  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( inclusive-OR-expression | primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( inclusive-OR-expression | postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( inclusive-OR-expression | unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( inclusive-OR-expression | cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( inclusive-OR-expression | multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( inclusive-OR-expression | additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( inclusive-OR-expression | shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( inclusive-OR-expression | relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( inclusive-OR-expression | equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( inclusive-OR-expression | AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( inclusive-OR-expression | exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( assignment-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator ( expression curr: )  next: ;  declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator assignment-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: cctl  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list
	cctl |= width << PL080_CONTROL_SWIDTH_SHIFT;
curr: ID  next: |=  declaration-specifiers declarator { block-item-list primary-expression declaration-specifiers declarator { block-item-list postfix-expression declaration-specifiers declarator { block-item-list unary-expression curr: |=  next: width  declaration-specifiers declarator { block-item-list unary-expression assignment-operator curr: ID  next: <<  declaration-specifiers declarator { block-item-list unary-expression assignment-operator primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression curr: <<  next: PL080_CONTROL_SWIDTH_SHIFT  curr: ID  next: ;  declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator assignment-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: txd  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list 
	txd->ccfg |= PL080_FLOW_MEM2MEM << PL080_CONFIG_FLOW_CONTROL_SHIFT;
curr: ID  next: ->  declaration-specifiers declarator { block-item-list primary-expression declaration-specifiers declarator { block-item-list postfix-expression curr: ->  next: ccfg  curr: ID  next: |=  declaration-specifiers declarator { block-item-list postfix-expression declaration-specifiers declarator { block-item-list unary-expression curr: |=  next: PL080_FLOW_MEM2MEM  declaration-specifiers declarator { block-item-list unary-expression assignment-operator curr: ID  next: <<  declaration-specifiers declarator { block-item-list unary-expression assignment-operator primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression curr: <<  next: PL080_CONFIG_FLOW_CONTROL_SHIFT  curr: ID  next: ;  declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression << additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator assignment-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: txd  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list
	txd->cctl = pl08x->pd->memcpy_channel.cctl_memcpy &
			~(PL080_CONTROL_DST_AHB2 | PL080_CONTROL_SRC_AHB2);
curr: ID  next: ->  declaration-specifiers declarator { block-item-list primary-expression declaration-specifiers declarator { block-item-list postfix-expression curr: ->  next: cctl  curr: ID  next: =  declaration-specifiers declarator { block-item-list postfix-expression declaration-specifiers declarator { block-item-list unary-expression curr: =  next: pl08x  declaration-specifiers declarator { block-item-list unary-expression assignment-operator curr: ID  next: ->  declaration-specifiers declarator { block-item-list unary-expression assignment-operator primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression curr: ->  next: pd  curr: ID  next: ->  declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression curr: ->  next: memcpy_channel  curr: ID  next: .  declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression curr: .  next: cctl_memcpy  curr: ID  next: &  declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression curr: &  next: ~  curr: ~  next: (  declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator curr: (  next: PL080_CONTROL_DST_AHB2  curr: ID  next: |  declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator ( primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator ( postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator ( unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator ( cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator ( multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator ( additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator ( shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator ( relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator ( equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator ( AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator ( exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator ( inclusive-OR-expression curr: |  next: PL080_CONTROL_SRC_AHB2  curr: ID  next: )  declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator ( inclusive-OR-expression | primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator ( inclusive-OR-expression | postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator ( inclusive-OR-expression | unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator ( inclusive-OR-expression | cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator ( inclusive-OR-expression | multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator ( inclusive-OR-expression | additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator ( inclusive-OR-expression | shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator ( inclusive-OR-expression | relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator ( inclusive-OR-expression | equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator ( inclusive-OR-expression | AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator ( inclusive-OR-expression | exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator ( inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator ( logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator ( logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator ( conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator ( assignment-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator ( expression curr: )  next: ;  declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression & equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator assignment-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: dev_vdbg  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list 
	dev_vdbg(&pl08x->adev->dev, "src=http://www.mamicode.com/0x%08x%s/%u dst=0x%08x%s/%u len=%zu/n",>
curr: ID  next: (  declaration-specifiers declarator { block-item-list primary-expression declaration-specifiers declarator { block-item-list postfix-expression curr: (  next: pl08x  curr: ID  next: ->  declaration-specifiers declarator { block-item-list postfix-expression ( primary-expression declaration-specifiers declarator { block-item-list postfix-expression ( postfix-expression curr: ->  next: adev  curr: ID  next: ->  declaration-specifiers declarator { block-item-list postfix-expression ( postfix-expression curr: ->  next: dev  curr: ID  next: ,  declaration-specifiers declarator { block-item-list postfix-expression ( postfix-expression declaration-specifiers declarator { block-item-list postfix-expression ( unary-expression declaration-specifiers declarator { block-item-list postfix-expression ( cast-expression declaration-specifiers declarator { block-item-list postfix-expression ( multiplicative-expression declaration-specifiers declarator { block-item-list postfix-expression ( additive-expression declaration-specifiers declarator { block-item-list postfix-expression ( shift-expression declaration-specifiers declarator { block-item-list postfix-expression ( relational-expression declaration-specifiers declarator { block-item-list postfix-expression ( equality-expression declaration-specifiers declarator { block-item-list postfix-expression ( AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( exclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( inclusive-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( logical-AND-expression declaration-specifiers declarator { block-item-list postfix-expression ( logical-OR-expression declaration-specifiers declarator { block-item-list postfix-expression ( conditional-expression declaration-specifiers declarator { block-item-list postfix-expression ( assignment-expression declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list curr: ,  next: src=http://www.mamicode.com/0x%08x%s/%u dst=0x%08x%s/%u len=%zu>
	res = dev->errors ? (dev->errors == -EPIPE ? -EPIPE : -EIO) : 0;
curr: ID  next: =  declaration-specifiers declarator { block-item-list primary-expression declaration-specifiers declarator { block-item-list postfix-expression declaration-specifiers declarator { block-item-list unary-expression curr: =  next: dev  declaration-specifiers declarator { block-item-list unary-expression assignment-operator curr: ID  next: ->  declaration-specifiers declarator { block-item-list unary-expression assignment-operator primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression curr: ->  next: errors  curr: ID  next: ?  declaration-specifiers declarator { block-item-list unary-expression assignment-operator postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression curr: ?  next: (  curr: (  next: dev  curr: ID  next: ->  declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( postfix-expression curr: ->  next: errors  curr: ID  next: ==  declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( equality-expression curr: ==  next: -  curr: -  next: EPIPE  declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( equality-expression == unary-operator curr: ID  next: ?  declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( equality-expression == unary-operator primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( equality-expression == unary-operator postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( equality-expression == unary-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( equality-expression == unary-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( equality-expression == unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( equality-expression == cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( equality-expression == multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( equality-expression == additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( equality-expression == shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( equality-expression == relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression curr: ?  next: -  curr: -  next: EPIPE  declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? unary-operator curr: ID  next: :  declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? unary-operator primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? unary-operator postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? unary-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? unary-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? assignment-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? expression curr: :  next: -  curr: -  next: EIO  declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? expression : unary-operator curr: ID  next: )  declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? expression : unary-operator primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? expression : unary-operator postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? expression : unary-operator unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? expression : unary-operator cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? expression : unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? expression : cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? expression : multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? expression : additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? expression : shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? expression : relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? expression : equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? expression : AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? expression : exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? expression : inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? expression : logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? expression : logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( logical-OR-expression ? expression : conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( assignment-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? ( expression curr: )  next: :  declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? assignment-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression curr: :  next: 0  curr: 0  next: ;  declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression : primary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression : postfix-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression : unary-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression : cast-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression : multiplicative-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression : additive-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression : shift-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression : relational-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression : equality-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression : AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression : exclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression : inclusive-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression : logical-AND-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression : logical-OR-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator logical-OR-expression ? expression : conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator conditional-expression declaration-specifiers declarator { block-item-list unary-expression assignment-operator assignment-expression declaration-specifiers declarator { block-item-list assignment-expression declaration-specifiers declarator { block-item-list expression curr: ;  next: }  declaration-specifiers declarator { block-item-list expression-statement declaration-specifiers declarator { block-item-list statement declaration-specifiers declarator { block-item-list block-item declaration-specifiers declarator { block-item-list curr: }  next: NULL  declaration-specifiers declarator compound-statement function-definition function-definition-list translation-unit 
}

总结

到此,你应该对C运算符优先级有个更加清楚的认识了。完全没有那么复杂,一切都是那么自然而水到渠成!之前说到的“转圈圈”,在这里有很多体现!
有些书籍上写道,如果你不知道或者不清楚运算符之间的优先级,那么请用括号解决!这是个明智的选择!从内部归约上看这是增加 编译器的负担,从开发人员角度来讲这是在节省开发时间,这样做减少或避免由于运算符优先级而引入的bug。相对把工作量转给编译器而言,这个交易太值了!

特此声明:
21世纪什么最重要,开源!知识无贵贱,知识无国界!知识需要传播,知识需要应用!不要版权,但要尊重劳动,转载请注明出处!
作者:my_live_123
下篇:语句


C语法归约之表达式复合运算(4)