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

Description="gdb"

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

