You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							182 lines
						
					
					
						
							3.5 KiB
						
					
					
				
			
		
		
	
	
							182 lines
						
					
					
						
							3.5 KiB
						
					
					
				<?php
 | 
						|
$x = <<<FOO
 | 
						|
-100	Command error
 | 
						|
-101	Invalid character
 | 
						|
-102	Syntax error
 | 
						|
-103	Invalid separator
 | 
						|
-104	Data type error
 | 
						|
-105	GET not allowed
 | 
						|
-108	Parameter not allowed
 | 
						|
-109	Missing parameter
 | 
						|
 | 
						|
-110	Command header error
 | 
						|
-111	Header separator error
 | 
						|
-112	Program mnemonic too long
 | 
						|
-113	Undefined header
 | 
						|
-114	Header suffix out of range
 | 
						|
-115	Unexpected number of parameters
 | 
						|
 | 
						|
-120	Numeric data error
 | 
						|
-121	Invalid character in number
 | 
						|
-123	Exponent too large
 | 
						|
-124	Too many digits
 | 
						|
-128	Numeric data not allowed
 | 
						|
 | 
						|
-130	Suffix error
 | 
						|
-131	Invalid suffix
 | 
						|
-134	Suffix too long
 | 
						|
-138	Suffix not allowed
 | 
						|
 | 
						|
-140	Character data error
 | 
						|
-141	Invalid character data
 | 
						|
-144	Character data too long
 | 
						|
-148	Character data not allowed
 | 
						|
 | 
						|
-150	String data error
 | 
						|
-151	Invalid string data
 | 
						|
-158	String data not allowed
 | 
						|
 | 
						|
-160	Block data error
 | 
						|
-161	Invalid block data
 | 
						|
-168	Block data not allowed
 | 
						|
 | 
						|
-170	Expression error
 | 
						|
-171	Invalid expression
 | 
						|
-178	Expression data not allowed
 | 
						|
 | 
						|
-180	Macro error
 | 
						|
-181	Invalid outside macro definition
 | 
						|
-183	Invalid inside macro definition
 | 
						|
-184	Macro parameter error
 | 
						|
 | 
						|
 | 
						|
-200	Execution error
 | 
						|
-201	Invalid while in local
 | 
						|
-202	Settings lost due to rtl
 | 
						|
-203	Command protected
 | 
						|
 | 
						|
-210	Trigger error
 | 
						|
-211	Trigger ignored
 | 
						|
-212	Arm ignored
 | 
						|
-213	Init ignored
 | 
						|
-214	Trigger deadlock
 | 
						|
-215	Arm deadlock
 | 
						|
 | 
						|
-220	Parameter error
 | 
						|
-221	Settings conflict
 | 
						|
-222	Data out of range
 | 
						|
-223	Too much data
 | 
						|
-224	Illegal parameter value
 | 
						|
-225	Out of memory
 | 
						|
-226	Lists not same length
 | 
						|
 | 
						|
-230	Data corrupt or stale
 | 
						|
-231	Data questionable
 | 
						|
-232	Invalid format
 | 
						|
-233	Invalid version
 | 
						|
 | 
						|
-240	Hardware error
 | 
						|
-241	Hardware missing
 | 
						|
 | 
						|
-250	Mass storage error
 | 
						|
-251	Missing mass storage
 | 
						|
-252	Missing media
 | 
						|
-253	Corrupt media
 | 
						|
-254	Media full
 | 
						|
-255	Directory full
 | 
						|
-256	File name not found
 | 
						|
-257	File name error
 | 
						|
-258	Media protected
 | 
						|
 | 
						|
-260	Expression error
 | 
						|
-261	Math error in expression
 | 
						|
 | 
						|
-270	Macro error
 | 
						|
-271	Macro syntax error
 | 
						|
-272	Macro execution error
 | 
						|
-273	Illegal macro label
 | 
						|
-274	Macro parameter error
 | 
						|
-275	Macro definition too long
 | 
						|
-276	Macro recursion error
 | 
						|
-277	Macro redefinition not allowed
 | 
						|
-278	Macro header not found
 | 
						|
 | 
						|
-280	Program error
 | 
						|
-281	Cannot create program
 | 
						|
-282	Illegal program name
 | 
						|
-283	Illegal variable name
 | 
						|
-284	Program currently running
 | 
						|
-285	Program syntax error
 | 
						|
-286	Program runtime error
 | 
						|
 | 
						|
-290	Memory use error
 | 
						|
-291	Out of memory
 | 
						|
-292	Referenced name does not exist
 | 
						|
-293	Referenced name already exists
 | 
						|
-294	Incompatible type
 | 
						|
 | 
						|
 | 
						|
-300	Device-specific error
 | 
						|
 | 
						|
-310	System error
 | 
						|
-311	Memory error
 | 
						|
-312	PUD memory lost
 | 
						|
-313	Calibration memory lost
 | 
						|
-314	Save/recall memory lost
 | 
						|
-315	Configuration memory lost
 | 
						|
 | 
						|
-320	Storage fault
 | 
						|
-321	Out of memory
 | 
						|
 | 
						|
-330	Self-test failed
 | 
						|
 | 
						|
-340	Calibration failed
 | 
						|
 | 
						|
-350	Queue overflow
 | 
						|
 | 
						|
-360	Communication error
 | 
						|
-361	Parity error in program message
 | 
						|
-362	Framing error in program message
 | 
						|
-363	Input buffer overrun
 | 
						|
-365	Time out error
 | 
						|
 | 
						|
 | 
						|
-400	Query error
 | 
						|
-410	Query INTERRUPTED
 | 
						|
-420	Query UNTERMINATED
 | 
						|
-430	Query DEADLOCKED
 | 
						|
-440	Query UNTERMINATED after indefinite response
 | 
						|
 | 
						|
-500	Power on
 | 
						|
-600	User request
 | 
						|
-700	Request control
 | 
						|
-800	Operation complete
 | 
						|
FOO;
 | 
						|
 | 
						|
$lines = explode("\n", $x);
 | 
						|
 | 
						|
$prefixes = [
 | 
						|
    -100 => 'CMD',
 | 
						|
    -200 => 'EXE',
 | 
						|
    -300 => 'DEV',
 | 
						|
];
 | 
						|
 | 
						|
foreach($lines as $a)
 | 
						|
{
 | 
						|
    $a = trim($a);
 | 
						|
    if($a == '') continue;
 | 
						|
    
 | 
						|
    list($num, $name) = explode("\t", $a);
 | 
						|
    
 | 
						|
    $pfx = ''; $ii=($num - $num%100);
 | 
						|
    if (isset($prefixes[$ii]) && $num%100!=0) {
 | 
						|
        $pfx = $prefixes[$ii].'_';
 | 
						|
    }
 | 
						|
    
 | 
						|
    $enum = str_replace(' ', '_', strtoupper($name));
 | 
						|
    $enum = 'E_' . $pfx . preg_replace("/[^A-Z0-9_]/", "_", $enum);
 | 
						|
    
 | 
						|
    //echo "\t$enum = $num,\n";
 | 
						|
    
 | 
						|
    echo "\t{"."$num, \"$name\"},\n";
 | 
						|
}
 | 
						|
 |