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

📄 syntax.c

📁 Android 一些工具
💻 C
字号:
/*	$NetBSD: syntax.c,v 1.1 2004/01/17 17:38:12 dsl Exp $	*/#include "shell.h"#include "syntax.h"#include "parser.h"#include <limits.h>#if CWORD != 0#error initialisation assumes 'CWORD' is zero#endif#define ndx(ch) (ch + 1 - CHAR_MIN)#define set(ch, val) [ndx(ch)] = val,#define set_range(s, e, val) [ndx(s) ... ndx(e)] = val,/* syntax table used when not in quotes */const char basesyntax[257] = { CEOF,    set_range(CTL_FIRST, CTL_LAST, CCTL)    set('\n', CNL)    set('\\', CBACK)    set('\'', CSQUOTE)    set('"', CDQUOTE)    set('`', CBQUOTE)    set('$', CVAR)    set('}', CENDVAR)    set('<', CSPCL)    set('>', CSPCL)    set('(', CSPCL)    set(')', CSPCL)    set(';', CSPCL)    set('&', CSPCL)    set('|', CSPCL)    set(' ', CSPCL)    set('\t', CSPCL)};/* syntax table used when in double quotes */const char dqsyntax[257] = { CEOF,    set_range(CTL_FIRST, CTL_LAST, CCTL)    set('\n', CNL)    set('\\', CBACK)    set('"', CDQUOTE)    set('`', CBQUOTE)    set('$', CVAR)    set('}', CENDVAR)    /* ':/' for tilde expansion, '-' for [a\-x] pattern ranges */    set('!', CCTL)    set('*', CCTL)    set('?', CCTL)    set('[', CCTL)    set('=', CCTL)    set('~', CCTL)    set(':', CCTL)    set('/', CCTL)    set('-', CCTL)};/* syntax table used when in single quotes */const char sqsyntax[257] = { CEOF,    set_range(CTL_FIRST, CTL_LAST, CCTL)    set('\n', CNL)    set('\'', CSQUOTE)    /* ':/' for tilde expansion, '-' for [a\-x] pattern ranges */    set('!', CCTL)    set('*', CCTL)    set('?', CCTL)    set('[', CCTL)    set('=', CCTL)    set('~', CCTL)    set(':', CCTL)    set('/', CCTL)    set('-', CCTL)};/* syntax table used when in arithmetic */const char arisyntax[257] = { CEOF,    set_range(CTL_FIRST, CTL_LAST, CCTL)    set('\n', CNL)    set('\\', CBACK)    set('`', CBQUOTE)    set('\'', CSQUOTE)    set('"', CDQUOTE)    set('$', CVAR)    set('}', CENDVAR)    set('(', CLP)    set(')', CRP)};/* character classification table */const char is_type[257] = { 0,    set_range('0', '9', ISDIGIT)    set_range('a', 'z', ISLOWER)    set_range('A', 'Z', ISUPPER)    set('_', ISUNDER)    set('#', ISSPECL)    set('?', ISSPECL)    set('$', ISSPECL)    set('!', ISSPECL)    set('-', ISSPECL)    set('*', ISSPECL)    set('@', ISSPECL)};

⌨️ 快捷键说明

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