diff --git a/maca_common/src/l_rule.c b/maca_common/src/l_rule.c
index e851f786d116ee9406cc176e08f75cde704f37a0..ee494398ab5381f645db0276bf8db9ee5534cd9b 100644
--- a/maca_common/src/l_rule.c
+++ b/maca_common/src/l_rule.c
@@ -5,6 +5,28 @@
 #include "util.h"
 
 
+int l_rule_is_applicable(char *form, char *l_rule)
+{
+  int i,j;
+  int sep_index;
+  int lemma_suffix_length;
+  int form_suffix_length;
+  int form_length = strlen(form);
+  int l_rule_length = strlen(l_rule);
+  
+  for(sep_index=1; sep_index < l_rule_length; sep_index++)
+    if(l_rule[sep_index] == '@')
+      break;
+  
+  lemma_suffix_length = l_rule_length - 1 - sep_index;
+  form_suffix_length = sep_index - 1;
+
+  for(j=0, i=form_length - form_suffix_length; j < sep_index; i++, j++)
+    if((l_rule[j] != '*') && (l_rule[j] != form[i]))
+      return 0;
+  return 1;
+}
+
 char *apply_l_rule(char *form, char *l_rule)
 {
   int i,j;