some lines in lark
This commit is contained in:
		
							
								
								
									
										30
									
								
								spf.lark
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								spf.lark
									
									
									
									
									
								
							| @ -1 +1,29 @@ | ||||
| // Contient la gramaire de spf | ||||
| start: (instruction)* TERMINAL | ||||
|  | ||||
| instruction: KEYWORD TERMINAL | ||||
| 		   | declaration TERMINAL | ||||
|  | ||||
| declaration: TYPE NOM | ||||
| 		   | TYPE NOM "=" expression | ||||
|  | ||||
| expression: literal | ||||
| 		  | list | ||||
| 		  | range | ||||
| 		  | expression operator expression | ||||
| 		  | operator expression | ||||
|  | ||||
| controls: test | ||||
| 		| loop | ||||
|  | ||||
| test: "si" expression "alors" "{" instruction* "}" | ||||
|  | ||||
| loop: "si" expression "alors" { (instruction)* } | ||||
|  | ||||
| COMMENT: "#" /[^\n]/ | ||||
| %ignore COMMENT | ||||
|  | ||||
| TERMINAL: ";" | ||||
|  | ||||
| VARIABLE: /([a-z]|[A-Z]|_)+[a-z]|[A-Z]|[0-9]_)+/ // TODO: ajouter accents | ||||
|  | ||||
| TYPE: "booléen" | "entier" | "texte" | "liste" | ||||
|  | ||||
							
								
								
									
										4
									
								
								spf.py
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								spf.py
									
									
									
									
									
								
							| @ -20,10 +20,10 @@ def main(): | ||||
|     args = parser.parse_args() | ||||
|  | ||||
|     if args.dump: | ||||
|         print("Dump activated", file=sys.stderr) | ||||
|         print("Dump activated (TODO)", file=sys.stderr) | ||||
|  | ||||
|     if args.trace: | ||||
|         print("Trace activated", file=sys.stderr) | ||||
|         print("Trace activated (TODO)", file=sys.stderr) | ||||
|  | ||||
|  | ||||
| if __name__ == "__main__": | ||||
|  | ||||
		Reference in New Issue
	
	Block a user