mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	Add TXL language
Add: * TXL language * Sample TXL file
This commit is contained in:
		| @@ -1175,6 +1175,13 @@ SuperCollider: | ||||
|   extensions: | ||||
|   - .scd | ||||
|  | ||||
| TXL: | ||||
|   type: programming | ||||
|   lexer: Text only | ||||
|   primary_extension: .txl | ||||
|   extensions: | ||||
|   - .txl | ||||
|  | ||||
| Tcl: | ||||
|   type: programming | ||||
|   color: "#e4cc98" | ||||
|   | ||||
							
								
								
									
										80
									
								
								samples/TXL/Cal.Txl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										80
									
								
								samples/TXL/Cal.Txl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,80 @@ | ||||
| % Calculator.Txl - simple numerical expression evaluator | ||||
|  | ||||
| % Part I.  Syntax specification | ||||
| define program | ||||
|         [expression] | ||||
| end define | ||||
|  | ||||
| define expression | ||||
|         [term] | ||||
|     |   [expression] [addop] [term] | ||||
| end define | ||||
|  | ||||
| define term | ||||
|         [primary] | ||||
|     |   [term] [mulop] [primary] | ||||
| end define | ||||
|  | ||||
| define primary | ||||
|         [number] | ||||
|     |   ( [expression] ) | ||||
| end define | ||||
|  | ||||
| define addop | ||||
|         '+ | ||||
|     |   '- | ||||
| end define | ||||
|  | ||||
| define mulop | ||||
|         '* | ||||
|     |   '/ | ||||
| end define | ||||
|  | ||||
|  | ||||
| % Part 2.  Transformation rules | ||||
| rule main | ||||
|     replace [expression] | ||||
|         E [expression] | ||||
|     construct NewE [expression] | ||||
|         E [resolveAddition] [resolveSubtraction] [resolveMultiplication] | ||||
|           [resolveDivision] [resolveParentheses] | ||||
|     where not | ||||
|         NewE [= E] | ||||
|     by | ||||
|         NewE | ||||
| end rule | ||||
|  | ||||
| rule resolveAddition | ||||
|     replace [expression] | ||||
|         N1 [number] + N2 [number] | ||||
|     by | ||||
|         N1 [+ N2] | ||||
| end rule | ||||
|  | ||||
| rule resolveSubtraction | ||||
|     replace [expression] | ||||
|         N1 [number] - N2 [number] | ||||
|     by | ||||
|         N1 [- N2] | ||||
| end rule | ||||
|  | ||||
| rule resolveMultiplication | ||||
|     replace [term] | ||||
|         N1 [number] * N2 [number] | ||||
|     by | ||||
|         N1 [* N2] | ||||
| end rule | ||||
|  | ||||
| rule resolveDivision | ||||
|     replace [term] | ||||
|         N1 [number] / N2 [number] | ||||
|     by | ||||
|         N1 [/ N2] | ||||
| end rule | ||||
|  | ||||
| rule resolveParentheses | ||||
|     replace [primary] | ||||
|         ( N [number] ) | ||||
|     by | ||||
|         N | ||||
| end rule | ||||
		Reference in New Issue
	
	Block a user