Index: gtags-parser/asm_parse.y
===================================================================
RCS file: /sources/global/global/gtags-parser/asm_parse.y,v
retrieving revision 1.5
diff -u -p -r1.5 asm_parse.y
--- gtags-parser/asm_parse.y	22 Aug 2006 11:51:10 -0000	1.5
+++ gtags-parser/asm_parse.y	27 Mar 2007 12:29:53 -0000
@@ -66,11 +66,15 @@ static int target;
 %token ASM_EXT			/* EXT, SYMBOL_NAME, ... */
 %token ASM_SYMBOL_PAREN		/* sym( */
 %token ASM_SYMBOL
+%token ASM_LABEL		/* ^sym */
 
 %token ASM_DEFINE "#define"
 %token ASM_UNDEF "#undef"
 %token ASM_DIRECTIVE		/* #xxx */
 
+%token ASM_MACRO		/* .macro */
+%token ASM_EQU			/* .equ */
+
 %start input
 %name-prefix="asm_"
 
@@ -140,6 +144,30 @@ line:	ASM_ENTRY '(' ASM_SYMBOL ')' error
 				PUT(GET_SYM($2), @2);
 			strbuf_reset(asm_symtable);
 		}
+	| ASM_MACRO ASM_SYMBOL error '\n'
+		{
+			if (target == DEF && dflag)
+				PUT(GET_SYM($2), @2);
+			strbuf_reset(asm_symtable);
+		}
+	| ASM_LABEL ASM_MACRO error '\n'
+		{
+			if (target == DEF && dflag)
+				PUT(GET_SYM($1), @1);
+			strbuf_reset(asm_symtable);
+		}
+	| ASM_EQU ASM_SYMBOL ',' error '\n'
+		{
+			if (target == DEF && dflag)
+				PUT(GET_SYM($2), @2);
+			strbuf_reset(asm_symtable);
+		}
+	| ASM_LABEL ASM_EQU error '\n'
+		{
+			if (target == DEF && dflag)
+				PUT(GET_SYM($1), @1);
+			strbuf_reset(asm_symtable);
+		}
 	| error '\n'
 		{ strbuf_reset(asm_symtable); }
 ;
Index: gtags-parser/asm_scan.l
===================================================================
RCS file: /sources/global/global/gtags-parser/asm_scan.l,v
retrieving revision 1.9
diff -u -p -r1.9 asm_scan.l
--- gtags-parser/asm_scan.l	21 Mar 2006 11:43:36 -0000	1.9
+++ gtags-parser/asm_scan.l	27 Mar 2007 12:29:53 -0000
@@ -138,15 +138,18 @@ WORD		{ALPHA}{ALPHANUM}*
 		}
 	}
 	^[ \t]*\#		{ yy_push_state(PREPROCESSOR_LINE); return ASM_DIRECTIVE; }
-	(call|jsr)	{ return ASM_CALL; }
+	call|jsr	{ return ASM_CALL; }
+	\.macro|macro	{ return ASM_MACRO; }
+	\.equ|equ	{ return ASM_EQU; }
 	^(ENTRY|ALTENTRY|NENTRY|GLOBAL_ENTRY|JSBENTRY|C_SYMBOL_NAME|C_ENTRY) {
 		ADD_SYM(); 
 		return ASM_ENTRY;
 	}
-	(EXT|SYMBOL_NAME|C_LABEL) {
+	EXT|SYMBOL_NAME|C_LABEL {
 		ADD_SYM();
 		return ASM_EXT;
 	}
+	^{WORD}		{ ADD_SYM(); return ASM_LABEL; }
 }
 
 <PREPROCESSOR_LINE>{
