⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 awk.c

📁 ctags-5.5.4.tar.gz,一个很好的代码开发以及编辑源码
💻 C
字号:
/**   $Id: awk.c,v 1.2 2002/02/17 06:04:32 darren Exp $**   Copyright (c) 2000-2002, Darren Hiebert**   This source code is released for free distribution under the terms of the*   GNU General Public License.**   This module contains functions for generating tags for AWK functions.*//**   INCLUDE FILES*/#include "general.h"	/* must always come first */#include <string.h>#include "parse.h"#include "read.h"#include "vstring.h"/**   DATA DEFINITIONS*/typedef enum eAwkKinds {    K_FUNCTION} awkKind;static kindOption AwkKinds [] = {    { TRUE, 'f', "function", "functions" }};/**   FUNCTION DEFINITIONS*/static void findAwkTags (void){    vString *name = vStringNew ();    const unsigned char *line;    while ((line = fileReadLine ()) != NULL)    {	if (strncmp ((const char*) line, "function", (size_t) 8) == 0  &&	    isspace ((int) line [8]))	{	    const unsigned char *cp = line + 8;	    while (isspace ((int) *cp))		++cp;	    while (isalnum ((int) *cp)  ||  *cp == '_')	    {		vStringPut (name, (int) *cp);		++cp;	    }	    vStringTerminate (name);	    while (isspace ((int) *cp))		++cp;	    if (*cp == '(')		makeSimpleTag (name, AwkKinds, K_FUNCTION);	    vStringClear (name);	    if (*cp != '\0')		++cp;	}    }    vStringDelete (name);}extern parserDefinition* AwkParser (){    static const char *const extensions [] = { "awk", "gawk", "mawk", NULL };    parserDefinition* def = parserNew ("Awk");    def->kinds      = AwkKinds;    def->kindCount  = KIND_COUNT (AwkKinds);    def->extensions = extensions;    def->parser     = findAwkTags;    return def;}/* vi:set tabstop=8 shiftwidth=4: */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -