 
			
				29.01.2012, 18:01
			
			
			
		  
	 | 
 
	
		
		
		
			
			
			
				
				
				
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 10.07.2008 
					
					
					
						Сообщений: 3,873
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Одногруппник диплом такой делал  http://code.google.com/p/extcss/ может быть будет полезен код, хоть и на пхп. Эту штуку он использовал, пока работал верстальщиком.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				29.01.2012, 18:27
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Особый гость 
				
				
				
				
	
 
 
			 | 
			  | 
			
				
				
					Регистрация: 02.04.2010 
					
					
					
						Сообщений: 4,260
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Ага, то что надо.
 
	
 
	| 
		
			Сообщение от Octane
			
		
	 | 
 
	| 
		хоть и на пхп
	 | 
 
	
 
 Не особо важно, главное алгоритм. Мне все равно на С++ писать)  
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось monolithed, 29.01.2012 в 18:34.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				29.01.2012, 21:23
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Модератор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.04.2010 
					
					
					
						Сообщений: 3,417
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 monolithed, ну, в принципе, сами регэкспы работают посимвольно. Поэтому можно считать, что вы просто сэкономили себе время) 
		
	
		
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				29.01.2012, 21:58
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Особый гость 
				
				
				
				
	
 
 
			 | 
			  | 
			
				
				
					Регистрация: 02.04.2010 
					
					
					
						Сообщений: 4,260
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от trikadin
			
		
	 | 
 
	| 
		ну, в принципе, сами регэкспы работают посимвольно.
	 | 
 
	
 
 Минус регексов в том, что для такой грамматики очень сложно предусмотреть все варианты, нужно сперва почистить код от табуляции и пробелов и молится чтобы не вылез где-нибудь стоп-символ. К тому же эффективным регексов очень низкая из-за повышенной асимптотической сложности.
 
	
 
	| 
		
			Сообщение от trikadin
			
		
	 | 
 
	| 
		Поэтому можно считать, что вы просто сэкономили себе время)
	 | 
 
	
 
 В С++ нет аналогов решению с регексами, по этому придется все-таки копать по ссылке  Octane, там как раз без них.  
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось monolithed, 29.01.2012 в 22:02.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				29.01.2012, 22:14
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Модератор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.04.2010 
					
					
					
						Сообщений: 3,417
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от monolithed
			
		
	 | 
 
	| 
		В С++ нет аналогов решению с регексами, по этому придется все-таки копать по ссылке Octane, там как раз без них.
	 | 
 
	
 
 Да, уже понял, что у вас C++ (хотя наверняка есть либы под него).  
		
	
		
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				29.01.2012, 22:19
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Особый гость 
				
				
				
				
	
 
 
			 | 
			  | 
			
				
				
					Регистрация: 02.04.2010 
					
					
					
						Сообщений: 4,260
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от trikadin
			
		
	 | 
 
	| 
		хотя наверняка есть либы под него
	 | 
 
	
 
 В новом стандарте С++11 есть регексы, просто сама идеология очень сильно отличается  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				29.01.2012, 22:23
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Тлен 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 02.01.2010 
					
					
					
						Сообщений: 6,601
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 По ссылке Octane, всё тоже на регэкспах, только сложнее.) 
		
	
		
		
		
		
		
			
				__________________ 
				29375, 35 
 
			 
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				29.01.2012, 22:26
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Особый гость 
				
				
				
				
	
 
 
			 | 
			  | 
			
				
				
					Регистрация: 02.04.2010 
					
					
					
						Сообщений: 4,260
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Aetae
			
		
	 | 
 
	| 
		По ссылке Octane, всё тоже на регэкспах
	 | 
 
	
 
 Не совсем, фактически что мне нужно там выполняет этот кусок:
 
while($j>$j_begin) {
	if(preg_match('/}/', $text[$j])) {
		$j_temp_end = $j;
		
		while(1) {
			$j--;
			
			if(preg_match('/}/', $text[$j]))
				$z++;
				
			if(preg_match_all('/(.*){/U', $text[$j], $temp_vars, PREG_SET_ORDER)) {
				if(! $z) {
					$names[1] = $temp_vars[0][1];
					$recompile = 1;
					$j_temp_begin = $j;
					break;
				} 
				else {
					$z--;
				}
			}
		}
		break;
	}
 $j--;
}
А  preg_match выполняет роль  split'a
 
Правда я пока не понял как там имя селекторов получается    
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось monolithed, 29.01.2012 в 22:32.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |