mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	lib/linguist/languages.yml:
    Add the declaration for the language.
samples/Mercury:
    Add samples for the classifier as Mercury shares it's filename extension
    with several other languages.
		
	
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Mathematica
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Mathematica
		
	
	
	
	
	
| % ---------------------------------------------------------------------------- %
 | |
| % rot13_ralph.m
 | |
| % Copyright (C) 2001 Ralph Becket <rbeck@microsoft.com>
 | |
| % Tue Jan  9 18:10:44 GMT 2001
 | |
| % vim: ts=4 sw=4 et tw=0 wm=0 ff=unix ft=mercury
 | |
| %
 | |
| % Short and sweet.
 | |
| %
 | |
| % ---------------------------------------------------------------------------- %
 | |
| 
 | |
| :- module rot13_ralph.
 | |
| 
 | |
| :- interface.
 | |
| 
 | |
| :- import_module io.
 | |
| 
 | |
| 
 | |
| 
 | |
| :- pred main(io__state::di, io__state::uo) is det.
 | |
| 
 | |
| % ---------------------------------------------------------------------------- %
 | |
| % ---------------------------------------------------------------------------- %
 | |
| 
 | |
| :- implementation.
 | |
| 
 | |
| :- import_module int, require.
 | |
| 
 | |
| % ---------------------------------------------------------------------------- %
 | |
| 
 | |
| main -->
 | |
|     io__read_byte(Result),
 | |
|     (   { Result = ok(X) },         io__write_byte(rot13(X)), main
 | |
|     ;   { Result = eof }
 | |
|     ;   { Result = error(ErrNo)},   { error(io__error_message(ErrNo)) }
 | |
|     ).
 | |
| 
 | |
| % ---------------------------------------------------------------------------- %
 | |
| 
 | |
| :- func rot13(int) = int.
 | |
| 
 | |
| rot13(X) =
 | |
|     (      if 0'a =< X, X =< 0'z then Rot13(X, 0'a)
 | |
|       else if 0'A =< X, X =< 0'Z then Rot13(X, 0'A)
 | |
|       else X
 | |
|     )
 | |
|  :-
 | |
|     Rot13 = ( func(C, A) = ((13 + C - A) `rem` 26) + A ).
 | |
| 
 | |
| % ---------------------------------------------------------------------------- %
 | |
| % ---------------------------------------------------------------------------- %
 |