From 2f1a26f8a945447817acf108b134fe87b3d95938 Mon Sep 17 00:00:00 2001 From: 0x3508a <124862084+0x3508A@users.noreply.github.com> Date: Tue, 2 May 2023 12:03:55 +0530 Subject: [PATCH] Adding Forth code Highlighting support --- markdownhighlighter.cpp | 52 +- markdownhighlighter.h | 6 +- qownlanguagedata.cpp | 1811 +++++++++++++++++++++++++++++++++++++++ qownlanguagedata.h | 9 +- 4 files changed, 1875 insertions(+), 3 deletions(-) diff --git a/markdownhighlighter.cpp b/markdownhighlighter.cpp index 823148b..201e57e 100644 --- a/markdownhighlighter.cpp +++ b/markdownhighlighter.cpp @@ -452,7 +452,8 @@ void MarkdownHighlighter::initCodeLangs() { {QLatin1String("vex"), MarkdownHighlighter::CodeVex}, {QLatin1String("xml"), MarkdownHighlighter::CodeXML}, {QLatin1String("yml"), MarkdownHighlighter::CodeYAML}, - {QLatin1String("yaml"), MarkdownHighlighter::CodeYAML}}; + {QLatin1String("yaml"), MarkdownHighlighter::CodeYAML}, + {QLatin1String("forth"), MarkdownHighlighter::CodeForth}}; } /** @@ -771,6 +772,7 @@ void MarkdownHighlighter::highlightSyntax(const QString &text) { bool isCSS = false; bool isYAML = false; bool isMake = false; + bool isForth = false; QMultiHash keywords{}; QMultiHash others{}; @@ -913,6 +915,13 @@ void MarkdownHighlighter::highlightSyntax(const QString &text) { loadNixData(types, keywords, builtin, literals, others); comment = QLatin1Char('#'); break; + case HighlighterState::CodeForth: + case HighlighterState::CodeForth + tildeOffset: + case HighlighterState::CodeForthComment: + case HighlighterState::CodeForthComment + tildeOffset: + isForth = true; + loadForthData(types, keywords, builtin, literals, others); + break; default: setFormat(0, textLen, _formats[CodeBlock]); return; @@ -1073,6 +1082,7 @@ void MarkdownHighlighter::highlightSyntax(const QString &text) { if (isCSS) cssHighlighter(text); if (isYAML) ymlHighlighter(text); if (isMake) makeHighlighter(text); + if (isForth) forthHighlighter(text); } /** @@ -1647,6 +1657,46 @@ void MarkdownHighlighter::makeHighlighter(const QString &text) { setFormat(0, colonPos, _formats[CodeBuiltIn]); } +/** + * @brief The Forth highlighter + * @param text + * @details This function performs filtering of Forth code and high lights + * the specific details. + * 1. It highlights the "\ " comments + * 2. It highlights the "( " comments + */ +void MarkdownHighlighter::forthHighlighter(const QString &text) { + if (text.isEmpty()) return; + + const auto textLen = text.length(); + + // Default Format + setFormat(0, textLen, _formats[CodeBlock]); + + for (int i = 0; i < textLen; ++i) { + // 1, It highlights the "\ " comments + if (i + 1 <= textLen && text[i] == QLatin1Char('\\') && + text[i + 1] == QLatin1Char(' ')) { + // The full line is commented + setFormat(i + 1, textLen - 1, _formats[CodeComment]); + break; + } + // 2. It highlights the "( " comments + else if (i + 1 <= textLen && text[i] == QLatin1Char('(') && + text[i + 1] == QLatin1Char(' ')) { + // Find the End bracket + int lastBracket = text.lastIndexOf(QLatin1Char(')'), i); + // Can't Handle wrong Format + if (lastBracket <= 0) return; + // ' )' at the end of the comment + if (lastBracket <= textLen && + text[lastBracket] == QLatin1Char(' ')) { + setFormat(i, lastBracket, _formats[CodeComment]); + } + } + } +} + /** * Highlight multi-line frontmatter blocks * diff --git a/markdownhighlighter.h b/markdownhighlighter.h index c27ee4c..54dada2 100644 --- a/markdownhighlighter.h +++ b/markdownhighlighter.h @@ -171,7 +171,9 @@ class MarkdownHighlighter : public QSyntaxHighlighter { CodeVexComment = 241, CodeCMake = 242, CodeMake = 244, - CodeNix = 246 + CodeNix = 246, + CodeForth = 248, + CodeForthComment = 249 }; Q_ENUM(HighlighterState) @@ -285,6 +287,8 @@ class MarkdownHighlighter : public QSyntaxHighlighter { void makeHighlighter(const QString &text); + void forthHighlighter(const QString &text); + void taggerScriptHighlighter(const QString &text); void addDirtyBlock(const QTextBlock &block); diff --git a/qownlanguagedata.cpp b/qownlanguagedata.cpp index 08fcde2..6b829ec 100644 --- a/qownlanguagedata.cpp +++ b/qownlanguagedata.cpp @@ -3916,3 +3916,1814 @@ void loadMakeData(QMultiHash &types, literals = make_literals; other = make_other; } + +/********************************************************/ +/*** Forth DATA *************************************/ +/********************************************************/ +static bool forthDataInitialized = false; +static QMultiHash forth_keywords; +static QMultiHash forth_types; +static QMultiHash forth_builtin; +static QMultiHash forth_literals; +static QMultiHash forth_other; +void initForthData() { + forth_keywords = { + {('d'), QLatin1String("disasm")}, + {('d'), QLatin1String("disassembler")}, + {('b'), QLatin1String("base-addr")}, + {('s'), QLatin1String("show-name")}, + {('d'), QLatin1String("default-32bit")}, + {('d'), QLatin1String("default-16bit")}, + {('d'), QLatin1String("default-16bit?")}, + {('c'), QLatin1String("col")}, + {('w'), QLatin1String("w@")}, + {('('), QLatin1String("(D.)")}, + {('M'), QLatin1String("MAXCOUNTED")}, + {('S'), QLatin1String("SPCS")}, + {('S'), QLatin1String("SPCS-MAX")}, + {('m'), QLatin1String("maxstring")}, + {('d'), QLatin1String("dffield:")}, + {('s'), QLatin1String("sffield:")}, + {('f'), QLatin1String("ffield:")}, + {('2'), QLatin1String("2field:")}, + {('f'), QLatin1String("field:")}, + {('c'), QLatin1String("cfield:")}, + {('e'), QLatin1String("end-structure")}, + {('b'), QLatin1String("begin-structure")}, + {('+'), QLatin1String("+field")}, + {('i'), QLatin1String("init-libcc")}, + {('e'), QLatin1String("end-c-library")}, + {('c'), QLatin1String("c-library")}, + {('c'), QLatin1String("c-library-name")}, + {('c'), QLatin1String("c-library-incomplete")}, + {('c'), QLatin1String("clear-libs")}, + {('c'), QLatin1String("c-function")}, + {('c'), QLatin1String("c-function-rt")}, + {('c'), QLatin1String("c-function-ft")}, + {('l'), QLatin1String("link-wrapper-function")}, + {('c'), QLatin1String("compile-wrapper-function1")}, + {('c'), QLatin1String("compile-wrapper-function")}, + {('.'), QLatin1String(".lib-error")}, + {('c'), QLatin1String("c-source-file-execute")}, + {('n'), QLatin1String("notype-execute")}, + {('c'), QLatin1String("c-source-file")}, + {('i'), QLatin1String("init-c-source-file")}, + {('l'), QLatin1String("lib-handle")}, + {('c'), QLatin1String("c-tmp-library-name")}, + {('c'), QLatin1String("c-named-library-name")}, + {('c'), QLatin1String("c-library-name-create")}, + {('c'), QLatin1String("c-library-name-setup")}, + {('o'), QLatin1String("open-wrappers")}, + {('p'), QLatin1String("prepend-dirname")}, + {('l'), QLatin1String("libcc-tmp-dir")}, + {('l'), QLatin1String("libcc-named-dir")}, + {('g'), QLatin1String("gen-filename")}, + {('b'), QLatin1String("basename")}, + {('d'), QLatin1String("dirname")}, + {('s'), QLatin1String("scan-back")}, + {('g'), QLatin1String("gen-wrapper-function")}, + {('w'), QLatin1String("wrapper-function-name")}, + {('g'), QLatin1String("gen-wrapped-stmt")}, + {('g'), QLatin1String("gen-wrapped-types")}, + {('g'), QLatin1String("gen-wrapped-func")}, + {('g'), QLatin1String("gen-wrapped-r")}, + {('g'), QLatin1String("gen-wrapped-d")}, + {('g'), QLatin1String("gen-wrapped-a")}, + {('g'), QLatin1String("gen-wrapped-n")}, + {('g'), QLatin1String("gen-wrapped-void")}, + {('g'), QLatin1String("gen-wrapped-call")}, + {('g'), QLatin1String("gen-par")}, + {('g'), QLatin1String("gen-par-types")}, + {('g'), QLatin1String("gen-par-void")}, + {('g'), QLatin1String("gen-par-func")}, + {('g'), QLatin1String("gen-par-r")}, + {('g'), QLatin1String("gen-par-d")}, + {('g'), QLatin1String("gen-par-a")}, + {('g'), QLatin1String("gen-par-n")}, + {('c'), QLatin1String("count-stacks")}, + {('c'), QLatin1String("count-stacks-types")}, + {('c'), QLatin1String("count-stacks-void")}, + {('c'), QLatin1String("count-stacks-func")}, + {('c'), QLatin1String("count-stacks-r")}, + {('c'), QLatin1String("count-stacks-d")}, + {('c'), QLatin1String("count-stacks-a")}, + {('c'), QLatin1String("count-stacks-n")}, + {('t'), QLatin1String("type-letter")}, + {('p'), QLatin1String("parse-function-types")}, + {('p'), QLatin1String("parse-libcc-type")}, + {('l'), QLatin1String("libcc-types")}, + {('\\'), QLatin1String("\\c")}, + {('s'), QLatin1String("save-c-prefix-line")}, + {('p'), QLatin1String("print-c-prefix-lines")}, + {('p'), QLatin1String("print-c-prefix-line")}, + {('c'), QLatin1String("c-prefix-lines-end")}, + {('c'), QLatin1String("c-prefix-lines")}, + {('c'), QLatin1String("c-prefix%")}, + {('c'), QLatin1String("c-prefix-chars")}, + {('c'), QLatin1String("c-prefix-count")}, + {('a'), QLatin1String("append-l")}, + {('a'), QLatin1String("add-lib")}, + {('c'), QLatin1String("c-libs")}, + {('c'), QLatin1String("c-lib%")}, + {('c'), QLatin1String("c-lib-string")}, + {('l'), QLatin1String("list-map")}, + {('l'), QLatin1String("list-append")}, + {('l'), QLatin1String("list-insert")}, + {('l'), QLatin1String("list%")}, + {('l'), QLatin1String("list-payload")}, + {('l'), QLatin1String("list-next")}, + {('a'), QLatin1String("append")}, + {('s'), QLatin1String("s+")}, + {('f'), QLatin1String("front-char")}, + {('f'), QLatin1String("front-string")}, + {('c'), QLatin1String("const+")}, + {('.'), QLatin1String(".nb")}, + {('r'), QLatin1String("replace-rpath")}, + {('l'), QLatin1String("libcc-path")}, + {('l'), QLatin1String("libcc-named-dir-v")}, + {('l'), QLatin1String("lib-modulename")}, + {('l'), QLatin1String("lib-filename")}, + {('l'), QLatin1String("lib-handle-addr")}, + {('c'), QLatin1String("c-source-file-id")}, + {('c'), QLatin1String("cff%")}, + {('c'), QLatin1String("cff-ptypes")}, + {('c'), QLatin1String("cff-np")}, + {('c'), QLatin1String("cff-rtype")}, + {('c'), QLatin1String("cff-lha")}, + {('c'), QLatin1String("cff-deferred")}, + {('c'), QLatin1String("cff-cfr")}, + {('m'), QLatin1String("mkdir-parents")}, + {('d'), QLatin1String("disasm-gdb")}, + {('a'), QLatin1String("append-extend-string")}, + {('e'), QLatin1String("end-code")}, + {(';'), QLatin1String(";code")}, + {('('), QLatin1String("(;code)")}, + {('c'), QLatin1String("code")}, + {('i'), QLatin1String("init-asm")}, + {('a'), QLatin1String("assembler")}, + {('b'), QLatin1String("break\"")}, + {('('), QLatin1String("(break\")")}, + {('b'), QLatin1String("break:")}, + {('('), QLatin1String("(break:)")}, + {('b'), QLatin1String("break:,")}, + {('d'), QLatin1String("dbg")}, + {('('), QLatin1String("(debug)")}, + {('('), QLatin1String("(_debug)")}, + {('D'), QLatin1String("D-KEY")}, + {('U'), QLatin1String("Unnest")}, + {('N'), QLatin1String("Nesting")}, + {('n'), QLatin1String("nestXT")}, + {('n'), QLatin1String("nestXT-checkSpecial")}, + {('B'), QLatin1String("Body")}, + {('r'), QLatin1String("restore-bp")}, + {('s'), QLatin1String("set-bp")}, + {('D'), QLatin1String("DT")}, + {('B'), QLatin1String("BP")}, + {('b'), QLatin1String("breaker")}, + {('b'), QLatin1String("breaker-size")}, + {('D'), QLatin1String("DebugLoop")}, + {('j'), QLatin1String("jump")}, + {('g'), QLatin1String("get-next")}, + {('d'), QLatin1String("disp-step")}, + {('L'), QLatin1String("Leave-D")}, + {('N'), QLatin1String("NoFine")}, + {('d'), QLatin1String("d.s")}, + {('.'), QLatin1String(".n")}, + {('s'), QLatin1String("scanword")}, + {('r'), QLatin1String("restore-see-flags")}, + {('s'), QLatin1String("save-see-flags")}, + {('d'), QLatin1String("dbg-ip")}, + {('s'), QLatin1String("see-code")}, + {('s'), QLatin1String("see-code-range")}, + {('s'), QLatin1String("see-code-next-inline")}, + {('s'), QLatin1String("simple-see")}, + {('s'), QLatin1String("simple-see-range")}, + {('s'), QLatin1String("simple-see-word")}, + {('p'), QLatin1String("print-backtrace")}, + {('p'), QLatin1String("print-bt-entry")}, + {('b'), QLatin1String("backtrace-return-stack")}, + {('i'), QLatin1String("init-backtrace")}, + {('b'), QLatin1String("backtrace-rs-buffer")}, + {('a'), QLatin1String("adjust-buffer")}, + {('i'), QLatin1String("init-buffer")}, + {('b'), QLatin1String("buffer%")}, + {('b'), QLatin1String("buffer-maxlength")}, + {('b'), QLatin1String("buffer-address")}, + {('b'), QLatin1String("buffer-length")}, + {('b'), QLatin1String("buffer-descriptor")}, + {('c'), QLatin1String("c-extend1")}, + {('c'), QLatin1String("c-lp+!#")}, + {('c'), QLatin1String("c-laddr#")}, + {('c'), QLatin1String("c-f@local#")}, + {('c'), QLatin1String("c-flit")}, + {('c'), QLatin1String("c-@local#")}, + {('c'), QLatin1String("c-branch-lp+!#")}, + {('c'), QLatin1String("c-?branch-lp+!#")}, + {('c'), QLatin1String("c-loop-lp+!#")}, + {('s'), QLatin1String("see")}, + {('n'), QLatin1String("name-see")}, + {('('), QLatin1String("(.immediate)")}, + {('('), QLatin1String("(xt-see-xt)")}, + {('x'), QLatin1String("xt-see")}, + {('s'), QLatin1String("seefield")}, + {('s'), QLatin1String("seecol")}, + {('s'), QLatin1String("seedoes")}, + {('s'), QLatin1String("see-threaded")}, + {('s'), QLatin1String("seedefer")}, + {('s'), QLatin1String("seevalue")}, + {('s'), QLatin1String("seecon")}, + {('s'), QLatin1String("seeuser")}, + {('s'), QLatin1String("seevar")}, + {('s'), QLatin1String("seecode")}, + {('n'), QLatin1String("next-prim")}, + {('n'), QLatin1String("next-head")}, + {('d'), QLatin1String("discode")}, + {('.'), QLatin1String(".defname")}, + {('x'), QLatin1String("xt-see-xt")}, + {('m'), QLatin1String("makepass")}, + {('c'), QLatin1String("c-init")}, + {('a'), QLatin1String("analyse")}, + {('B'), QLatin1String("BranchTo?")}, + {('D'), QLatin1String("DoTable")}, + {('c'), QLatin1String("c-extender")}, + {('C'), QLatin1String("C-Table")}, + {('c'), QLatin1String("c-(compile)")}, + {('c'), QLatin1String("c-does>")}, + {('c'), QLatin1String("c-abort\"")}, + {('c'), QLatin1String("c-exit")}, + {('c'), QLatin1String("c-?do")}, + {('c'), QLatin1String("c-do")}, + {('c'), QLatin1String("c-loop")}, + {('c'), QLatin1String("c-for")}, + {('c'), QLatin1String("c-?branch")}, + {('D'), QLatin1String("DebugBranch")}, + {('c'), QLatin1String("c-branch")}, + {('R'), QLatin1String("RepeatCheck")}, + {('F'), QLatin1String("Forward?")}, + {('c'), QLatin1String("c-string?")}, + {('c'), QLatin1String("c-c\"")}, + {('.'), QLatin1String(".name-without")}, + {('c'), QLatin1String("c-lit+")}, + {('c'), QLatin1String("c-lit")}, + {('c'), QLatin1String("c-callxt")}, + {('c'), QLatin1String("c-call")}, + {('.'), QLatin1String(".word")}, + {('b'), QLatin1String("back?")}, + {('D'), QLatin1String("Debug?")}, + {('D'), QLatin1String("Display?")}, + {('S'), QLatin1String("Scan?")}, + {('D'), QLatin1String("DebugMode")}, + {('D'), QLatin1String("DisplayMode")}, + {('S'), QLatin1String("ScanMode")}, + {('C'), QLatin1String("C-Pass")}, + {('N'), QLatin1String("NoOutput")}, + {('B'), QLatin1String("Branch!")}, + {('T'), QLatin1String("Type!")}, + {(','), QLatin1String(",Branch")}, + {('C'), QLatin1String("CheckWhile")}, + {('M'), QLatin1String("MyBranch")}, + {('C'), QLatin1String("CheckEnd")}, + {('M'), QLatin1String("MoreBranchAddr?")}, + {('B'), QLatin1String("BranchAddr?")}, + {('('), QLatin1String("(BranchAddr?)")}, + {('F'), QLatin1String("FirstBranch")}, + {('M'), QLatin1String("MaxTable")}, + {('B'), QLatin1String("BranchTable")}, + {('S'), QLatin1String("SearchPointer")}, + {('B'), QLatin1String("BranchPointer")}, + {('B'), QLatin1String("Branches")}, + {('C'), QLatin1String("C-Stop")}, + {('L'), QLatin1String("LeaveCode")}, + {('D'), QLatin1String("Disable")}, + {('W'), QLatin1String("WhileCode2")}, + {('A'), QLatin1String("AheadCode")}, + {('E'), QLatin1String("ElseCode")}, + {('U'), QLatin1String("UntilCode")}, + {('A'), QLatin1String("AgainCode")}, + {('R'), QLatin1String("RepeatCode")}, + {('.'), QLatin1String(".struc")}, + {('c'), QLatin1String("c-\\type")}, + {('('), QLatin1String("(.string)")}, + {('.'), QLatin1String(".string")}, + {('c'), QLatin1String("cemit")}, + {('c'), QLatin1String("ctype")}, + {('w'), QLatin1String("warp?")}, + {('('), QLatin1String("(nl)")}, + {('n'), QLatin1String("nl")}, + {('n'), QLatin1String("nlcount")}, + {('u'), QLatin1String("uppercase")}, + {('n'), QLatin1String("nlflag")}, + {('l'), QLatin1String("level-")}, + {('l'), QLatin1String("level+")}, + {('F'), QLatin1String("Format")}, + {('L'), QLatin1String("Level")}, + {('Y'), QLatin1String("YPos")}, + {('X'), QLatin1String("XPos")}, + {('C'), QLatin1String("C-Clearline")}, + {('C'), QLatin1String("C-Highlight")}, + {('C'), QLatin1String("C-Formated")}, + {('C'), QLatin1String("C-Output")}, + {('.'), QLatin1String(".\"")}, + {('s'), QLatin1String("s\"")}, + {('\\'), QLatin1String("\\\"-parse")}, + {('\\'), QLatin1String("\\-escape")}, + {('\\'), QLatin1String("\\-escape-table")}, + {('p'), QLatin1String("parse-num")}, + {('p'), QLatin1String("parse-num-x")}, + {('c'), QLatin1String("char/")}, + {('e'), QLatin1String("ekey?")}, + {('e'), QLatin1String("ekey>fkey")}, + {('e'), QLatin1String("ekey>char")}, + {('e'), QLatin1String("ekey")}, + {('c'), QLatin1String("clear-ekey-buffer")}, + {('e'), QLatin1String("esc-sequence")}, + {('e'), QLatin1String("esc-prefix")}, + {('e'), QLatin1String("ekey-buffered")}, + {('e'), QLatin1String("ekey-buffer")}, + {('e'), QLatin1String("esc-sequences")}, + {('u'), QLatin1String("unkeys")}, + {('u'), QLatin1String("unkey")}, + {('c'), QLatin1String("char-append-buffer")}, + {('k'), QLatin1String("key-buffered")}, + {('k'), QLatin1String("key-buffer")}, + {('s'), QLatin1String("s-k12")}, + {('s'), QLatin1String("s-k11")}, + {('s'), QLatin1String("s-k10")}, + {('s'), QLatin1String("s-k9")}, + {('s'), QLatin1String("s-k8")}, + {('s'), QLatin1String("s-k7")}, + {('s'), QLatin1String("s-k6")}, + {('s'), QLatin1String("s-k5")}, + {('s'), QLatin1String("s-k4")}, + {('s'), QLatin1String("s-k3")}, + {('s'), QLatin1String("s-k2")}, + {('s'), QLatin1String("s-k1")}, + {('k'), QLatin1String("k12")}, + {('k'), QLatin1String("k11")}, + {('k'), QLatin1String("k10")}, + {('k'), QLatin1String("k9")}, + {('k'), QLatin1String("k8")}, + {('k'), QLatin1String("k7")}, + {('k'), QLatin1String("k6")}, + {('k'), QLatin1String("k5")}, + {('k'), QLatin1String("k4")}, + {('k'), QLatin1String("k3")}, + {('k'), QLatin1String("k2")}, + {('k'), QLatin1String("k1")}, + {('k'), QLatin1String("k-f12")}, + {('k'), QLatin1String("k-f11")}, + {('k'), QLatin1String("k-f10")}, + {('k'), QLatin1String("k-f9")}, + {('k'), QLatin1String("k-f8")}, + {('k'), QLatin1String("k-f7")}, + {('k'), QLatin1String("k-f6")}, + {('k'), QLatin1String("k-f5")}, + {('k'), QLatin1String("k-f4")}, + {('k'), QLatin1String("k-f3")}, + {('k'), QLatin1String("k-f2")}, + {('k'), QLatin1String("k-f1")}, + {('k'), QLatin1String("k-delete")}, + {('k'), QLatin1String("k-insert")}, + {('k'), QLatin1String("k-next")}, + {('k'), QLatin1String("k-prior")}, + {('k'), QLatin1String("k-end")}, + {('k'), QLatin1String("k-home")}, + {('k'), QLatin1String("k-down")}, + {('k'), QLatin1String("k-up")}, + {('k'), QLatin1String("k-right")}, + {('k'), QLatin1String("k-left")}, + {('k'), QLatin1String("k-alt-mask")}, + {('k'), QLatin1String("k-ctrl-mask")}, + {('k'), QLatin1String("k-shift-mask")}, + {('k'), QLatin1String("keycode")}, + {('t'), QLatin1String("table")}, + {('t'), QLatin1String("tablesearch-map")}, + {('t'), QLatin1String("table-find")}, + {('s'), QLatin1String("savesystem")}, + {('d'), QLatin1String("dump-fi")}, + {('u'), QLatin1String("update-image-included-files")}, + {('d'), QLatin1String("delete-prefix")}, + {('s'), QLatin1String("save-mem-dict")}, + {('<'), QLatin1String("")}, + {('('), QLatin1String("(compilation>1)")}, + {('<'), QLatin1String("")}, + {('('), QLatin1String("(interpretation>1)")}, + {('f'), QLatin1String("fix-does-code")}, + {('c'), QLatin1String("create-interpret/compile")}, + {('n'), QLatin1String("no-interpretation-does-code")}, + {('n'), QLatin1String("no-compilation-does-code")}, + {('b'), QLatin1String("bye")}, + {('b'), QLatin1String("block-included")}, + {('-'), QLatin1String("-->")}, + {('+'), QLatin1String("+thru")}, + {('+'), QLatin1String("+load")}, + {('t'), QLatin1String("thru")}, + {('l'), QLatin1String("load")}, + {('b'), QLatin1String("block-input")}, + {('l'), QLatin1String("list")}, + {('u'), QLatin1String("updated?")}, + {('s'), QLatin1String("scr")}, + {('b'), QLatin1String("buffer")}, + {('b'), QLatin1String("block")}, + {('g'), QLatin1String("get-buffer")}, + {('f'), QLatin1String("flush")}, + {('e'), QLatin1String("empty-buffers")}, + {('s'), QLatin1String("save-buffers")}, + {('e'), QLatin1String("empty-buffer")}, + {('s'), QLatin1String("save-buffer")}, + {('u'), QLatin1String("update")}, + {('b'), QLatin1String("block-position")}, + {('g'), QLatin1String("get-block-fid")}, + {('u'), QLatin1String("use")}, + {('o'), QLatin1String("open-blocks")}, + {('f'), QLatin1String("flush-blocks")}, + {('b'), QLatin1String("block-cold")}, + {('o'), QLatin1String("offset")}, + {('b'), QLatin1String("block-offset")}, + {('b'), QLatin1String("block-fid")}, + {('b'), QLatin1String("block-limit")}, + {('b'), QLatin1String("buffers")}, + {('l'), QLatin1String("last-block")}, + {('b'), QLatin1String("block-buffers")}, + {('b'), QLatin1String("buffer-struct")}, + {('n'), QLatin1String("next-buffer")}, + {('b'), QLatin1String("block-buffer")}, + {('b'), QLatin1String("buffer-dirty")}, + {('b'), QLatin1String("buffer-fid")}, + {('b'), QLatin1String("buffer-block")}, + {(')'), QLatin1String(")")}, + {('('), QLatin1String("(end-assert)")}, + {('a'), QLatin1String("assert(")}, + {('a'), QLatin1String("assert3(")}, + {('a'), QLatin1String("assert2(")}, + {('a'), QLatin1String("assert1(")}, + {('a'), QLatin1String("assert0(")}, + {('a'), QLatin1String("assertn")}, + {('a'), QLatin1String("assert-level")}, + {('~'), QLatin1String("~~")}, + {('.'), QLatin1String(".debugline-stderr")}, + {('('), QLatin1String("(.debugline)")}, + {('.'), QLatin1String(".debugline")}, + {('p'), QLatin1String("printdebugdata")}, + {('.'), QLatin1String(".sourcepos")}, + {('c'), QLatin1String("compile-sourcepos")}, + {('c'), QLatin1String("current-sourcepos")}, + {('s'), QLatin1String("str>loadfilename#")}, + {('l'), QLatin1String("loadfilename#>str")}, + {('v'), QLatin1String("vt100-decode")}, + {('t'), QLatin1String("tcode")}, + {('t'), QLatin1String("trans:")}, + {('t'), QLatin1String("transcode")}, + {('t'), QLatin1String("translate")}, + {('h'), QLatin1String("history-cold")}, + {('g'), QLatin1String("get-history")}, + {('x'), QLatin1String("xchar-history")}, + {('x'), QLatin1String("xtab-expand")}, + {('i'), QLatin1String("insert")}, + {('x'), QLatin1String("xkill-expand")}, + {('('), QLatin1String("(xenter)")}, + {('x'), QLatin1String("xclear-tib")}, + {('x'), QLatin1String("xclear-line")}, + {('x'), QLatin1String("xend-pos")}, + {('x'), QLatin1String("xfirst-pos")}, + {('x'), QLatin1String("xeof")}, + {('<'), QLatin1String("")}, + {('?'), QLatin1String("?xdel")}, + {('('), QLatin1String("(xdel)")}, + {('x'), QLatin1String("xforw")}, + {('x'), QLatin1String("xback")}, + {('('), QLatin1String("(xins)")}, + {('<'), QLatin1String("")}, + {('x'), QLatin1String("xretype")}, + {('.'), QLatin1String(".all")}, + {('.'), QLatin1String(".rest")}, + {('x'), QLatin1String("xback-restore")}, + {('x'), QLatin1String("xcur-correct")}, + {('a'), QLatin1String("at-deltaxy")}, + {('#'), QLatin1String("#esc")}, + {('k'), QLatin1String("kill-prefix")}, + {('t'), QLatin1String("tib-full?")}, + {('s'), QLatin1String("search-prefix")}, + {('p'), QLatin1String("prefix-string")}, + {('p'), QLatin1String("prefix-off")}, + {('s'), QLatin1String("search-voc")}, + {('w'), QLatin1String("word-lex")}, + {('c'), QLatin1String("capscomp")}, + {('s'), QLatin1String("sgn")}, + {('p'), QLatin1String("prefix-found")}, + {('e'), QLatin1String("extract-word")}, + {('('), QLatin1String("(enter)")}, + {('p'), QLatin1String("prev-line")}, + {('f'), QLatin1String("find-prev-line")}, + {('n'), QLatin1String("next-line")}, + {('g'), QLatin1String("get-line")}, + {('h'), QLatin1String("hist-setpos")}, + {('h'), QLatin1String("hist-pos")}, + {('c'), QLatin1String("clear-line")}, + {('l'), QLatin1String("linew-off")}, + {('s'), QLatin1String("screenw")}, + {('l'), QLatin1String("linew")}, + {('c'), QLatin1String("cur-correct")}, + {('b'), QLatin1String("back-restore")}, + {('h'), QLatin1String("history-file")}, + {('f'), QLatin1String("force-open")}, + {('e'), QLatin1String("end^")}, + {('b'), QLatin1String("backward^")}, + {('f'), QLatin1String("forward^")}, + {('h'), QLatin1String("history")}, + {('b'), QLatin1String("bindkey")}, + {('>'), QLatin1String(">string")}, + {('c'), QLatin1String("ctrl")}, + {('c'), QLatin1String("ctrl-i")}, + {('u'), QLatin1String("utf-8-cold")}, + {('s'), QLatin1String("set-encoding-utf-8")}, + {('u'), QLatin1String("u8width")}, + {('-'), QLatin1String("-u8trailing-garbage")}, + {('u'), QLatin1String("u8addrlen")}, + {('u'), QLatin1String("u8!+?")}, + {('u'), QLatin1String("u8@")}, + {('u'), QLatin1String("u8\\string-")}, + {('+'), QLatin1String("+u8/string")}, + {('u'), QLatin1String("u8emit")}, + {('u'), QLatin1String("u8key")}, + {('c'), QLatin1String("check-xy")}, + {('u'), QLatin1String("u8<<")}, + {('u'), QLatin1String("u8>>")}, + {('u'), QLatin1String("u8!+")}, + {('u'), QLatin1String("u8@+")}, + {('u'), QLatin1String("u8len")}, + {('m'), QLatin1String("max-single-byte")}, + {('U'), QLatin1String("UTF-8-err")}, + {('O'), QLatin1String("O-PNT@")}, + {('O'), QLatin1String("O-DEINIT")}, + {('O'), QLatin1String("O-INIT")}, + {('T'), QLatin1String("TypeXT")}, + {('E'), QLatin1String("EmitXT")}, + {('O'), QLatin1String("O-EMIT")}, + {('O'), QLatin1String("O-TYPE")}, + {('O'), QLatin1String("O-PNT")}, + {('O'), QLatin1String("O-Buffer")}, + {('p'), QLatin1String("page")}, + {('a'), QLatin1String("at-xy")}, + {('E'), QLatin1String("ESC[")}, + {(';'), QLatin1String(";pn")}, + {('p'), QLatin1String("pn")}, + {('W'), QLatin1String("WordInfo")}, + {('I'), QLatin1String("InfoTable")}, + {('C'), QLatin1String("Com#")}, + {('S'), QLatin1String("Str#")}, + {('A'), QLatin1String("Ali#")}, + {('U'), QLatin1String("Use#")}, + {('C'), QLatin1String("Col#")}, + {('D'), QLatin1String("Def#")}, + {('D'), QLatin1String("Doe#")}, + {('V'), QLatin1String("Val#")}, + {('V'), QLatin1String("Var#")}, + {('C'), QLatin1String("Con#")}, + {('P'), QLatin1String("Pri#")}, + {('p'), QLatin1String("prim?")}, + {('x'), QLatin1String("xtprim?")}, + {('c'), QLatin1String("colon?")}, + {('d'), QLatin1String("defered?")}, + {('d'), QLatin1String("does?")}, + {('u'), QLatin1String("user?")}, + {('c'), QLatin1String("con?")}, + {('v'), QLatin1String("var?")}, + {('a'), QLatin1String("alias?")}, + {('>'), QLatin1String(">head")}, + {('>'), QLatin1String(">name")}, + {('t'), QLatin1String("threaded>name")}, + {('l'), QLatin1String("look")}, + {('p'), QLatin1String("prim>name")}, + {('P'), QLatin1String("PrimStart")}, + {('t'), QLatin1String("threaded>xt")}, + {('s'), QLatin1String("search-name")}, + {('x'), QLatin1String("xt>threaded")}, + {('b'), QLatin1String("base-execute")}, + {('i'), QLatin1String("infile-execute")}, + {('o'), QLatin1String("outfile-execute")}, + {('l'), QLatin1String("l@")}, + {('w'), QLatin1String("w@")}, + {('/'), QLatin1String("/l")}, + {('/'), QLatin1String("/w")}, + {('t'), QLatin1String("typewhite")}, + {('w'), QLatin1String("what's")}, + {('a'), QLatin1String("action-of")}, + {('f'), QLatin1String("f.s")}, + {('f'), QLatin1String("f.rdp")}, + {('f'), QLatin1String("f>str-rdp")}, + {('f'), QLatin1String("f>buf-rdp")}, + {('f'), QLatin1String("f>buf-rdp-try")}, + {('p'), QLatin1String("push-right")}, + {(']'), QLatin1String("]]")}, + {('p'), QLatin1String("postponer1")}, + {('['), QLatin1String("[[")}, + {('c'), QLatin1String("compile-compile-2literal")}, + {('c'), QLatin1String("compile-2literal")}, + {('c'), QLatin1String("compile-compile-literal")}, + {('c'), QLatin1String("compile-literal")}, + {('s'), QLatin1String("slurp-fid")}, + {('s'), QLatin1String("slurp-file")}, + {('c'), QLatin1String("const-does>")}, + {('('), QLatin1String("(const-does>)")}, + {('c'), QLatin1String("compile-fliterals")}, + {('c'), QLatin1String("compile-literals")}, + {('i'), QLatin1String("in-return-stack?")}, + {(']'), QLatin1String("]L")}, + {('s'), QLatin1String("sh")}, + {('s'), QLatin1String("system")}, + {('$'), QLatin1String("$?")}, + {('d'), QLatin1String("dmax")}, + {('d'), QLatin1String("dmin")}, + {('?'), QLatin1String("?CSP")}, + {('!'), QLatin1String("!CSP")}, + {('C'), QLatin1String("CSP")}, + {('n'), QLatin1String("needs")}, + {('l'), QLatin1String("locals|")}, + {('T'), QLatin1String("TO")}, + {('d'), QLatin1String("definer!")}, + {('>'), QLatin1String(">definer")}, + {('('), QLatin1String("(local)")}, + {('('), QLatin1String("(exit-like)")}, + {('('), QLatin1String("(until-like)")}, + {('('), QLatin1String("(again-like)")}, + {('('), QLatin1String("(begin-like)")}, + {('('), QLatin1String("(then-like)")}, + {('l'), QLatin1String("locals-;-hook")}, + {('l'), QLatin1String("locals-:-hook")}, + {('e'), QLatin1String("endscope")}, + {('a'), QLatin1String("adjust-locals-list")}, + {('s'), QLatin1String("scope")}, + {('{'), QLatin1String("{")}, + {('o'), QLatin1String("old-dpp")}, + {('n'), QLatin1String("new-locals-wl")}, + {('n'), QLatin1String("new-locals-map")}, + {('n'), QLatin1String("new-locals-reveal")}, + {('n'), QLatin1String("new-locals-find")}, + {('s'), QLatin1String("some-wlocal")}, + {('s'), QLatin1String("some-flocal")}, + {('s'), QLatin1String("some-dlocal")}, + {('s'), QLatin1String("some-clocal")}, + {('l'), QLatin1String("locals-types")}, + {('l'), QLatin1String("lp-offset,")}, + {('l'), QLatin1String("lp-offset")}, + {('c'), QLatin1String("create-local")}, + {('c'), QLatin1String("compile-pushlocal-c")}, + {('c'), QLatin1String("compile-pushlocal-d")}, + {('c'), QLatin1String("compile-pushlocal-f")}, + {('c'), QLatin1String("check-begin")}, + {('s'), QLatin1String("set-locals-size-list")}, + {('l'), QLatin1String("list-size")}, + {('s'), QLatin1String("sub-list?")}, + {('c'), QLatin1String("common-list")}, + {('c'), QLatin1String("compile-pushlocal-w")}, + {('a'), QLatin1String("alignlp-f")}, + {('a'), QLatin1String("alignlp-w")}, + {('l'), QLatin1String("locals-dp")}, + {('l'), QLatin1String("locals-buffer")}, + {('l'), QLatin1String("locals")}, + {('a'), QLatin1String("adjust-locals-size")}, + {('c'), QLatin1String("compile-lp+!")}, + {('c'), QLatin1String("compile-f@local")}, + {('c'), QLatin1String("compile-@local")}, + {('F'), QLatin1String("FMOD")}, + {('F'), QLatin1String("FTRUNC")}, + {('f'), QLatin1String("f~")}, + {('f'), QLatin1String("f~rel")}, + {('f'), QLatin1String("f~abs")}, + {('1'), QLatin1String("1/f")}, + {('f'), QLatin1String("f2/")}, + {('f'), QLatin1String("f2*")}, + {('p'), QLatin1String("pi")}, + {('f'), QLatin1String("fvariable")}, + {('s'), QLatin1String("sfnumber")}, + {('f'), QLatin1String("fs.")}, + {('f'), QLatin1String("fe.")}, + {('f'), QLatin1String("f.")}, + {('f'), QLatin1String("f$")}, + {('-'), QLatin1String("-zeros")}, + {('z'), QLatin1String("zeros")}, + {('s'), QLatin1String("scratch")}, + {('s'), QLatin1String("set-precision")}, + {('p'), QLatin1String("precision")}, + {('F'), QLatin1String("FLiteral")}, + {('f'), QLatin1String("fdepth")}, + {('f'), QLatin1String("fconstant")}, + {('f'), QLatin1String("f,")}, + {('d'), QLatin1String("dfloat+")}, + {('s'), QLatin1String("sfloat+")}, + {('d'), QLatin1String("dfalign")}, + {('s'), QLatin1String("sfalign")}, + {('.'), QLatin1String(".words")}, + {('h'), QLatin1String("hash-cold")}, + {('m'), QLatin1String("make-hash")}, + {('('), QLatin1String("(hashsearch-map)")}, + {('h'), QLatin1String("hashdouble")}, + {('('), QLatin1String("(rehash)")}, + {('r'), QLatin1String("rehashall")}, + {('c'), QLatin1String("clearhash")}, + {('a'), QLatin1String("addall")}, + {('i'), QLatin1String("inithash")}, + {('h'), QLatin1String("hash-reveal")}, + {('('), QLatin1String("(reveal")}, + {('l'), QLatin1String("lastlink!")}, + {('h'), QLatin1String("hash-find")}, + {('b'), QLatin1String("bucket")}, + {('N'), QLatin1String("NewFix")}, + {('D'), QLatin1String("DelFix")}, + {('h'), QLatin1String("hash-alloc")}, + {('h'), QLatin1String("hashsearch-map")}, + {('H'), QLatin1String("HashTable")}, + {('H'), QLatin1String("HashPop")}, + {('H'), QLatin1String("HashIndex")}, + {('H'), QLatin1String("HashPointer")}, + {('r'), QLatin1String("revealed")}, + {('i'), QLatin1String("insRule")}, + {('h'), QLatin1String("hash")}, + {('H'), QLatin1String("Hashlen")}, + {('h'), QLatin1String("hashbits")}, + {('r'), QLatin1String("reserve-mem")}, + {('m'), QLatin1String("marker")}, + {('m'), QLatin1String("marker!")}, + {('m'), QLatin1String("marker,")}, + {('i'), QLatin1String("included-files-mark")}, + {('e'), QLatin1String("expect")}, + {('s'), QLatin1String("span")}, + {('s'), QLatin1String("search")}, + {('b'), QLatin1String("blank")}, + {('e'), QLatin1String("erase")}, + {('c'), QLatin1String("convert")}, + {('['), QLatin1String("[compile]")}, + {('C'), QLatin1String("C\"")}, + {('e'), QLatin1String("endcase")}, + {('e'), QLatin1String("endof")}, + {('o'), QLatin1String("of")}, + {('c'), QLatin1String("case")}, + {('m'), QLatin1String("m*/")}, + {('d'), QLatin1String("d>s")}, + {('.'), QLatin1String(".(")}, + {('b'), QLatin1String("broken-pipe-error")}, + {('e'), QLatin1String("exception")}, + {('n'), QLatin1String("next-exception")}, + {('e'), QLatin1String("errstring")}, + {('l'), QLatin1String("linked")}, + {('i'), QLatin1String("include-ffi.h-string")}, + {('l'), QLatin1String("libffi-present")}, + {('f'), QLatin1String("ffcall-present")}, + {('l'), QLatin1String("libtool-flags")}, + {('l'), QLatin1String("libtool-cc")}, + {('l'), QLatin1String("libtool-command")}, + {('h'), QLatin1String("has?")}, + {('$'), QLatin1String("$has?")}, + {('e'), QLatin1String("e?")}, + {('e'), QLatin1String("environment?")}, + {('e'), QLatin1String("environment-wordlist")}, + {('e'), QLatin1String("environment")}, + {('v'), QLatin1String("vocs")}, + {('o'), QLatin1String("order")}, + {('.'), QLatin1String(".voc")}, + {('.'), QLatin1String(".name")}, + {('.'), QLatin1String(".id")}, + {('i'), QLatin1String("id.")}, + {('s'), QLatin1String("seal")}, + {('s'), QLatin1String("set-order")}, + {('g'), QLatin1String("get-order")}, + {('i'), QLatin1String("init-vp")}, + {('u'), QLatin1String("update-image-order")}, + {('O'), QLatin1String("Only")}, + {('R'), QLatin1String("Root")}, + {('F'), QLatin1String("Forth")}, + {('v'), QLatin1String("vocsearch")}, + {('('), QLatin1String("(localsvocfind)")}, + {('l'), QLatin1String("locals-wordlist")}, + {('('), QLatin1String("(vocfind)")}, + {('p'), QLatin1String("previous")}, + {('a'), QLatin1String("also")}, + {('>'), QLatin1String(">order")}, + {('c'), QLatin1String("check-maxvp")}, + {('V'), QLatin1String("Vocabulary")}, + {('w'), QLatin1String("wordlist")}, + {('m'), QLatin1String("mappedwordlist")}, + {('s'), QLatin1String("slowvoc")}, + {('d'), QLatin1String("definitions")}, + {('v'), QLatin1String("vp!")}, + {('s'), QLatin1String("set-current")}, + {('g'), QLatin1String("get-current")}, + {('v'), QLatin1String("vp")}, + {('m'), QLatin1String("maxvp-limit")}, + {('m'), QLatin1String("maxvp")}, + {('%'), QLatin1String("%alloc")}, + {('%'), QLatin1String("%allocate")}, + {('%'), QLatin1String("%allot")}, + {('%'), QLatin1String("%align")}, + {('%'), QLatin1String("%size")}, + {('%'), QLatin1String("%alignment")}, + {('d'), QLatin1String("double%")}, + {('s'), QLatin1String("sfloat%")}, + {('d'), QLatin1String("dfloat%")}, + {('f'), QLatin1String("float%")}, + {('c'), QLatin1String("char%")}, + {('c'), QLatin1String("cell%")}, + {('s'), QLatin1String("struct")}, + {('e'), QLatin1String("end-struct")}, + {('f'), QLatin1String("field")}, + {('c'), QLatin1String("create-field")}, + {('f'), QLatin1String("field,")}, + {('d'), QLatin1String("dozerofield")}, + {('n'), QLatin1String("nalign")}, + {('n'), QLatin1String("naligned")}, + {('e'), QLatin1String("endtry-iferror")}, + {('e'), QLatin1String("endtry")}, + {('r'), QLatin1String("restore")}, + {('i'), QLatin1String("iferror")}, + {('h'), QLatin1String("handler-intro,")}, + {('('), QLatin1String("(endtry)")}, + {('t'), QLatin1String("try")}, + {('('), QLatin1String("(try)")}, + {('n'), QLatin1String("nothrow")}, + {('f'), QLatin1String("first-throw")}, + {('s'), QLatin1String("store-backtrace")}, + {('d'), QLatin1String("dodoes:")}, + {('d'), QLatin1String("dofield:")}, + {('d'), QLatin1String("dodefer:")}, + {('d'), QLatin1String("douser:")}, + {('d'), QLatin1String("dovar:")}, + {('d'), QLatin1String("docol:")}, + {('d'), QLatin1String("dovalue:")}, + {('d'), QLatin1String("docon:")}, + {('v'), QLatin1String("vlist")}, + {('w'), QLatin1String("words")}, + {('w'), QLatin1String("wordlist-words")}, + {('c'), QLatin1String("cols")}, + {('r'), QLatin1String("rows")}, + {('?'), QLatin1String("?")}, + {('d'), QLatin1String("dump")}, + {('.'), QLatin1String(".line")}, + {('.'), QLatin1String(".chars")}, + {('.'), QLatin1String(".4")}, + {('/'), QLatin1String("/dump")}, + {('.'), QLatin1String(".s")}, + {('m'), QLatin1String("maxdepth-.s")}, + {('['), QLatin1String("[WHILE]")}, + {('['), QLatin1String("[AGAIN]")}, + {('['), QLatin1String("[REPEAT]")}, + {('['), QLatin1String("[UNTIL]")}, + {('['), QLatin1String("[BEGIN]")}, + {('['), QLatin1String("[I]")}, + {('['), QLatin1String("[NEXT]")}, + {('['), QLatin1String("[FOR]")}, + {('['), QLatin1String("[LOOP]")}, + {('['), QLatin1String("[+LOOP]")}, + {('['), QLatin1String("[?DO]")}, + {('['), QLatin1String("[DO]")}, + {('('), QLatin1String("(i)")}, + {('['), QLatin1String("[ENDIF]")}, + {('['), QLatin1String("[THEN]")}, + {('['), QLatin1String("[ELSE]")}, + {('['), QLatin1String("[IFUNDEF]")}, + {('['), QLatin1String("[IFDEF]")}, + {('['), QLatin1String("[IF]")}, + {('['), QLatin1String("[undefined]")}, + {('d'), QLatin1String("defined")}, + {('['), QLatin1String("[defined]")}, + {('?'), QLatin1String("?if")}, + {('['), QLatin1String("[struct]-voc")}, + {('['), QLatin1String("[struct]-search")}, + {('s'), QLatin1String("scanIF")}, + {('>'), QLatin1String(">exec")}, + {('d'), QLatin1String("dummy")}, + {('c'), QLatin1String("countif")}, + {('.'), QLatin1String(".\"")}, + {('S'), QLatin1String("S\"")}, + {('a'), QLatin1String("abort\"")}, + {('S'), QLatin1String("SLiteral")}, + {('C'), QLatin1String("CLiteral")}, + {('?'), QLatin1String("?EXIT")}, + {('E'), QLatin1String("EXIT")}, + {('e'), QLatin1String("exit-like")}, + {('N'), QLatin1String("NEXT")}, + {('S'), QLatin1String("S+LOOP")}, + {('-'), QLatin1String("-LOOP")}, + {('+'), QLatin1String("+LOOP")}, + {('L'), QLatin1String("LOOP")}, + {('l'), QLatin1String("loop-like")}, + {('F'), QLatin1String("FOR")}, + {('U'), QLatin1String("U-DO")}, + {('-'), QLatin1String("-DO")}, + {('U'), QLatin1String("U+DO")}, + {('+'), QLatin1String("+DO")}, + {('?'), QLatin1String("?DO")}, + {('?'), QLatin1String("?do-like")}, + {('D'), QLatin1String("DO")}, + {('?'), QLatin1String("?LEAVE")}, + {('L'), QLatin1String("LEAVE")}, + {('D'), QLatin1String("DONE")}, + {('l'), QLatin1String("leave>")}, + {('>'), QLatin1String(">leave")}, + {('c'), QLatin1String("clear-leave-stack")}, + {('l'), QLatin1String("leave-sp")}, + {('l'), QLatin1String("leave-stack")}, + {('l'), QLatin1String("leave-stack-size")}, + {('R'), QLatin1String("REPEAT")}, + {('W'), QLatin1String("WHILE")}, + {('U'), QLatin1String("UNTIL")}, + {('u'), QLatin1String("until-like")}, + {('A'), QLatin1String("AGAIN")}, + {('a'), QLatin1String("again-like")}, + {('B'), QLatin1String("BEGIN")}, + {('b'), QLatin1String("begin-like")}, + {('E'), QLatin1String("ELSE")}, + {('E'), QLatin1String("ENDIF")}, + {('T'), QLatin1String("THEN")}, + {('c'), QLatin1String("cs>addr")}, + {('t'), QLatin1String("then-like")}, + {('?'), QLatin1String("?DUP-0=-IF")}, + {('?'), QLatin1String("?DUP-IF")}, + {('I'), QLatin1String("IF")}, + {('A'), QLatin1String("AHEAD")}, + {('Y'), QLatin1String("YET")}, + {('B'), QLatin1String("BUT")}, + {('<'), QLatin1String("'), QLatin1String(">resolve")}, + {('>'), QLatin1String(">mark")}, + {('s'), QLatin1String("sys?")}, + {('?'), QLatin1String("?struc")}, + {('o'), QLatin1String("other-control-flow")}, + {('c'), QLatin1String("cs-push-orig")}, + {('c'), QLatin1String("cs-push-part")}, + {('C'), QLatin1String("CS-ROLL")}, + {('C'), QLatin1String("CS-PICK")}, + {('c'), QLatin1String("cs-item-size")}, + {('c'), QLatin1String("cs-item?")}, + {('n'), QLatin1String("non-orig?")}, + {('s'), QLatin1String("scope?")}, + {('d'), QLatin1String("do-dest?")}, + {('d'), QLatin1String("dest?")}, + {('o'), QLatin1String("orig?")}, + {('d'), QLatin1String("def?")}, + {('s'), QLatin1String("scopestart")}, + {('d'), QLatin1String("do-dest")}, + {('d'), QLatin1String("dest")}, + {('d'), QLatin1String("dead-orig")}, + {('l'), QLatin1String("live-orig")}, + {('A'), QLatin1String("ASSUME-LIVE")}, + {('U'), QLatin1String("UNREACHABLE")}, + {('b'), QLatin1String("backedge-locals")}, + {('d'), QLatin1String("dead-code")}, + {('l'), QLatin1String("locals-list")}, + {('.'), QLatin1String(".included")}, + {('.'), QLatin1String(".strings")}, + {('r'), QLatin1String("require")}, + {('i'), QLatin1String("include")}, + {('r'), QLatin1String("required")}, + {('i'), QLatin1String("included")}, + {('i'), QLatin1String("included1")}, + {('a'), QLatin1String("add-included-file")}, + {('i'), QLatin1String("included?")}, + {('i'), QLatin1String("init-included-files")}, + {('s'), QLatin1String("sourceline#")}, + {('s'), QLatin1String("sourcefilename")}, + {('i'), QLatin1String("image-included-files")}, + {('i'), QLatin1String("included-files")}, + {('o'), QLatin1String("open-fpath-file")}, + {('o'), QLatin1String("open-path-file")}, + {('c'), QLatin1String("check-path")}, + {('o'), QLatin1String("open-ofile")}, + {('r'), QLatin1String("reworkdir")}, + {('c'), QLatin1String("compact-filename")}, + {('s'), QLatin1String("skip-..-prefixes")}, + {('p'), QLatin1String("preserve-root")}, + {('d'), QLatin1String("del-./s")}, + {('d'), QLatin1String("del-string")}, + {('e'), QLatin1String("expandtopic")}, + {('r'), QLatin1String("remove~+")}, + {('e'), QLatin1String("extractpath")}, + {('n'), QLatin1String("need/")}, + {('p'), QLatin1String("pathsep?")}, + {('t'), QLatin1String("tfile")}, + {('o'), QLatin1String("ofile")}, + {('a'), QLatin1String("absolut-path?")}, + {('.'), QLatin1String(".fpath")}, + {('.'), QLatin1String(".path")}, + {('p'), QLatin1String("previous-path")}, + {('n'), QLatin1String("next-path")}, + {('p'), QLatin1String("path>string")}, + {('f'), QLatin1String("fpath=")}, + {('p'), QLatin1String("path=")}, + {('f'), QLatin1String("fpath+")}, + {('p'), QLatin1String("path+")}, + {('o'), QLatin1String("only-path")}, + {('c'), QLatin1String("clear-path")}, + {('a'), QLatin1String("also-path")}, + {('o'), QLatin1String("os-cold")}, + {('m'), QLatin1String("make-path")}, + {('f'), QLatin1String("fpath")}, + {('+'), QLatin1String("+place")}, + {('p'), QLatin1String("path-allot")}, + {('('), QLatin1String("(")}, + {('w'), QLatin1String("write-line")}, + {('b'), QLatin1String("bin")}, + {('r'), QLatin1String("r/o")}, + {('r'), QLatin1String("r/w")}, + {('w'), QLatin1String("w/o")}, + {('o'), QLatin1String("os-boot")}, + {('('), QLatin1String("(process-args)")}, + {('p'), QLatin1String("process-option")}, + {('a'), QLatin1String("args-evaluate")}, + {('a'), QLatin1String("args-required")}, + {('a'), QLatin1String("args-required1")}, + {('o'), QLatin1String("os-execute-parsing")}, + {('n'), QLatin1String("next-arg")}, + {('s'), QLatin1String("shift-args")}, + {('s'), QLatin1String("script?")}, + {('a'), QLatin1String("argc")}, + {('a'), QLatin1String("argv")}, + {('p'), QLatin1String("pathdirs")}, + {('p'), QLatin1String("pathstring")}, + {('#'), QLatin1String("#!")}, + {('a'), QLatin1String("arg")}, + {('c'), QLatin1String("cstring>sstring")}, + {('s'), QLatin1String("set-encoding-fixed-width")}, + {('c'), QLatin1String("c-size")}, + {('c'), QLatin1String("c!+?")}, + {('s'), QLatin1String("string-")}, + {('+'), QLatin1String("+string")}, + {('c'), QLatin1String("char-")}, + {('x'), QLatin1String("xhold")}, + {('x'), QLatin1String("x@+/string")}, + {('-'), QLatin1String("-trailing-garbage")}, + {('x'), QLatin1String("x-width")}, + {('x'), QLatin1String("x-size")}, + {('x'), QLatin1String("xc-size")}, + {('x'), QLatin1String("xc@+")}, + {('x'), QLatin1String("xc!+?")}, + {('x'), QLatin1String("xc@")}, + {('x'), QLatin1String("x\\string-")}, + {('+'), QLatin1String("+x/string")}, + {('x'), QLatin1String("xchar-")}, + {('x'), QLatin1String("xchar+")}, + {('x'), QLatin1String("xkey")}, + {('x'), QLatin1String("xemit")}, + {('l'), QLatin1String("license")}, + {('i'), QLatin1String("include-file")}, + {('e'), QLatin1String("execute-parsing-file")}, + {('e'), QLatin1String("execute-parsing-named-file")}, + {('r'), QLatin1String("read-loop")}, + {('l'), QLatin1String("line-end-hook")}, + {('q'), QLatin1String("query")}, + {('c'), QLatin1String("clear-tibstack")}, + {('e'), QLatin1String("evaluate")}, + {('e'), QLatin1String("execute-parsing")}, + {('e'), QLatin1String("execute-parsing-wrapper")}, + {('c'), QLatin1String("create-input")}, + {('r'), QLatin1String("restore-input")}, + {('s'), QLatin1String("save-input")}, + {('p'), QLatin1String("pop-file")}, + {('p'), QLatin1String("push-file")}, + {('e'), QLatin1String("expand-tib")}, + {('n'), QLatin1String("new-tib")}, + {('f'), QLatin1String("file-input")}, + {('r'), QLatin1String("read-line")}, + {('e'), QLatin1String("evaluate-input")}, + {('t'), QLatin1String("terminal-input")}, + {('i'), QLatin1String("input-start-line")}, + {('i'), QLatin1String("input-lexeme!")}, + {('t'), QLatin1String("tib+")}, + {('t'), QLatin1String("tib")}, + {('l'), QLatin1String("loadfilename")}, + {('#'), QLatin1String("#fill-bytes")}, + {('b'), QLatin1String("blk")}, + {('l'), QLatin1String("loadfile")}, + {('l'), QLatin1String("loadline")}, + {('o'), QLatin1String("old-input")}, + {('m'), QLatin1String("max#tib")}, + {('#'), QLatin1String("#tib")}, + {('i'), QLatin1String("input-lexeme")}, + {('>'), QLatin1String(">in")}, + {('('), QLatin1String("(restore-input)")}, + {('('), QLatin1String("(save-input)")}, + {('s'), QLatin1String("source-id")}, + {('r'), QLatin1String("refill")}, + {('s'), QLatin1String("source")}, + {('i'), QLatin1String("input-var")}, + {('i'), QLatin1String("input-method")}, + {('a'), QLatin1String("accept")}, + {('e'), QLatin1String("edit-line")}, + {('d'), QLatin1String("decode")}, + {('e'), QLatin1String("everyline")}, + {('e'), QLatin1String("everychar")}, + {('i'), QLatin1String("insert-char")}, + {('c'), QLatin1String("ctrlkeys")}, + {('('), QLatin1String("(ret)")}, + {('('), QLatin1String("(bs)")}, + {('('), QLatin1String("(ins)")}, + {('r'), QLatin1String("recursive")}, + {('r'), QLatin1String("rehash")}, + {('r'), QLatin1String("reveal")}, + {('c'), QLatin1String("check-shadow")}, + {('('), QLatin1String("(reveal)")}, + {('w'), QLatin1String("warnings")}, + {('l'), QLatin1String("last?")}, + {(';'), QLatin1String(";")}, + {(':'), QLatin1String(":noname")}, + {(':'), QLatin1String(":")}, + {('('), QLatin1String("(:noname)")}, + {('d'), QLatin1String("defstart")}, + {(';'), QLatin1String(";-hook")}, + {(':'), QLatin1String(":-hook")}, + {('i'), QLatin1String("interpret/compile?")}, + {('T'), QLatin1String("TO")}, + {('I'), QLatin1String("IS")}, + {('['), QLatin1String("[IS]")}, + {('<'), QLatin1String("")}, + {('d'), QLatin1String("defer!")}, + {('D'), QLatin1String("DOES>")}, + {('D'), QLatin1String("Defers")}, + {('d'), QLatin1String("defer@")}, + {('D'), QLatin1String("Defer")}, + {('d'), QLatin1String("defer-default")}, + {('i'), QLatin1String("interpret/compile:")}, + {('i'), QLatin1String("interpret/compile-struct")}, + {('i'), QLatin1String("interpret/compile-comp")}, + {('i'), QLatin1String("interpret/compile-int")}, + {('('), QLatin1String("(Field)")}, + {('2'), QLatin1String("2Constant")}, + {('A'), QLatin1String("AValue")}, + {('V'), QLatin1String("Value")}, + {('A'), QLatin1String("AConstant")}, + {('C'), QLatin1String("Constant")}, + {('('), QLatin1String("(Value)")}, + {('('), QLatin1String("(Constant)")}, + {('A'), QLatin1String("AUser")}, + {('U'), QLatin1String("User")}, + {('u'), QLatin1String("uallot")}, + {('2'), QLatin1String("2Variable")}, + {('A'), QLatin1String("AVariable")}, + {('V'), QLatin1String("Variable")}, + {('C'), QLatin1String("Create")}, + {('A'), QLatin1String("Alias")}, + {('c'), QLatin1String("compile-only")}, + {('r'), QLatin1String("restrict")}, + {('i'), QLatin1String("immediate")}, + {('l'), QLatin1String("lastflags")}, + {('c'), QLatin1String("ctoggle")}, + {('c'), QLatin1String("creset")}, + {('c'), QLatin1String("cset")}, + {(','), QLatin1String(",\"")}, + {('m'), QLatin1String("mem,")}, + {('S'), QLatin1String("S,")}, + {(']'), QLatin1String("]")}, + {('['), QLatin1String("[")}, + {('c'), QLatin1String("compiler1")}, + {('r'), QLatin1String("recurse")}, + {('P'), QLatin1String("POSTPONE")}, + {('p'), QLatin1String("postpone,")}, + {('['), QLatin1String("[COMP']")}, + {('C'), QLatin1String("COMP'")}, + {('['), QLatin1String("[']")}, + {('['), QLatin1String("[(')]")}, + {('n'), QLatin1String("name>comp")}, + {('('), QLatin1String("(compile)")}, + {('d'), QLatin1String("dodoes,")}, + {('('), QLatin1String("(does>2)")}, + {('('), QLatin1String("(does>)")}, + {('!'), QLatin1String("!does")}, + {('c'), QLatin1String("compile-to-prims,")}, + {('p'), QLatin1String("peephole-compile,")}, + {('b'), QLatin1String("basic-block-end")}, + {('c'), QLatin1String("compile,")}, + {('c'), QLatin1String("cfa,")}, + {('['), QLatin1String("[char]")}, + {('c'), QLatin1String("char")}, + {('c'), QLatin1String("char@")}, + {('A'), QLatin1String("ALiteral")}, + {('2'), QLatin1String("2Literal")}, + {('L'), QLatin1String("Literal")}, + {('l'), QLatin1String("latest")}, + {('l'), QLatin1String("lastxt")}, + {('l'), QLatin1String("latestxt")}, + {('n'), QLatin1String("noname")}, + {('n'), QLatin1String("noname-header")}, + {('n'), QLatin1String("nextname")}, + {('n'), QLatin1String("nextname-header")}, + {('n'), QLatin1String("nextname-string")}, + {('i'), QLatin1String("input-stream")}, + {('i'), QLatin1String("input-stream-header")}, + {('h'), QLatin1String("header,")}, + {('l'), QLatin1String("longstring,")}, + {('s'), QLatin1String("string,")}, + {('h'), QLatin1String("header")}, + {('('), QLatin1String("(header)")}, + {('c'), QLatin1String("const")}, + {('A'), QLatin1String("A,")}, + {('c'), QLatin1String("cfalign")}, + {('m'), QLatin1String("maxalign")}, + {('f'), QLatin1String("falign")}, + {('a'), QLatin1String("align")}, + {('2'), QLatin1String("2,")}, + {(','), QLatin1String(",")}, + {('c'), QLatin1String("c,")}, + {('a'), QLatin1String("allot")}, + {('b'), QLatin1String("bye")}, + {('b'), QLatin1String("boot")}, + {('c'), QLatin1String("cold")}, + {('\''), QLatin1String("'cold")}, + {('p'), QLatin1String("process-args")}, + {('b'), QLatin1String("bootmessage")}, + {('('), QLatin1String("(bootmessage)")}, + {('q'), QLatin1String("quit")}, + {('('), QLatin1String("(DoError)")}, + {('.'), QLatin1String(".error-frame")}, + {('.'), QLatin1String(".error-line")}, + {('p'), QLatin1String("part-type")}, + {('m'), QLatin1String("mark-end")}, + {('m'), QLatin1String("mark-start")}, + {('u'), QLatin1String("umin")}, + {('.'), QLatin1String(".error-string")}, + {('d'), QLatin1String("dobacktrace")}, + {('D'), QLatin1String("DOERROR")}, + {('-'), QLatin1String("-trailing")}, + {('h'), QLatin1String("hex.")}, + {('d'), QLatin1String("dec.r")}, + {('d'), QLatin1String("dec.")}, + {('i'), QLatin1String("input-error-data")}, + {('>'), QLatin1String(">error")}, + {('e'), QLatin1String("error>")}, + {('e'), QLatin1String("error-stack")}, + {('/'), QLatin1String("/error")}, + {('m'), QLatin1String("max-errors")}, + {('('), QLatin1String("(quit)")}, + {('p'), QLatin1String("prompt")}, + {('.'), QLatin1String(".status")}, + {('\''), QLatin1String("'quit")}, + {('e'), QLatin1String("extend-mem")}, + {('f'), QLatin1String("free-mem-var")}, + {('s'), QLatin1String("save-mem")}, + {('i'), QLatin1String("interpreter1")}, + {('i'), QLatin1String("interpret")}, + {('i'), QLatin1String("interpret1")}, + {('b'), QLatin1String("before-word")}, + {('n'), QLatin1String("no.extensions")}, + {('i'), QLatin1String("interpreter-notfound1")}, + {('c'), QLatin1String("compiler-notfound1")}, + {('n'), QLatin1String("name")}, + {('p'), QLatin1String("parse-word")}, + {('p'), QLatin1String("parse-name")}, + {('p'), QLatin1String("parser")}, + {('p'), QLatin1String("parser1")}, + {('\''), QLatin1String("'")}, + {('('), QLatin1String("(')")}, + {('f'), QLatin1String("find")}, + {('s'), QLatin1String("sfind")}, + {('/'), QLatin1String("/does-handler")}, + {('d'), QLatin1String("does-handler!")}, + {('d'), QLatin1String("does-code!")}, + {('c'), QLatin1String("code-address!")}, + {('f'), QLatin1String("flashc!")}, + {('f'), QLatin1String("flash!")}, + {('>'), QLatin1String(">does-code")}, + {('>'), QLatin1String(">code-address")}, + {('b'), QLatin1String("body>")}, + {('>'), QLatin1String(">body")}, + {('>'), QLatin1String(">head-noprim")}, + {('h'), QLatin1String("head?")}, + {('?'), QLatin1String("???")}, + {('('), QLatin1String("(name>intn)")}, + {('('), QLatin1String("(name>comp)")}, + {('n'), QLatin1String("name?int")}, + {('n'), QLatin1String("name>int")}, + {('('), QLatin1String("(name>x)")}, + {('('), QLatin1String("((name>))")}, + {('n'), QLatin1String("name>string")}, + {('('), QLatin1String("(x>int)")}, + {('('), QLatin1String("(cfa>int)")}, + {('c'), QLatin1String("compile-only-error")}, + {('t'), QLatin1String("ticking-compile-only-error")}, + {('f'), QLatin1String("flag-sign")}, + {('l'), QLatin1String("lcount-mask")}, + {('r'), QLatin1String("restrict-mask")}, + {('i'), QLatin1String("immediate-mask")}, + {('a'), QLatin1String("alias-mask")}, + {('f'), QLatin1String("find-name")}, + {('s'), QLatin1String("search-wordlist")}, + {('('), QLatin1String("(search-wordlist)")}, + {('c'), QLatin1String("context")}, + {('v'), QLatin1String("voclink")}, + {('c'), QLatin1String("current")}, + {('l'), QLatin1String("lookup")}, + {('f'), QLatin1String("forth-wordlist")}, + {('f'), QLatin1String("f83search")}, + {('i'), QLatin1String("initvoc")}, + {('f'), QLatin1String("f83find")}, + {('w'), QLatin1String("wordlist-struct")}, + {('w'), QLatin1String("wordlist-extend")}, + {('w'), QLatin1String("wordlist-link")}, + {('w'), QLatin1String("wordlist-id")}, + {('w'), QLatin1String("wordlist-map")}, + {('w'), QLatin1String("wordlist-map-struct")}, + {('h'), QLatin1String("hash-method")}, + {('r'), QLatin1String("rehash-method")}, + {('r'), QLatin1String("reveal-method")}, + {('f'), QLatin1String("find-method")}, + {('\\'), QLatin1String("\\G")}, + {('\\'), QLatin1String("\\")}, + {('('), QLatin1String("(")}, + {('n'), QLatin1String("number")}, + {('n'), QLatin1String("number?")}, + {('s'), QLatin1String("snumber?")}, + {('s'), QLatin1String("s>number")}, + {('s'), QLatin1String("s>number?")}, + {('s'), QLatin1String("s>unumber?")}, + {('s'), QLatin1String("s'>unumber?")}, + {('?'), QLatin1String("?dnegate")}, + {('s'), QLatin1String("sign?")}, + {('g'), QLatin1String("getbase")}, + {('b'), QLatin1String("bases")}, + {('n'), QLatin1String("name-too-long?")}, + {('n'), QLatin1String("name-too-short?")}, + {('('), QLatin1String("(name)")}, + {('p'), QLatin1String("parse")}, + {('w'), QLatin1String("word")}, + {('s'), QLatin1String("sword")}, + {('('), QLatin1String("(word)")}, + {('v'), QLatin1String("version-string")}, + {('.'), QLatin1String(".error")}, + {('>'), QLatin1String(">stderr")}, + {('E'), QLatin1String("ErrLink")}, + {('u'), QLatin1String("u.")}, + {('.'), QLatin1String(".")}, + {('u'), QLatin1String("ud.")}, + {('d'), QLatin1String("d.")}, + {('u'), QLatin1String("u.r")}, + {('.'), QLatin1String(".r")}, + {('u'), QLatin1String("ud.r")}, + {('d'), QLatin1String("d.r")}, + {('#'), QLatin1String("#s")}, + {('#'), QLatin1String("#")}, + {('s'), QLatin1String("sign")}, + {('#'), QLatin1String("#>>")}, + {('<'), QLatin1String("<<#")}, + {('#'), QLatin1String("#>")}, + {('<'), QLatin1String("<#")}, + {('h'), QLatin1String("hold")}, + {('p'), QLatin1String("pad")}, + {('b'), QLatin1String("backspaces")}, + {('s'), QLatin1String("spaces")}, + {('s'), QLatin1String("space")}, + {('c'), QLatin1String("cr")}, + {('b'), QLatin1String("bell")}, + {('#'), QLatin1String("#lf")}, + {('#'), QLatin1String("#ff")}, + {('#'), QLatin1String("#cr")}, + {('#'), QLatin1String("#del")}, + {('#'), QLatin1String("#tab")}, + {('#'), QLatin1String("#bs")}, + {('#'), QLatin1String("#bell")}, + {('#'), QLatin1String("#eof")}, + {('('), QLatin1String("(S\")")}, + {('('), QLatin1String("(.\")")}, + {('k'), QLatin1String("key?")}, + {('k'), QLatin1String("key")}, + {('e'), QLatin1String("emit")}, + {('t'), QLatin1String("type")}, + {('('), QLatin1String("(key?)")}, + {('('), QLatin1String("(key)")}, + {('('), QLatin1String("(emit)")}, + {('('), QLatin1String("(type)")}, + {('i'), QLatin1String("infile-id")}, + {('o'), QLatin1String("outfile-id")}, + {('h'), QLatin1String("hex")}, + {('d'), QLatin1String("decimal")}, + {('"'), QLatin1String("\"lit")}, + {('c'), QLatin1String("clearstacks")}, + {('c'), QLatin1String("clearstack")}, + {('d'), QLatin1String("depth")}, + {('?'), QLatin1String("?stack")}, + {('a'), QLatin1String("abort")}, + {('('), QLatin1String("(abort\")")}, + {('c'), QLatin1String("c(abort\")")}, + {('t'), QLatin1String("throw")}, + {('c'), QLatin1String("catch")}, + {('l'), QLatin1String("lp@")}, + {('u'), QLatin1String("ud/mod")}, + {('s'), QLatin1String("s>d")}, + {('>'), QLatin1String(">number")}, + {('a'), QLatin1String("accumulate")}, + {('d'), QLatin1String("digit?")}, + {('s'), QLatin1String("skip")}, + {('s'), QLatin1String("scan")}, + {('b'), QLatin1String("bounds")}, + {('p'), QLatin1String("place")}, + {('r'), QLatin1String("roll")}, + {('d'), QLatin1String("dabs")}, + {('o'), QLatin1String("off")}, + {('o'), QLatin1String("on")}, + {('h'), QLatin1String("here")}, + {('d'), QLatin1String("dp")}, + {('i'), QLatin1String("in-dictionary?")}, + {('u'), QLatin1String("unused")}, + {('u'), QLatin1String("usable-dictionary-end")}, + {('d'), QLatin1String("dictionary-end")}, + {('A'), QLatin1String("A!")}, + {('c'), QLatin1String("chars")}, + {('c'), QLatin1String("cfaligned")}, + {('m'), QLatin1String("maxaligned")}, + {('r'), QLatin1String("r@")}, + {('N'), QLatin1String("NIL")}, + {('s'), QLatin1String("str<")}, + {('s'), QLatin1String("string-prefix?")}, + {('s'), QLatin1String("str=")}, + {('l'), QLatin1String("locals-size")}, + {('m'), QLatin1String("max-name-length")}, + {('L'), QLatin1String("Last")}, + {('L'), QLatin1String("LastCFA")}, + {('d'), QLatin1String("dpp")}, + {('n'), QLatin1String("normal-dp")}, + {('s'), QLatin1String("state")}, + {('d'), QLatin1String("dpl")}, + {('b'), QLatin1String("base")}, + {('i'), QLatin1String("includefilename")}, + {('c'), QLatin1String("current-input")}, + {('"'), QLatin1String("\"error")}, + {('e'), QLatin1String("errorhandler")}, + {('b'), QLatin1String("backtrace-rp0")}, + {('h'), QLatin1String("handler")}, + {('l'), QLatin1String("lp0")}, + {('f'), QLatin1String("fp0")}, + {('r'), QLatin1String("rp0")}, + {('s'), QLatin1String("sp0")}, + {('s'), QLatin1String("save-task")}, + {('p'), QLatin1String("prev-task")}, + {('n'), QLatin1String("next-task")}, + {('u'), QLatin1String("udp")}, + {('m'), QLatin1String("main-task")}, + {('d'), QLatin1String("def#tib")}, + {('p'), QLatin1String("pad-minsize")}, + {('h'), QLatin1String("holdend")}, + {('h'), QLatin1String("holdptr")}, + {('h'), QLatin1String("holdbuf-end")}, + {('h'), QLatin1String("holdbuf")}, + {('w'), QLatin1String("word-pno-size")}, + {('c'), QLatin1String("chars/block")}, + {('l'), QLatin1String("l/s")}, + {('c'), QLatin1String("c/l")}, + {('/'), QLatin1String("/line")}, + {('b'), QLatin1String("bl")}, + {('f'), QLatin1String("float")}, + {('c'), QLatin1String("cell")}, + {('f'), QLatin1String("false")}, + {('t'), QLatin1String("true")}, + {('f'), QLatin1String("forthstart")}, + {('i'), QLatin1String("image-header")}, + {('t'), QLatin1String("tag-offsets")}, + {('c'), QLatin1String("call2")}, + {('s'), QLatin1String("set-next-code")}, + {('d'), QLatin1String("decompile-prim")}, + {('f'), QLatin1String("forget-dyncode")}, + {('f'), QLatin1String("finish-code")}, + {('c'), QLatin1String("compile-prim1")}, + {('l'), QLatin1String("lib-error")}, + {('l'), QLatin1String("l!")}, + {('s'), QLatin1String("sl@")}, + {('u'), QLatin1String("ul@")}, + {('w'), QLatin1String("w!")}, + {('s'), QLatin1String("sw@")}, + {('u'), QLatin1String("uw@")}, + {('w'), QLatin1String("wcall")}, + {('l'), QLatin1String("lib-sym")}, + {('o'), QLatin1String("open-lib")}, + {('f'), QLatin1String("fpick")}, + {('f'), QLatin1String("f>l")}, + {('>'), QLatin1String(">l")}, + {('l'), QLatin1String("lp!")}, + {('l'), QLatin1String("lp+2")}, + {('l'), QLatin1String("lp+")}, + {('l'), QLatin1String("lp-")}, + {('l'), QLatin1String("lp+!#")}, + {('l'), QLatin1String("laddr#")}, + {('f'), QLatin1String("f@local1")}, + {('f'), QLatin1String("f@local0")}, + {('f'), QLatin1String("f@local#")}, + {('@'), QLatin1String("@local3")}, + {('@'), QLatin1String("@local2")}, + {('@'), QLatin1String("@local1")}, + {('@'), QLatin1String("@local0")}, + {('@'), QLatin1String("@local#")}, + {('f'), QLatin1String("faxpy")}, + {('v'), QLatin1String("v*")}, + {('d'), QLatin1String("dfaligned")}, + {('s'), QLatin1String("sfaligned")}, + {('d'), QLatin1String("dfloats")}, + {('s'), QLatin1String("sfloats")}, + {('f'), QLatin1String("fatanh")}, + {('f'), QLatin1String("facosh")}, + {('f'), QLatin1String("fasinh")}, + {('f'), QLatin1String("ftanh")}, + {('f'), QLatin1String("fcosh")}, + {('f'), QLatin1String("fsinh")}, + {('f'), QLatin1String("ftan")}, + {('f'), QLatin1String("fsqrt")}, + {('f'), QLatin1String("fsincos")}, + {('f'), QLatin1String("fsin")}, + {('f'), QLatin1String("falog")}, + {('f'), QLatin1String("flog")}, + {('f'), QLatin1String("flnp1")}, + {('f'), QLatin1String("fln")}, + {('f'), QLatin1String("fexpm1")}, + {('f'), QLatin1String("fexp")}, + {('f'), QLatin1String("fcos")}, + {('f'), QLatin1String("fatan2")}, + {('f'), QLatin1String("fatan")}, + {('f'), QLatin1String("fasin")}, + {('f'), QLatin1String("facos")}, + {('f'), QLatin1String("fabs")}, + {('>'), QLatin1String(">float")}, + {('r'), QLatin1String("represent")}, + {('f'), QLatin1String("fmin")}, + {('f'), QLatin1String("fmax")}, + {('f'), QLatin1String("fround")}, + {('f'), QLatin1String("floor")}, + {('f'), QLatin1String("floats")}, + {('f'), QLatin1String("float+")}, + {('f'), QLatin1String("ftuck")}, + {('f'), QLatin1String("fnip")}, + {('f'), QLatin1String("frot")}, + {('f'), QLatin1String("fover")}, + {('f'), QLatin1String("fswap")}, + {('f'), QLatin1String("fdup")}, + {('f'), QLatin1String("fdrop")}, + {('f'), QLatin1String("fnegate")}, + {('f'), QLatin1String("f**2")}, + {('f'), QLatin1String("fm*/")}, + {('f'), QLatin1String("fm/")}, + {('f'), QLatin1String("fm*")}, + {('f'), QLatin1String("f**")}, + {('f'), QLatin1String("f/")}, + {('f'), QLatin1String("f*")}, + {('f'), QLatin1String("f-")}, + {('f'), QLatin1String("f+")}, + {('s'), QLatin1String("sf!")}, + {('s'), QLatin1String("sf@")}, + {('d'), QLatin1String("df!")}, + {('d'), QLatin1String("df@")}, + {('f'), QLatin1String("f@")}, + {('f'), QLatin1String("f!")}, + {('f'), QLatin1String("f>s")}, + {('f'), QLatin1String("f>d")}, + {('d'), QLatin1String("d>f")}, + {('s'), QLatin1String("s>f")}, + {('f'), QLatin1String("f0>=")}, + {('f'), QLatin1String("f0<=")}, + {('f'), QLatin1String("f0>")}, + {('f'), QLatin1String("f0<")}, + {('f'), QLatin1String("f0<>")}, + {('f'), QLatin1String("f0=")}, + {('f'), QLatin1String("f>=")}, + {('f'), QLatin1String("f<=")}, + {('f'), QLatin1String("f>")}, + {('f'), QLatin1String("f<")}, + {('f'), QLatin1String("f<>")}, + {('f'), QLatin1String("f=")}, + {('c'), QLatin1String("cputime")}, + {('u'), QLatin1String("utime")}, + {('n'), QLatin1String("newline")}, + {('='), QLatin1String("=mkdir")}, + {('g'), QLatin1String("get-dir")}, + {('s'), QLatin1String("set-dir")}, + {('f'), QLatin1String("filename-match")}, + {('c'), QLatin1String("close-dir")}, + {('r'), QLatin1String("read-dir")}, + {('o'), QLatin1String("open-dir")}, + {('f'), QLatin1String("file-eof?")}, + {('f'), QLatin1String("file-status")}, + {('f'), QLatin1String("flush-file")}, + {('e'), QLatin1String("emit-file")}, + {('w'), QLatin1String("write-file")}, + {('('), QLatin1String("(read-line)")}, + {('r'), QLatin1String("read-file")}, + {('r'), QLatin1String("resize-file")}, + {('f'), QLatin1String("file-size")}, + {('r'), QLatin1String("reposition-file")}, + {('f'), QLatin1String("file-position")}, + {('r'), QLatin1String("rename-file")}, + {('d'), QLatin1String("delete-file")}, + {('c'), QLatin1String("create-file")}, + {('o'), QLatin1String("open-file")}, + {('c'), QLatin1String("close-file")}, + {('c'), QLatin1String("call-c")}, + {('s'), QLatin1String("strsignal")}, + {('s'), QLatin1String("strerror")}, + {('r'), QLatin1String("resize")}, + {('f'), QLatin1String("free")}, + {('a'), QLatin1String("allocate")}, + {('m'), QLatin1String("ms")}, + {('t'), QLatin1String("time&date")}, + {('c'), QLatin1String("close-pipe")}, + {('o'), QLatin1String("open-pipe")}, + {('g'), QLatin1String("getenv")}, + {('('), QLatin1String("(system)")}, + {('('), QLatin1String("(bye)")}, + {('f'), QLatin1String("flush-icache")}, + {('w'), QLatin1String("wcwidth")}, + {('f'), QLatin1String("form")}, + {('s'), QLatin1String("stderr")}, + {('s'), QLatin1String("stdout")}, + {('s'), QLatin1String("stdin")}, + {('k'), QLatin1String("key?-file")}, + {('k'), QLatin1String("key-file")}, + {('t'), QLatin1String("threading-method")}, + {('f'), QLatin1String("faligned")}, + {('a'), QLatin1String("aligned")}, + {('('), QLatin1String("(parse-white)")}, + {('('), QLatin1String("(hashkey1)")}, + {('('), QLatin1String("(tablelfind)")}, + {('('), QLatin1String("(hashlfind)")}, + {('('), QLatin1String("(listlfind)")}, + {('c'), QLatin1String("count")}, + {('('), QLatin1String("(chars)")}, + {('c'), QLatin1String("char+")}, + {('c'), QLatin1String("cells")}, + {('c'), QLatin1String("cell+")}, + {('2'), QLatin1String("2@")}, + {('2'), QLatin1String("2!")}, + {('c'), QLatin1String("c!")}, + {('c'), QLatin1String("c@")}, + {('+'), QLatin1String("+!")}, + {('!'), QLatin1String("!")}, + {('l'), QLatin1String("lit@")}, + {('@'), QLatin1String("@")}, + {('2'), QLatin1String("2tuck")}, + {('2'), QLatin1String("2nip")}, + {('2'), QLatin1String("2rot")}, + {('2'), QLatin1String("2swap")}, + {('2'), QLatin1String("2over")}, + {('2'), QLatin1String("2dup")}, + {('2'), QLatin1String("2drop")}, + {('p'), QLatin1String("pick")}, + {('?'), QLatin1String("?dup")}, + {('t'), QLatin1String("tuck")}, + {('n'), QLatin1String("nip")}, + {('-'), QLatin1String("-rot")}, + {('r'), QLatin1String("rot")}, + {('d'), QLatin1String("dup")}, + {('s'), QLatin1String("swap")}, + {('d'), QLatin1String("drop")}, + {('o'), QLatin1String("over")}, + {('2'), QLatin1String("2rdrop")}, + {('2'), QLatin1String("2r@")}, + {('2'), QLatin1String("2r>")}, + {('2'), QLatin1String("2>r")}, + {('r'), QLatin1String("rdrop")}, + {('r'), QLatin1String("r>")}, + {('>'), QLatin1String(">r")}, + {('f'), QLatin1String("fp!")}, + {('f'), QLatin1String("fp@")}, + {('r'), QLatin1String("rp!")}, + {('r'), QLatin1String("rp@")}, + {('s'), QLatin1String("sp!")}, + {('s'), QLatin1String("sp@")}, + {('u'), QLatin1String("up!")}, + {('u'), QLatin1String("useraddr")}, + {('w'), QLatin1String("within")}, + {('d'), QLatin1String("du>=")}, + {('d'), QLatin1String("du<=")}, + {('d'), QLatin1String("du>")}, + {('d'), QLatin1String("du<")}, + {('d'), QLatin1String("du<>")}, + {('d'), QLatin1String("du=")}, + {('d'), QLatin1String("d0>=")}, + {('d'), QLatin1String("d0<=")}, + {('d'), QLatin1String("d0>")}, + {('d'), QLatin1String("d0<")}, + {('d'), QLatin1String("d0<>")}, + {('d'), QLatin1String("d0=")}, + {('d'), QLatin1String("d>=")}, + {('d'), QLatin1String("d<=")}, + {('d'), QLatin1String("d>")}, + {('d'), QLatin1String("d<")}, + {('d'), QLatin1String("d<>")}, + {('d'), QLatin1String("d=")}, + {('u'), QLatin1String("u>=")}, + {('u'), QLatin1String("u<=")}, + {('u'), QLatin1String("u>")}, + {('u'), QLatin1String("u<")}, + {('u'), QLatin1String("u<>")}, + {('u'), QLatin1String("u=")}, + {('>'), QLatin1String(">=")}, + {('<'), QLatin1String("<=")}, + {('>'), QLatin1String(">")}, + {('<'), QLatin1String("<")}, + {('<'), QLatin1String("<>")}, + {('='), QLatin1String("=")}, + {('0'), QLatin1String("0>=")}, + {('0'), QLatin1String("0<=")}, + {('0'), QLatin1String("0>")}, + {('0'), QLatin1String("0<")}, + {('0'), QLatin1String("0<>")}, + {('0'), QLatin1String("0=")}, + {('l'), QLatin1String("lshift")}, + {('r'), QLatin1String("rshift")}, + {('i'), QLatin1String("invert")}, + {('x'), QLatin1String("xor")}, + {('o'), QLatin1String("or")}, + {('a'), QLatin1String("and")}, + {('d'), QLatin1String("d2/")}, + {('d'), QLatin1String("d2*")}, + {('d'), QLatin1String("dnegate")}, + {('d'), QLatin1String("d-")}, + {('d'), QLatin1String("d+")}, + {('m'), QLatin1String("m+")}, + {('u'), QLatin1String("um/mod")}, + {('u'), QLatin1String("um*")}, + {('m'), QLatin1String("m*")}, + {('s'), QLatin1String("sm/rem")}, + {('f'), QLatin1String("fm/mod")}, + {('2'), QLatin1String("2/")}, + {('2'), QLatin1String("2*")}, + {('*'), QLatin1String("*/")}, + {('*'), QLatin1String("*/mod")}, + {('/'), QLatin1String("/mod")}, + {('m'), QLatin1String("mod")}, + {('/'), QLatin1String("/")}, + {('*'), QLatin1String("*")}, + {('a'), QLatin1String("abs")}, + {('m'), QLatin1String("min")}, + {('m'), QLatin1String("max")}, + {('1'), QLatin1String("1-")}, + {('1'), QLatin1String("1+")}, + {('n'), QLatin1String("negate")}, + {('-'), QLatin1String("-")}, + {('u'), QLatin1String("under+")}, + {('l'), QLatin1String("lit+")}, + {('+'), QLatin1String("+")}, + {('l'), QLatin1String("lit")}, + {('/'), QLatin1String("/string")}, + {('c'), QLatin1String("capscompare")}, + {('t'), QLatin1String("toupper")}, + {('c'), QLatin1String("compare")}, + {('f'), QLatin1String("fill")}, + {('c'), QLatin1String("cmove>")}, + {('c'), QLatin1String("cmove")}, + {('m'), QLatin1String("move")}, + {('k'), QLatin1String("k")}, + {('j'), QLatin1String("j")}, + {('i'), QLatin1String("i'")}, + {('i'), QLatin1String("i")}, + {('('), QLatin1String("(u-do)")}, + {('('), QLatin1String("(-do)")}, + {('('), QLatin1String("(u+do)")}, + {('('), QLatin1String("(+do)")}, + {('('), QLatin1String("(?do)")}, + {('('), QLatin1String("(do)")}, + {('('), QLatin1String("(for)")}, + {('('), QLatin1String("(s+loop)-lp+!#")}, + {('('), QLatin1String("(s+loop)")}, + {('('), QLatin1String("(-loop)-lp+!#")}, + {('('), QLatin1String("(-loop)")}, + {('('), QLatin1String("(+loop)-lp+!#")}, + {('('), QLatin1String("(+loop)")}, + {('('), QLatin1String("(loop)-lp+!#")}, + {('('), QLatin1String("(loop)")}, + {('('), QLatin1String("(next)-lp+!#")}, + {('('), QLatin1String("(next)")}, + {('?'), QLatin1String("?dup-0=-?branch")}, + {('?'), QLatin1String("?dup-?branch")}, + {('?'), QLatin1String("?branch-lp+!#")}, + {('?'), QLatin1String("?branch")}, + {('b'), QLatin1String("branch")}, + {('b'), QLatin1String("branch-lp+!#")}, + {('d'), QLatin1String("does-exec")}, + {('l'), QLatin1String("lit-perform")}, + {('u'), QLatin1String("unloop")}, + {(';'), QLatin1String(";s")}, + {('p'), QLatin1String("perform")}, + {('e'), QLatin1String("execute")}, + {('c'), QLatin1String("call")}, + {('n'), QLatin1String("noop")}, + }; + + forth_types = {}; + + forth_literals = {}; + + forth_builtin = {}; + + forth_other = {}; +} +void loadForthData(QMultiHash &types, + QMultiHash &keywords, + QMultiHash &builtin, + QMultiHash &literals, + QMultiHash &other) { + if (!forthDataInitialized) { + initForthData(); + forthDataInitialized = true; + } + types = forth_types; + keywords = forth_keywords; + builtin = forth_builtin; + literals = forth_literals; + other = forth_other; +} diff --git a/qownlanguagedata.h b/qownlanguagedata.h index 891a4ec..db5496a 100644 --- a/qownlanguagedata.h +++ b/qownlanguagedata.h @@ -224,5 +224,12 @@ void loadMakeData(QMultiHash &types, QMultiHash &builtin, QMultiHash &literals, QMultiHash &other); - +/********************************************************/ +/*** Forth DATA **************************************/ +/********************************************************/ +void loadForthData(QMultiHash &types, + QMultiHash &keywords, + QMultiHash &builtin, + QMultiHash &literals, + QMultiHash &other); #endif