That's because stm doesn't have how to reduce to the program rule, try this:
%%
program: /* empty */
| stm
| header_stms
;
header_stms: /* empty */
| forward
| header_stms forward
;
/* forward proc declaration */
forward: "forward" TK_ID ";"
;
stm: /* empty */
| TK_ID "+" TK_ID
;
%%
Also, I solved your reduce problem in the header_stms, through left recursion.