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 : declaration $end

   1  $$1 :

   2  $$2 :

   3  declaration : class type $$1 $$2 namelist
   4              | type locnamelist

   5  class : GLOBAL
   6        | LOCAL

   7  type : REAL
   8       | INTEGER

   9  $$3 :

  10  namelist : $$3 namelist NAME
  11           | NAME

  12  $$4 :

  13  locnamelist : $$4 $$2 namelist

state 0
	$accept : . declaration $end  (0)

	GLOBAL  shift 1
	LOCAL  shift 2
	REAL  shift 3
	INTEGER  shift 4
	.  error

	declaration  goto 5
	class  goto 6
	type  goto 7


state 1
	class : GLOBAL .  (5)

	.  reduce 5


state 2
	class : LOCAL .  (6)

	.  reduce 6


state 3
	type : REAL .  (7)

	.  reduce 7


state 4
	type : INTEGER .  (8)

	.  reduce 8


state 5
	$accept : declaration . $end  (0)

	$end  accept


state 6
	declaration : class . type $$1 $$2 namelist  (3)

	REAL  shift 3
	INTEGER  shift 4
	.  error

	type  goto 8


state 7
	declaration : type . locnamelist  (4)
	$$4 : .  (12)

	.  reduce 12

	locnamelist  goto 9
	$$4  goto 10


state 8
	declaration : class type . $$1 $$2 namelist  (3)
	$$1 : .  (1)

	.  reduce 1

	$$1  goto 11


state 9
	declaration : type locnamelist .  (4)

	.  reduce 4


state 10
	locnamelist : $$4 . $$2 namelist  (13)
	$$2 : .  (2)

	.  reduce 2

	$$2  goto 12


state 11
	declaration : class type $$1 . $$2 namelist  (3)
	$$2 : .  (2)

	.  reduce 2

	$$2  goto 13


12: shift/reduce conflict (shift 14, reduce 9) on NAME
state 12
	locnamelist : $$4 $$2 . namelist  (13)
	$$3 : .  (9)

	NAME  shift 14

	namelist  goto 15
	$$3  goto 16


13: shift/reduce conflict (shift 14, reduce 9) on NAME
state 13
	declaration : class type $$1 $$2 . namelist  (3)
	$$3 : .  (9)

	NAME  shift 14

	namelist  goto 17
	$$3  goto 16


state 14
	namelist : NAME .  (11)

	.  reduce 11


state 15
	locnamelist : $$4 $$2 namelist .  (13)

	.  reduce 13


16: shift/reduce conflict (shift 14, reduce 9) on NAME
state 16
	namelist : $$3 . namelist NAME  (10)
	$$3 : .  (9)

	NAME  shift 14

	namelist  goto 18
	$$3  goto 16


state 17
	declaration : class type $$1 $$2 namelist .  (3)

	.  reduce 3


state 18
	namelist : $$3 namelist . NAME  (10)

	NAME  shift 19
	.  error


state 19
	namelist : $$3 namelist NAME .  (10)

	.  reduce 10


Rules never reduced:
	$$3 :  (9)


State 12 contains 1 shift/reduce conflict.
State 13 contains 1 shift/reduce conflict.
State 16 contains 1 shift/reduce conflict.


7 terminals, 10 nonterminals
14 grammar rules, 20 states

grammar parser grammar
symbol# value# symbol
     0      0  $end
     1    256  error
     2    257  GLOBAL
     3    258  LOCAL
     4    259  REAL
     5    260  INTEGER
     6    261  NAME
     7    262  $accept
     8    263  declaration
     9    264  namelist
    10    265  locnamelist
    11    266  class
    12    267  type
    13    268  $$1
    14    269  $$2
    15    270  $$3
    16    271  $$4