43 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Awk
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Awk
		
	
	
	
	
	
| # This script requires QSEAWK.
 | |
| 
 | |
| BEGIN {
 | |
| 	printf ("-- Generated with ascii.txt and ascii.awk\n");
 | |
| 	printf ("-- Run qseawk -f ascii.awk ascii.txt > h2-ascii.ads for regeneration\n\n");
 | |
| 	printf ("generic\n");
 | |
| 	printf ("\ttype Slim_Character is (<>);\n");
 | |
| 	printf ("\ttype Wide_Character is (<>);\n");
 | |
| 	printf ("package H2.Ascii is\n\n");
 | |
| 	#printf ("\tpragma Preelaborate (Ascii);\n\n");
 | |
| 	printf ("\tpackage Code is\n");
 | |
| }
 | |
| 
 | |
| {
 | |
| 	t = sprintf ("%c", NR - 1);
 | |
| 	if (str::isprint(t)) t = " -- " t;
 | |
| 	else t="";
 | |
| 	printf ("\t\t%-20s: constant := %d;%s\n", $1, NR-1, t);
 | |
| 	X[NR - 1] = $1; 
 | |
| }
 | |
| 
 | |
| END {
 | |
| 	printf ("\tend Code;\n\n");
 | |
| 
 | |
| 	printf ("\tpackage Slim is\n");
 | |
| 	for (i = 0; i < length(X); i++)
 | |
| 	{
 | |
| 		printf ("\t\t%-20s: constant Slim_Character := Slim_Character'Val(Code.%s);\n", X[i], X[i]);
 | |
| 	}
 | |
| 	printf ("\tend Slim;\n");
 | |
| 
 | |
| 	printf ("\n");
 | |
| 
 | |
| 	printf ("\tpackage Wide is\n");
 | |
| 	for (i = 0; i < length(X); i++)
 | |
| 	{
 | |
| 		printf ("\t\t%-20s: constant Wide_Character := Wide_Character'Val(Code.%s);\n", X[i], X[i]);
 | |
| 	}
 | |
| 	printf ("\tend Wide;\n");
 | |
| 
 | |
| 	printf ("\nend H2.Ascii;\n");
 | |
| }
 |