1 |
- {"ast":null,"code":"/*\nLanguage: TP\nAuthor: Jay Strybis <jay.strybis@gmail.com>\nDescription: FANUC TP programming language (TPP).\nCategory: hardware\n*/\n\nfunction tp(hljs) {\n const TPID = {\n className: 'number',\n begin: '[1-9][0-9]*',\n /* no leading zeros */\n relevance: 0\n };\n const TPLABEL = {\n className: 'symbol',\n begin: ':[^\\\\]]+'\n };\n const TPDATA = {\n className: 'built_in',\n begin: '(AR|P|PAYLOAD|PR|R|SR|RSR|LBL|VR|UALM|MESSAGE|UTOOL|UFRAME|TIMER|' + 'TIMER_OVERFLOW|JOINT_MAX_SPEED|RESUME_PROG|DIAG_REC)\\\\[',\n end: '\\\\]',\n contains: ['self', TPID, TPLABEL]\n };\n const TPIO = {\n className: 'built_in',\n begin: '(AI|AO|DI|DO|F|RI|RO|UI|UO|GI|GO|SI|SO)\\\\[',\n end: '\\\\]',\n contains: ['self', TPID, hljs.QUOTE_STRING_MODE, /* for pos section at bottom */\n TPLABEL]\n };\n const KEYWORDS = [\"ABORT\", \"ACC\", \"ADJUST\", \"AND\", \"AP_LD\", \"BREAK\", \"CALL\", \"CNT\", \"COL\", \"CONDITION\", \"CONFIG\", \"DA\", \"DB\", \"DIV\", \"DETECT\", \"ELSE\", \"END\", \"ENDFOR\", \"ERR_NUM\", \"ERROR_PROG\", \"FINE\", \"FOR\", \"GP\", \"GUARD\", \"INC\", \"IF\", \"JMP\", \"LINEAR_MAX_SPEED\", \"LOCK\", \"MOD\", \"MONITOR\", \"OFFSET\", \"Offset\", \"OR\", \"OVERRIDE\", \"PAUSE\", \"PREG\", \"PTH\", \"RT_LD\", \"RUN\", \"SELECT\", \"SKIP\", \"Skip\", \"TA\", \"TB\", \"TO\", \"TOOL_OFFSET\", \"Tool_Offset\", \"UF\", \"UT\", \"UFRAME_NUM\", \"UTOOL_NUM\", \"UNLOCK\", \"WAIT\", \"X\", \"Y\", \"Z\", \"W\", \"P\", \"R\", \"STRLEN\", \"SUBSTR\", \"FINDSTR\", \"VOFFSET\", \"PROG\", \"ATTR\", \"MN\", \"POS\"];\n const LITERALS = [\"ON\", \"OFF\", \"max_speed\", \"LPOS\", \"JPOS\", \"ENABLE\", \"DISABLE\", \"START\", \"STOP\", \"RESET\"];\n return {\n name: 'TP',\n keywords: {\n keyword: KEYWORDS,\n literal: LITERALS\n },\n contains: [TPDATA, TPIO, {\n className: 'keyword',\n begin: '/(PROG|ATTR|MN|POS|END)\\\\b'\n }, {\n /* this is for cases like ,CALL */\n className: 'keyword',\n begin: '(CALL|RUN|POINT_LOGIC|LBL)\\\\b'\n }, {\n /* this is for cases like CNT100 where the default lexemes do not\n * separate the keyword and the number */\n className: 'keyword',\n begin: '\\\\b(ACC|CNT|Skip|Offset|PSPD|RT_LD|AP_LD|Tool_Offset)'\n }, {\n /* to catch numbers that do not have a word boundary on the left */\n className: 'number',\n begin: '\\\\d+(sec|msec|mm/sec|cm/min|inch/min|deg/sec|mm|in|cm)?\\\\b',\n relevance: 0\n }, hljs.COMMENT('//', '[;$]'), hljs.COMMENT('!', '[;$]'), hljs.COMMENT('--eg:', '$'), hljs.QUOTE_STRING_MODE, {\n className: 'string',\n begin: '\\'',\n end: '\\''\n }, hljs.C_NUMBER_MODE, {\n className: 'variable',\n begin: '\\\\$[A-Za-z0-9_]+'\n }]\n };\n}\nmodule.exports = tp;","map":{"version":3,"names":["tp","hljs","TPID","className","begin","relevance","TPLABEL","TPDATA","end","contains","TPIO","QUOTE_STRING_MODE","KEYWORDS","LITERALS","name","keywords","keyword","literal","COMMENT","C_NUMBER_MODE","module","exports"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/highlight.js/lib/languages/tp.js"],"sourcesContent":["/*\nLanguage: TP\nAuthor: Jay Strybis <jay.strybis@gmail.com>\nDescription: FANUC TP programming language (TPP).\nCategory: hardware\n*/\n\nfunction tp(hljs) {\n const TPID = {\n className: 'number',\n begin: '[1-9][0-9]*', /* no leading zeros */\n relevance: 0\n };\n const TPLABEL = {\n className: 'symbol',\n begin: ':[^\\\\]]+'\n };\n const TPDATA = {\n className: 'built_in',\n begin: '(AR|P|PAYLOAD|PR|R|SR|RSR|LBL|VR|UALM|MESSAGE|UTOOL|UFRAME|TIMER|'\n + 'TIMER_OVERFLOW|JOINT_MAX_SPEED|RESUME_PROG|DIAG_REC)\\\\[',\n end: '\\\\]',\n contains: [\n 'self',\n TPID,\n TPLABEL\n ]\n };\n const TPIO = {\n className: 'built_in',\n begin: '(AI|AO|DI|DO|F|RI|RO|UI|UO|GI|GO|SI|SO)\\\\[',\n end: '\\\\]',\n contains: [\n 'self',\n TPID,\n hljs.QUOTE_STRING_MODE, /* for pos section at bottom */\n TPLABEL\n ]\n };\n\n const KEYWORDS = [\n \"ABORT\",\n \"ACC\",\n \"ADJUST\",\n \"AND\",\n \"AP_LD\",\n \"BREAK\",\n \"CALL\",\n \"CNT\",\n \"COL\",\n \"CONDITION\",\n \"CONFIG\",\n \"DA\",\n \"DB\",\n \"DIV\",\n \"DETECT\",\n \"ELSE\",\n \"END\",\n \"ENDFOR\",\n \"ERR_NUM\",\n \"ERROR_PROG\",\n \"FINE\",\n \"FOR\",\n \"GP\",\n \"GUARD\",\n \"INC\",\n \"IF\",\n \"JMP\",\n \"LINEAR_MAX_SPEED\",\n \"LOCK\",\n \"MOD\",\n \"MONITOR\",\n \"OFFSET\",\n \"Offset\",\n \"OR\",\n \"OVERRIDE\",\n \"PAUSE\",\n \"PREG\",\n \"PTH\",\n \"RT_LD\",\n \"RUN\",\n \"SELECT\",\n \"SKIP\",\n \"Skip\",\n \"TA\",\n \"TB\",\n \"TO\",\n \"TOOL_OFFSET\",\n \"Tool_Offset\",\n \"UF\",\n \"UT\",\n \"UFRAME_NUM\",\n \"UTOOL_NUM\",\n \"UNLOCK\",\n \"WAIT\",\n \"X\",\n \"Y\",\n \"Z\",\n \"W\",\n \"P\",\n \"R\",\n \"STRLEN\",\n \"SUBSTR\",\n \"FINDSTR\",\n \"VOFFSET\",\n \"PROG\",\n \"ATTR\",\n \"MN\",\n \"POS\"\n ];\n const LITERALS = [\n \"ON\",\n \"OFF\",\n \"max_speed\",\n \"LPOS\",\n \"JPOS\",\n \"ENABLE\",\n \"DISABLE\",\n \"START\",\n \"STOP\",\n \"RESET\"\n ];\n\n return {\n name: 'TP',\n keywords: {\n keyword: KEYWORDS,\n literal: LITERALS\n },\n contains: [\n TPDATA,\n TPIO,\n {\n className: 'keyword',\n begin: '/(PROG|ATTR|MN|POS|END)\\\\b'\n },\n {\n /* this is for cases like ,CALL */\n className: 'keyword',\n begin: '(CALL|RUN|POINT_LOGIC|LBL)\\\\b'\n },\n {\n /* this is for cases like CNT100 where the default lexemes do not\n * separate the keyword and the number */\n className: 'keyword',\n begin: '\\\\b(ACC|CNT|Skip|Offset|PSPD|RT_LD|AP_LD|Tool_Offset)'\n },\n {\n /* to catch numbers that do not have a word boundary on the left */\n className: 'number',\n begin: '\\\\d+(sec|msec|mm/sec|cm/min|inch/min|deg/sec|mm|in|cm)?\\\\b',\n relevance: 0\n },\n hljs.COMMENT('//', '[;$]'),\n hljs.COMMENT('!', '[;$]'),\n hljs.COMMENT('--eg:', '$'),\n hljs.QUOTE_STRING_MODE,\n {\n className: 'string',\n begin: '\\'',\n end: '\\''\n },\n hljs.C_NUMBER_MODE,\n {\n className: 'variable',\n begin: '\\\\$[A-Za-z0-9_]+'\n }\n ]\n };\n}\n\nmodule.exports = tp;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]}
|