In this paper, we show how to represent an EBNF (Extended BNF) grammar in form of a syntax graph. We then give an algorithm to translate an EBNF grammar into its syntax graph form. We proceed to present a general parsing algorithm applicable to various procedural high level language and make considerations of error recovery and the insertion of semantic routines.