Theory And Practice Of Non-Binary Graph-Based Codes: A Combinatorial View