-- GDB (GNU Project Debugger) Macro Language
-- Keywords based on version 7.4

Description="gdb"

-- Syntax file created by A. Aniruddha


Categories = {"source", "script"}

Identifiers=[[ [a-zA-Z_][\w\-]* ]]

Keywords={
  { Id=1,
    List={"if", "else", "while", "loop_break", "loop_continue", "end",
          "define", "document", "source", "set", "shell", "dont-repeat" },
  },
  { Id=2,
    List={
        "access-watchpoint-packet", "actions", "active-border-mode", "ada", "address",
        "add-symbol-file", "add-symbol-file-from-memory", "advance", "agent",
        "agent-eval", "alias", "all", "allow-packet", "all-registers",
        "always-disassemble", "always-inserted", "annotate", "append", "apply",
        "apropos", "arch", "architecture", "args", "array", "array-indexes",
        "asm-demangle", "assert", "attach", "attach-packet", "auto", "auto-hw",
        "auto-load-scripts", "auto-retry", "auto-solib-add", "auxv", "awatch",
        "backtrace", "basenames-may-differ", "binary", "binary-download-packet",
        "bookmark", "bookmarks", "border-kind", "border-mode", "break", "breakpoint",
        "breakpoints", "break-range", "bt", "call", "can-use-hw-watchpoints",
        "case-sensitive", "catch", "cd", "charset", "check", "check-physname",
        "checkpoint", "checkpoints", "check-symtabs", "child", "circular-trace-buffer",
        "classes", "clear", "cmdline", "coerce-float-to-double", "collect", "commands",
        "common", "compare-sections", "complaints", "complete", "condition",
        "conditional-tracepoints-packet", "confirm", "connect-timeout", "continue",
        "convenience", "cooked-registers", "copying", "core", "corefile", "core-file",
        "cp-abi", "cplus", "c-tdesc", "cwd", "data-directory", "dcache", "debug",
        "debug-file-directory", "debugvarobj", "default-collect", "define", "delete",
        "demangle", "demangle-style", "deprecate", "detach", "detach-on-fork",
        "directories", "directory", "disable", "disable-randomization",
        "disable-randomization-packet", "disassemble", "disassemble-next-line",
        "disassembly-flavor", "disconnect", "disconnected-tracing", "displaced",
        "displaced-stepping", "display", "document", "down", "down-silently",
        "dummy-frames", "dump", "dump-me", "dwarf2", "dwarf2-die", "echo", "edit",
        "editing", "elements", "enable", "endian", "entry-values", "environment",
        "exception", "exe", "exec", "exec-direction", "exec-done-display", "exec-file",
        "exec-wrapper", "expand", "expand-once", "expansion", "expression",
        "extended-prompt", "extended-remote", "extension-language", "extensions",
        "fast-tracepoints-packet", "fetch-register-packet", "file", "filename",
        "files", "find", "finish", "first_component", "float", "flushregs",
        "follow-exec-mode", "follow-fork-mode", "fork", "forward-search", "frame",
        "frame-arguments", "ftrace", "function", "functions", "gdb-index",
        "generate-core-file", "get", "get-thread-information-block-address-packet",
        "get-thread-local-storage-address-packet", "gnutarget", "goto", "handle",
        "hardware-breakpoint-limit", "hardware-breakpoint-packet",
        "hardware-watchpoint-length-limit", "hardware-watchpoint-limit", "hbreak",
        "height", "help", "history", "host-charset", "hostio-close-packet",
        "hostio-open-packet", "hostio-pread-packet", "hostio-pwrite-packet",
        "hostio-readlink-packet", "hostio-unlink-packet", "ignore", "ihex",
        "inaccessible-by-default", "inferior", "inferior-events", "inferiors",
        "inferior-tty", "info", "infrun", "init-if-undefined", "input-radix",
        "insn-number-max", "inspect", "install-in-trace-packet", "interactive-mode",
        "internal-error", "internal-warning", "interpreter-exec", "interrupt",
        "interrupt-on-connect", "interrupt-sequence", "jit", "jump", "kill",
        "kill-packet", "language", "library-info-packet", "library-info-svr4-packet",
        "libthread-db", "libthread-db-search-path", "limit", "line", "line-size",
        "lin-lwp", "list", "list-overlays", "listsize", "load", "load-target",
        "locals", "logging", "macro", "macros", "maintenance", "make", "manual",
        "map-overlay", "mappings", "max-cache-age", "max-symbolic-offset",
        "max-user-call-depth", "may-insert-breakpoints", "may-insert-fast-tracepoints",
        "may-insert-tracepoints", "may-interrupt", "may-write-memory",
        "may-write-registers", "mem", "memory", "memory-map-packet", "memory-query",
        "memory-read-packet-size", "memory-write-packet-size", "monitor", "msymbols",
        "multiple-symbols", "multi-thread", "name", "namespace", "next", "nexti", "ni",
        "noack-packet", "none", "non-stop", "nosharedlibrary", "null-stop", "object",
        "objfiles", "observer", "off", "on", "once", "opaque-type-resolution", "os",
        "osabi", "osdata-packet", "output", "output-radix", "outside", "overlay",
        "overload", "overload-resolution", "overwrite", "packet", "pagination",
        "parser", "pascal_static-members", "passcount", "pass-signals-packet",
        "past-entry", "past-main", "path", "paths", "pc", "pending", "p-packet",
        "P-packet", "pretty", "pretty-printer", "print", "printf", "print-object",
        "print-stack", "proc", "profile", "program", "program-spaces", "prompt",
        "psymbols", "psymtabs", "ptype", "put", "pwd", "python",
        "query-attached-packet", "quit", "radix", "range", "raw-registers", "rbreak",
        "rc", "read-aux-vector-packet", "read-fdpic-loadmap-packet",
        "read-sdata-object-packet", "read-siginfo-object-packet",
        "read-spu-object-packet", "read-watchpoint-packet", "record", "record-core",
        "redirect", "reggroups", "register-groups", "registers", "remote",
        "remoteaddresssize", "remotebaud", "remotebreak", "remotecache", "remoteflow",
        "remotelogbase", "remotelogfile", "remote-registers", "remotetimeout",
        "remotewritesize", "repeats", "restart", "restore", "return",
        "reverse-continue", "reverse-continue-packet", "reverse-finish",
        "reverse-next", "reverse-nexti", "reverse-search", "reverse-step",
        "reverse-stepi", "reverse-step-packet", "rni", "rsi", "run", "run-packet",
        "rwatch", "save", "save-tracepoints", "schedule-multiple", "scheduler-locking",
        "scope", "script-extension", "search", "search-memory-packet", "section",
        "sections", "select-frame", "selectors", "serial", "set-register-packet",
        "sevenbit-strings", "sharedlibrary", "show", "show-debug-regs", "si", "signal",
        "signals", "size", "skip", "software-breakpoint-packet",
        "solib-absolute-prefix", "solib-search-path", "source", "sources", "space",
        "srec", "stack", "stack-cache", "start", "stat", "static-members",
        "static-tracepoint-markers", "static-tracepoints-packet", "statistics",
        "status", "step", "stepi", "step-mode", "stepping", "stop", "stop-at-limit",
        "stop-on-solib-events", "strace", "struct-convention", "substitute-path",
        "supported-packets-packet", "symbol", "symbol-file", "symbol-filename",
        "symbol-lookup-packet", "symbol-reloading", "symbols", "symtabs", "syscall",
        "sysroot", "system-call-allowed", "target", "target-async", "target-charset",
        "target-features-packet", "target-file-system-kind", "target-stack",
        "target-wide-charset", "task", "tasks", "tbreak", "tcatch", "tcp", "tdesc",
        "tdump", "tekhex", "terminal", "teval", "tfile", "tfind", "thbreak", "thread",
        "thread-events", "threads", "threads-packet", "throw", "time", "timestamp",
        "tp", "trace", "trace-commands", "traceframe-info-packet", "trace-notes",
        "tracepoint", "tracepoints", "TracepointSource-packet", "trace-stop-notes",
        "trace-user", "translate-address", "trust-PAD-over-XVS",
        "trust-readonly-sections", "tsave", "tstart", "tstatus", "tstop", "tty", "tui",
        "tvariable", "tvariables", "type", "types", "undef", "undeprecate",
        "undisplay", "union", "unmap-overlay", "until", "unwindonsignal",
        "unwind-on-terminating-exception", "up", "up-silently", "user", "value",
        "values", "variable", "variables", "vector", "verbose",
        "verbose-resume-packet", "version", "vfork", "vtbl", "warranty", "watch",
        "watchdog", "watchpoints", "whatis", "where", "while-stepping", "width", "win",
        "write", "write-siginfo-object-packet", "write-spu-object-packet",
        "write-watchpoint-packet", "ws", "xml", "X-packet", "Z-packet",
        },
  },
}

Strings={
  Delimiter=[["|'|`]],
}

IgnoreCase=false

Comments={
  { Block=false,
    Delimiter= { [[#]] },
  },
}

Operators=[[\(|\)|\[|\]|\{|\}|\,|\;|\:|\&|<|>|\!|\=|\/|\*|\%|\+|\-]]

