mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-10-28 08:31:25 +00:00 
			
		
		
		
	 84e09a7d8b
			
		
	
	84e09a7d8b
	
	
	
		
			
			* llama, main : constrain sampling to grammar * allow loading grammar from file * fix whitespace errors * handle & print parser errors * add comments to grammar syntax and allow newlines where unambiguous * add missing include * support alternates in root rule * fix bugs with empty token and EOS * adjust JSON grammar * remove swp file * rewrite ternary expressions Co-authored-by: Henri Vasserman <henv@hot.ee> * use struct for grammar elements and add Unicode support * add unicode escapes * add inverse char ranges * only sample full tokens (no peeking or truncation) * llama : minor style changes blindly applied in online editor - hopefully I didn't break something * update help text * add warning message if EOS is disabled --------- Co-authored-by: Henri Vasserman <henv@hot.ee> Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
		
			
				
	
	
		
			7 lines
		
	
	
		
			177 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			7 lines
		
	
	
		
			177 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| root  ::= (expr "=" ws term "\n")+
 | |
| expr  ::= term ([-+*/] term)*
 | |
| term  ::= ident | num | "(" ws expr ")" ws
 | |
| ident ::= [a-z] [a-z0-9_]* ws
 | |
| num   ::= [0-9]+ ws
 | |
| ws    ::= [ \t\n]*
 |