~ubuntu-branches/ubuntu/trusty/exuberant-ctags/trusty

1.1.3 by Colin Watson
Import upstream version 5.8
1
/*
2
*   $Id$
3
*
4
*   Copyright (c) 2008, David Fishburn
5
*
6
*   This source code is released for free distribution under the terms of the
7
*   GNU General Public License.
8
*
9
*   This module contains functions for generating tags for MATLAB language files.
10
*/
11
12
/*
13
*   INCLUDE FILES
14
*/
15
#include "general.h"  /* must always come first */
16
17
#include <string.h>
18
#include "parse.h"
19
20
/*
21
*   FUNCTION DEFINITIONS
22
*/
23
24
static void installMatLabRegex (const langType language)
25
{
26
    /* function [x,y,z] = asdf */
27
    addTagRegex (language, "^function[ \t]*\\[.*\\][ \t]*=[ \t]*([a-zA-Z0-9_]+)", "\\1", "f,function", NULL);
28
    /* function x = asdf */
29
    addTagRegex (language, "^function[ \t]*[a-zA-Z0-9_]+[ \t]*=[ \t]*([a-zA-Z0-9_]+)", "\\1", "f,function", NULL);
30
    /* function asdf */
31
    addTagRegex (language, "^function[ \t]*([a-zA-Z0-9_]+)[^=]*$", "\\1", "f,function", NULL);
32
}
33
34
extern parserDefinition* MatLabParser ()
35
{
36
	static const char *const extensions [] = { "m", NULL };
37
	parserDefinition* const def = parserNew ("MatLab");
38
	def->extensions = extensions;
39
	def->initialize = installMatLabRegex;
40
	def->regex      = TRUE;
41
	return def;
42
}
43
44
/* vi:set tabstop=4 shiftwidth=4: */