Grammar:
Ss' -> <3> s;
 s -> <0> PLUS s s
    | <1> MUL s s
    | <2> A;

First sets:
FIRST(s') = {PLUS, A, MUL}
FIRST(s) = {PLUS, A, MUL}

Follow sets:
FOLLOW(s') = {EOF}
FOLLOW(s) = {PLUS, A, MUL, EOF}

Automation:
Non-terminal count: 1
Terminal count: 4
State count: 9 (0 - 8)

Action table:
STATE |     A |   MUL |  PLUS |   EOF
   0  |    s1 |    s3 |    s2 | -----
   1  |    r2 |    r2 |    r2 |    r2
   2  |    s1 |    s3 |    s2 | -----
   3  |    s1 |    s3 |    s2 | -----
   4  | ----- | ----- | ----- |accept
   5  |    s1 |    s3 |    s2 | -----
   6  |    s1 |    s3 |    s2 | -----
   7  |    r0 |    r0 |    r0 |    r0
   8  |    r1 |    r1 |    r1 |    r1


Goto table:
STATE |     s
   0  |     4
   1  | -----
   2  |     5
   3  |     6
   4  | -----
   5  |     7
   6  |     8
   7  | -----
   8  | -----


State 0:
    s' -> * s

State 1:
    s -> A *

State 2:
    s -> PLUS * s s

State 3:
    s -> MUL * s s

State 4:
    s' -> s *

State 5:
    s -> PLUS s * s

State 6:
    s -> MUL s * s

State 7:
    s -> PLUS s s *

State 8:
    s -> MUL s s *
