There's not much to go on from your question. In fact it raises more questions. How old is he? How old are you?
Dating someone for 3 years when you met at age 17 isn't the same as dating someone for 3 years and meeting them at age 28, 30, or beyond.
Aside from wanting to get married "now" what other goals do you have in life? What "magical thing" do you believe will happen (the day after) the wedding?
Will you love him more? Will he love you more? Do you believe he's "in love" with you?
You said he tells you that he will marry you. Do you think he's lying? If so, why?
Have you asked (why) he wants to wait? Are these sound legitimate reasons?
Do you want to marry (him)? or Is your goal (to be married)? There is a difference!
There are two basic reasons why men do not propose:
1. Timing: (They have other priorities/goals they want to accomplish)
2. You are not "the one".
Ultimately there is no amount of "communication" or "work" that can overcome being with someone who simply does NOT want what (you) want. Natural compatibility trumps compromise!
There are only two ways to experience joy and peace of mind in relationships: We either get what we want or we learn to be happy with what we have. Accept them (as is) or move on.
All marriages will have their share of challenges but at the very least a marriage should start off with (both people) WANTING to get married! If you have to twist his arm he's not "the one".