Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

   0  $accept : yyyAugNonterm $end

   1  $$1 :

   2  yyyAugNonterm : $$1 s

   3  s : expr

   4  expr : expr '*' expr
   5       | expr '+' expr
   6       | expr '/' expr
   7       | expr '-' expr
   8       | '(' expr ')'
   9       | ID
  10       | CONST

state 0
	$accept : . yyyAugNonterm $end  (0)
	$$1 : .  (1)

	.  reduce 1

	yyyAugNonterm  goto 1
	$$1  goto 2


state 1
	$accept : yyyAugNonterm . $end  (0)

	$end  accept


state 2
	yyyAugNonterm : $$1 . s  (2)

	ID  shift 3
	CONST  shift 4
	'('  shift 5
	.  error

	s  goto 6
	expr  goto 7


state 3
	expr : ID .  (9)

	.  reduce 9


state 4
	expr : CONST .  (10)

	.  reduce 10


state 5
	expr : '(' . expr ')'  (8)

	ID  shift 3
	CONST  shift 4
	'('  shift 5
	.  error

	expr  goto 8


state 6
	yyyAugNonterm : $$1 s .  (2)

	.  reduce 2


state 7
	s : expr .  (3)
	expr : expr . '*' expr  (4)
	expr : expr . '+' expr  (5)
	expr : expr . '/' expr  (6)
	expr : expr . '-' expr  (7)

	'+'  shift 9
	'-'  shift 10
	'*'  shift 11
	'/'  shift 12
	$end  reduce 3


state 8
	expr : expr . '*' expr  (4)
	expr : expr . '+' expr  (5)
	expr : expr . '/' expr  (6)
	expr : expr . '-' expr  (7)
	expr : '(' expr . ')'  (8)

	'+'  shift 9
	'-'  shift 10
	'*'  shift 11
	'/'  shift 12
	')'  shift 13
	.  error


state 9
	expr : expr '+' . expr  (5)

	ID  shift 3
	CONST  shift 4
	'('  shift 5
	.  error

	expr  goto 14


state 10
	expr : expr '-' . expr  (7)

	ID  shift 3
	CONST  shift 4
	'('  shift 5
	.  error

	expr  goto 15


state 11
	expr : expr '*' . expr  (4)

	ID  shift 3
	CONST  shift 4
	'('  shift 5
	.  error

	expr  goto 16


state 12
	expr : expr '/' . expr  (6)

	ID  shift 3
	CONST  shift 4
	'('  shift 5
	.  error

	expr  goto 17


state 13
	expr : '(' expr ')' .  (8)

	.  reduce 8


state 14
	expr : expr . '*' expr  (4)
	expr : expr . '+' expr  (5)
	expr : expr '+' expr .  (5)
	expr : expr . '/' expr  (6)
	expr : expr . '-' expr  (7)

	'*'  shift 11
	'/'  shift 12
	$end  reduce 5
	'+'  reduce 5
	'-'  reduce 5
	')'  reduce 5


state 15
	expr : expr . '*' expr  (4)
	expr : expr . '+' expr  (5)
	expr : expr . '/' expr  (6)
	expr : expr . '-' expr  (7)
	expr : expr '-' expr .  (7)

	'*'  shift 11
	'/'  shift 12
	$end  reduce 7
	'+'  reduce 7
	'-'  reduce 7
	')'  reduce 7


state 16
	expr : expr . '*' expr  (4)
	expr : expr '*' expr .  (4)
	expr : expr . '+' expr  (5)
	expr : expr . '/' expr  (6)
	expr : expr . '-' expr  (7)

	.  reduce 4


state 17
	expr : expr . '*' expr  (4)
	expr : expr . '+' expr  (5)
	expr : expr . '/' expr  (6)
	expr : expr '/' expr .  (6)
	expr : expr . '-' expr  (7)

	'*'  shift 11
	$end  reduce 6
	'+'  reduce 6
	'-'  reduce 6
	'/'  reduce 6
	')'  reduce 6


10 terminals, 5 nonterminals
11 grammar rules, 18 states

grammar parser grammar
symbol# value# symbol
     0      0  $end
     1    256  error
     2    257  ID
     3    258  CONST
     4     43  '+'
     5     45  '-'
     6     42  '*'
     7     47  '/'
     8     40  '('
     9     41  ')'
    10    259  $accept
    11    260  yyyAugNonterm
    12    261  s
    13    262  $$1
    14    263  expr