github.com/vcilabs/webrpc@v0.5.2-0.20201116131534-162e27b1b33b/schema/ridl/definition_parser.go (about) 1 package ridl 2 3 func parserStateDefinitionValue(dn *DefinitionNode) parserState { 4 return func(p *parser) parserState { 5 value, err := p.expectLiteralValue() 6 if err != nil { 7 return p.stateError(err) 8 } 9 10 dn.rightNode = newTokenNode(value) 11 12 p.emit(dn) 13 14 return parserStateEOL 15 } 16 } 17 18 func parserStateDefinition(p *parser) parserState { 19 // <word><space>=<space>[<# comment>]<EOL> 20 tokens, err := p.match(tokenWord, tokenWhitespace, tokenEqual, tokenWhitespace) 21 if err != nil { 22 return p.stateError(err) 23 } 24 25 return parserStateDefinitionValue(&DefinitionNode{ 26 leftNode: newTokenNode(tokens[0]), 27 }) 28 }