34 lines
		
	
	
		
			564 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			564 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#
 | 
						|
# genoptcode.hawk
 | 
						|
#
 | 
						|
# hawk -f genoptcode.hawk hawk.h
 | 
						|
#
 | 
						|
 | 
						|
BEGIN { 
 | 
						|
	collect=0; 
 | 
						|
	tab3="\t\t";
 | 
						|
	tab4="\t\t\t";
 | 
						|
}
 | 
						|
 | 
						|
/^[[:space:]]*enum[[:space:]]+hawk_trait_t[[:space:]]*$/ { 
 | 
						|
	collect=1; 
 | 
						|
	print tab3 "// generated by genoptcode.awk";
 | 
						|
	print tab3 "enum Option";
 | 
						|
	print tab3 "{";
 | 
						|
}
 | 
						|
 | 
						|
collect && /^[[:space:]]*};[[:space:]]*$/ { 
 | 
						|
	print tab3 "};";
 | 
						|
	print tab3 "// end of enum Option";
 | 
						|
	print "";
 | 
						|
	collect=0; 
 | 
						|
}
 | 
						|
 | 
						|
collect && /^[[:space:]]*HAWK_[[:alnum:]]+/ { 
 | 
						|
	split ($1, flds, ",");
 | 
						|
	name=flds[1];
 | 
						|
 | 
						|
	print tab4 "TRAIT_" substr (name,6,length(name)-5) " = " name ",";
 | 
						|
}
 | 
						|
 |