mirror of
				https://github.com/gonum/gonum.git
				synced 2025-10-31 02:26:59 +08:00 
			
		
		
		
	 d39af6a71b
			
		
	
	d39af6a71b
	
	
	
		
			
			This code is based on the RDF N-Quad parsing code that I wrote for the Cayley graph database project in 2014. The code here does not include any code that was written by other members of the Cayley project and so is unencumbered by copyright ownership from that project. License addition is for the test suite from [1] linked from [2]. A second more restrictive license is possible if we are claiming spec compliance[3]. [1]https://www.w3.org/Consortium/Legal/2008/03-bsd-license [2]https://www.w3.org/Consortium/Legal/2008/04-testsuite-copyright.html [3]https://www.w3.org/Consortium/Legal/2008/04-testsuite-license.html
		
			
				
	
	
		
			23 lines
		
	
	
		
			532 B
		
	
	
	
		
			Ragel
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			532 B
		
	
	
	
		
			Ragel
		
	
	
	
	
	
| // Copyright ©2020 The Gonum Authors. All rights reserved.
 | |
| // Use of this source code is governed by a BSD-style
 | |
| // license that can be found in the LICENSE file.
 | |
| 
 | |
| %%{
 | |
| 	machine check;
 | |
| 
 | |
| 	action Return {
 | |
| 		return nil
 | |
| 	}
 | |
| 
 | |
| 	action Error {
 | |
| 		if p < len(data) {
 | |
| 			if r := data[p]; r < unicode.MaxASCII {
 | |
| 				return fmt.Errorf("%w: unexpected rune %q at %d", ErrInvalidTerm, data[p], p)
 | |
| 			} else {
 | |
| 				return fmt.Errorf("%w: unexpected rune %q (\\u%04[2]x) at %d", ErrInvalidTerm, data[p], p)
 | |
| 			}
 | |
| 		}
 | |
| 		return ErrIncompleteTerm
 | |
| 	}
 | |
| }%%
 |