diff --git a/assets/parser.rs.erb b/assets/parser.rs.erb index 79c727b..3fc5e0e 100644 --- a/assets/parser.rs.erb +++ b/assets/parser.rs.erb @@ -26,13 +26,24 @@ *************************************************************************/ /* Result codes. */ -pub const P_SUCCESS: usize = 0; -pub const P_DECODE_ERROR: usize = 1; -pub const P_UNEXPECTED_INPUT: usize = 2; -pub const P_UNEXPECTED_TOKEN: usize = 3; -pub const P_DROP: usize = 4; -pub const P_EOF: usize = 5; -pub const P_USER_TERMINATED: usize = 6; +pub const <%= @grammar.prefix.upcase %>SUCCESS: usize = 0; +pub const <%= @grammar.prefix.upcase %>DECODE_ERROR: usize = 1; +pub const <%= @grammar.prefix.upcase %>UNEXPECTED_INPUT: usize = 2; +pub const <%= @grammar.prefix.upcase %>UNEXPECTED_TOKEN: usize = 3; +pub const <%= @grammar.prefix.upcase %>DROP: usize = 4; +pub const <%= @grammar.prefix.upcase %>EOF: usize = 5; +pub const <%= @grammar.prefix.upcase %>USER_TERMINATED: usize = 6; +<% if @grammar.prefix.upcase != "P_" %> + +/* Internal result code aliases used by the generated implementation below. */ +const P_SUCCESS: usize = 0; +const P_DECODE_ERROR: usize = 1; +const P_UNEXPECTED_INPUT: usize = 2; +const P_UNEXPECTED_TOKEN: usize = 3; +const P_DROP: usize = 4; +const P_EOF: usize = 5; +const P_USER_TERMINATED: usize = 6; +<% end %> /** Token type. */ pub type <%= @grammar.prefix %>token_t = <%= get_type_for(@grammar.terminate_token_id) %>; diff --git a/spec/test_multiple_parsers.rs b/spec/test_multiple_parsers.rs index b589f90..c418cbf 100644 --- a/spec/test_multiple_parsers.rs +++ b/spec/test_multiple_parsers.rs @@ -3,10 +3,10 @@ use testparsermyp2 as m2; fn main() { let mut context1 = m1::myp1_context_new(b"a\n1"); - assert_eq!(m1::P_SUCCESS, m1::myp1_parse(&mut context1)); + assert_eq!(m1::MYP1_SUCCESS, m1::myp1_parse(&mut context1)); m1::myp1_context_delete(context1); let mut context2 = m2::myp2_context_new(b"bcb"); - assert_eq!(m2::P_SUCCESS, m2::myp2_parse(&mut context2)); + assert_eq!(m2::MYP2_SUCCESS, m2::myp2_parse(&mut context2)); m2::myp2_context_delete(context2); }