///| pub fn parse(source : StringView) -> @parser.Definitions raise { let tokens = @lexer.tokenize(source) match @parser.parse(tokens.view()) { (definitions, []) => definitions _ => fail("invalid Web IDL") } }