1 module ctpg; 2 3 import ctpg.caller : Caller; 4 import ctpg.input : Input; 5 import ctpg.parser_kind : ParserKind; 6 7 8 auto parse(alias parser, alias kind = ParserKind!(true, true), SrcType)(SrcType src, size_t line = __LINE__ , string file = __FILE__) if(__traits(compiles, parser.build)) 9 { 10 return parser.build!(kind, SrcType).parse(Input!SrcType(src), Caller(line, file)); 11 } 12 13 auto parse(alias parser, alias kind = ParserKind!(true, true), SrcType)(SrcType src, size_t line = __LINE__ , string file = __FILE__) if(__traits(compiles, parser!().build)) 14 { 15 return parser!().build!(kind, SrcType).parse(Input!SrcType(src), Caller(line, file)); 16 }