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 = bd->srcbus.addr;

	llis_va[num_llis].lli = llis_bus + (num_llis + 1) * sizeof(struct pl08x_lli);

	bd->dstbus.addr += len;

	*cctl = pl08x_cctl_bits(*cctl, 1, 1, len);

	(*total_bytes) += len;

	bd.lli_bus = (pl08x->lli_buses & PL08X_AHB2) ? PL080_LLI_LM_AHB2 : 0;

	prep_byte_width_lli(&bd, &cctl, bd.remainder, num_llis++, &total_bytes);

	llis_va[num_llis - 1].cctl |= PL080_CONTROL_TC_IRQ_EN;

	flag = !(dst & PL08X_AHB1) || ((dst & PL08X_AHB2) && (src & PL08X_AHB1));

	cctl &= ~(PL080_CONTROL_SRC_AHB2 | PL080_CONTROL_DST_AHB2 |
		  PL080_CONTROL_PROT_MASK);

	cctl |= width << PL080_CONTROL_SWIDTH_SHIFT;

	txd->ccfg |= PL080_FLOW_MEM2MEM << PL080_CONFIG_FLOW_CONTROL_SHIFT;

	txd->cctl = pl08x->pd->memcpy_channel.cctl_memcpy &
			~(PL080_CONTROL_DST_AHB2 | PL080_CONTROL_SRC_AHB2);

	dev_vdbg(&pl08x->adev->dev, "src=0x%08x%s/%u dst=0x%08x%s/%u len=%zu\n",
			bd.srcbus.addr, cctl & PL080_CONTROL_SRC_INCR ? "+" : "",
			bd.remainder);

	res = dev->errors ? (dev->errors == -EPIPE ? -EPIPE : -EIO) : 0;
}

归约过程

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  
here
declaration-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  
here
declaration-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  
here
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: 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  
here
declaration-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  
here
declaration-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  
here
declaration-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 = 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  
here
declaration-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  
here
declaration-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=0x%08x%s/%u dst=0x%08x%s/%u len=%zu\n",
			bd.srcbus.addr, cctl & PL080_CONTROL_SRC_INCR ? "+" : "",
			bd.remainder);
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=0x%08x%s/%u dst=0x%08x%s/%u len=%zu
  

curr: STR  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: 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: srcbus  

curr: ID  next: .  
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , postfix-expression 

curr: .  next: addr  

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: cctl  

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 

curr: &  next: PL080_CONTROL_SRC_INCR  

curr: ID  next: ?  
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , AND-expression & primary-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , AND-expression & postfix-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , AND-expression & unary-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , AND-expression & cast-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , AND-expression & multiplicative-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , AND-expression & additive-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , AND-expression & shift-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , AND-expression & relational-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , AND-expression & 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 

curr: ?  next: +  

curr: STR  next: :  
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? primary-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? postfix-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? unary-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? cast-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? multiplicative-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? additive-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? shift-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? relational-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? equality-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? AND-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? exclusive-OR-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? inclusive-OR-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? logical-AND-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? logical-OR-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? conditional-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? assignment-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? expression 

curr: :  next:   

curr: STR  next: ,  
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? expression : primary-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? expression : postfix-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? expression : unary-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? expression : cast-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? expression : multiplicative-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? expression : additive-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? expression : shift-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? expression : relational-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? expression : equality-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? expression : AND-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? expression : exclusive-OR-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? expression : inclusive-OR-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? expression : logical-AND-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? expression : logical-OR-expression 
declaration-specifiers declarator { block-item-list postfix-expression ( argument-expression-list , logical-OR-expression ? expression : conditional-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: ;  
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: res  
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 
	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

下篇:语句

时间: 2024-08-02 03:46:11

C语法归约之表达式复合运算(4)的相关文章

C语法归约之表达式(3)

1.概要 前三篇博文(0,1,2)主要讨论是声明和定义的相关语法归约.从这篇文字开始,将开始进行有效的计算,涉及表达式和语句. 首先,表达式和语句这两个概念是不同的,表达式是没有分号(;)的,而表达式+:构成语句.但这不是语句的全部,语句还可以是跳转,迭代,标签语句等等(见图片C语句文法图)!打个比喻来说吧--就是蛋和鸡的关系!当然不是那个悖论,而是表达式是蛋,孵化是分号,鸡是语句.蛋孵化成鸡.鸡肚子里可以有蛋!嘎嘎!二者区别必须明白.不能混为一谈! 在C语言中,如果单纯就表达式计算而言,表达式

C语法归约之变量声明和定义(0)

0前言 闲来无事,在屋里多看了一眼<编译原理>(2V),有练练手的冲动--采用LR(1)技术,写了一个C语言的语法归约器!之所以用LR(1)是因为gcc,ucc,tcc和lcc跟商量好似的,清一色的用的LL归约技术,书上也是讲的跟天花一样漂亮,那么就说明它已经十分成熟了,如果再使用LL技术实在是炸不出价值来,源码一抓一大把,看看就够了,重写必要性不大!另外,书中的LR技术讲的项集又是大的没谱,工作量太大:如果使用工具yacc生成,又不知道它咋搞的猫腻,所以就没有踩它们的脚印,自己整套方法hig

C语法归约之数组和指针(1)

上一篇,开始了语法归约,给出变量声明定义初始化归约过程,和c99文法图,请查阅这里,相关文法图在这里依然要使用 1.数组归约 1.1.示例代码 int a[10]; int a[2][3]; int a[2][3][4]; struct AA boy[100]; struct AA boy[100][100]; union BB girl[10]; 1.2.归约过程 curr: int next: a type-specifier declaration-specifiers curr: ID

C语法归约之语句(5)

这是语法归约最后一部分了,后面文法当中还有个外部归约.它已经在前面以及这里都提及到了,也就是把全局声明定义和函数定义整合的过程,最后归约成一颗完整的树.根结点就是translation-unit,因此不再单独示例! 示例代码 void foo() { start: for(i = 1; i < NR; ++i) { if(i % 13 == 0) goto start; } } void foo() { a = b + c; return; } void foo() { if(a < 0) a

C语法归约之函数(2)

上篇给出了数组和指针的归约过程,此篇要进一步开辟新阵地--函数!主要用到文法树中的类型和抽象类型以及语句中的compound-stm; 语句和表达式的归约过程将在后期陆续给出,这里函数定义只是简单的一对花括号. 函数声明和定义归约 示例代码 本代码部分来自与C99标准中的范例 int f(void); int f(char *str, ...); int *fip(); int (*pfi)(); int (*apfi[3])(int *x, int *y); int (*fpfi(int (*

Linq To Sql中实现Left Join与Inner Join使用Linq语法与lambda表达式

当前有两个表,sgroup与sgroupuser,两者通过gKey关联,而sgroup表记录的是组,而sgroupuser记录是组中的用户,因此在sgroupuser中不一定有数据.需要使用Left Join获取数据: Linq语法如下: var sg = (from g in dc.sgroup join gu in dc.sgroupuser on g.gKey equals gu.gKey into l from lgu in l.DefaultIfEmpty() select new {

Objective-C 语法之 Debug 表达式

main.m 1 #import <Foundation/Foundation.h> 2 #import "TestClass.h" 3 4 int main(int argc, const char * argv[]) { 5 @autoreleasepool { 6 NSString *purposeInfo = @"拿到的信息不仅在Debug中有用,而且在selector的传递也很有用"; 7 [TestClass testDebugKeyword

EL表达式的语法与应用

EL(是Expression Language的缩写),使用EL对JSP输出进行优化,可以使得页面结构更加清晰,代码可读性高,也更加便于维护. EL表达式的语法: 语法:$(EL 表达式) $  和 ()缺一不可 提示:EL表达式不区分字母的大小写.可以访问对象的属性.使用EL表达式之前,必须将对象保存到作用域中. 示列:${news.title}   或者 ${news["title"]}     访问数组newsList[0] "."操作符  与 "[

Linq之查询表达式语法详解

1.闲言碎语 由于项目的需要接触到Linq,刚开始有些不适应,好多概念都很模糊.不过经过一段时间的摸索,慢慢地对Linq有了一个更加深入的了解.在此记录一下备忘.      2.查询表达式语法 执行Linq有两种方式,一种是方法形式eg:names.Contains('K');,另一种就是查询表达式eg:var query=from n in names select n; 下面用代码来详细解释. string[] fruitName = { "Apple", "Pear&q