 				'name': 'keyword.operator.intuicio4'
 	}
 	{
+		# value pointer: identifier
 		'match': '((\\$\\b[A-Za-z_][A-Za-z_0-9]*\\b)|\\bnull\\b)'
 		'captures':
 			'1':
 				'name': 'variable.parameter.intuicio4'
 	}
 	{
-		'match': '((0x[0-9a-fA-F]+)|(\\b(-)?[0-9.]+\\b)|(".*"))\\s*(:)\\s*((\\s*\\**)?\\s*(\\b[A-Za-z_][A-Za-z_0-9]*\\b)\\s*((\\[)\\s*(\\b(-)?[0-9.]+\\b)\\s*(\\])?)?)'
+		# value pointer: hex constant
+		'match': '(0x[0-9a-fA-F]+)\\s*:\\s*((\\s*\\**)?\\s*(\\b[A-Za-z_][A-Za-z_0-9]*\\b)\\s*((\\[)\\s*(\\b-?[0-9.]+\\b)\\s*(\\])?)?)'
 		'captures':
-			'2':
+			'1':
 				'name': 'constant.numeric.intuicio4'
 			'3':
+				'name': 'keyword.operator.intuicio4'
+			'4':
+				'name': 'storage.type.intuicio4'
+			'6':
+				'name': 'keyword.operator.intuicio4'
+			'7':
 				'name': 'constant.numeric.intuicio4'
-			'5':
-				'name': 'string.quoted.double.intuicio4'
 			'8':
-				'name': 'keyword.operator.intuicio4'
-			'9':
-				'name': 'storage.type.intuicio4'
-			'11':
-				'name': 'keyword.operator.intuicio4'
-			'12':
-				'name': 'constant.numeric.intuicio4'
-			'14':
 				'name': 'keyword.operator.intuicio4'
 	}
 	{
-		'match': '(from)\\s+((\\?|".*")|((\\[)\\s*(\\b[A-Za-z_][A-Za-z_0-9]*\\b)\\s*(:)\\s*(\\b[A-Za-z_][A-Za-z_0-9]*\\b)\\s*(\\])))'
+		# value pointer: number constant
+		'match': '(\\b-?[0-9.]+\\b)\\s*:\\s*((\\s*\\**)?\\s*(\\b[A-Za-z_][A-Za-z_0-9]*\\b)\\s*((\\[)\\s*(\\b-?[0-9.]+\\b)\\s*(\\])?)?)'
+		'captures':
+			'1':
+				'name': 'constant.numeric.intuicio4'
+			'3':
+				'name': 'keyword.operator.intuicio4'
+			'4':
+				'name': 'storage.type.intuicio4'
+			'6':
+				'name': 'keyword.operator.intuicio4'
+			'7':
+				'name': 'constant.numeric.intuicio4'
+			'8':
+				'name': 'keyword.operator.intuicio4'
+	}
+	{
+		# value pointer: string constant
+		'match': '(".+?(?=")")\\s*:\\s*((\\s*\\**)?\\s*(\\b[A-Za-z_][A-Za-z_0-9]*\\b)\\s*((\\[)\\s*(\\b-?[0-9.]+\\b)\\s*(\\])?)?)'
+		'captures':
+			'1':
+				'name': 'string.quoted.double.intuicio4'
+			'3':
+				'name': 'keyword.operator.intuicio4'
+			'4':
+				'name': 'storage.type.intuicio4'
+			'6':
+				'name': 'keyword.operator.intuicio4'
+			'7':
+				'name': 'constant.numeric.intuicio4'
+			'8':
+				'name': 'keyword.operator.intuicio4'
+	}
+	{
+		# (import) from file or native module
+		'match': '(from)\\s+((\\?|".+?(?=")")|((\\[)\\s*(\\b[A-Za-z_][A-Za-z_0-9]*\\b)\\s*(:)\\s*(\\b[A-Za-z_][A-Za-z_0-9]*\\b)\\s*(\\])))'
 		'captures':
 			'1':
 				'name': 'keyword.control.from.intuicio4'

				'name': 'storage.type.intuicio4'
	}
	{
		'match': '(\\b(export)\\b\\s+)?(\\b(synchronized)\\b\\s+)?\\b(routine)\\b\\s+(\\b[A-Za-z_][A-Za-z_0-9]*\\b)'
		'captures':
			'2':

'name': 'Intuicio 4 Assembly'
'patterns': [
	{
		# type
		'match': ':\\s*(\\*)*\\s*(\\b[A-Za-z_][A-Za-z_0-9]*\\b)\\s*((\\[)\\s*(\\b-?[0-9.]+\\b)\\s*(\\])?)?'
		'captures':
			'1':
				'name': 'keyword.operator.intuicio4'
