Added support for PureBasic (#2369)
A language based on Basic (BlitzBasic to be precise) with inline assembler also and direct API calls. Can compile on Windows, Linux, and macOS
This commit is contained in:
parent
0d65d6c9b7
commit
d0c1c70d21
File diff suppressed because one or more lines are too long
|
@ -848,6 +848,12 @@
|
|||
],
|
||||
"owner": "Golmote"
|
||||
},
|
||||
"purebasic": {
|
||||
"title": "PureBasic",
|
||||
"require": "clike",
|
||||
"alias": "pbfasm",
|
||||
"owner": "HeX0R101"
|
||||
},
|
||||
"python": {
|
||||
"title": "Python",
|
||||
"alias": "py",
|
||||
|
|
|
@ -0,0 +1,70 @@
|
|||
/*
|
||||
Original Code by Bas Groothedde
|
||||
!!MANY THANKS!! I never would have made this, regex and me will never be best friends ;)
|
||||
==> https://codepen.io/ImagineProgramming/details/JYydBy/
|
||||
slightly changed to pass all tests
|
||||
*/
|
||||
|
||||
|
||||
// PureBasic support, steal stuff from ansi-c
|
||||
Prism.languages.purebasic = Prism.languages.extend('clike', {
|
||||
'comment': /;.*/,
|
||||
'keyword': /\b(?:declarecdll|declaredll|compilerselect|compilercase|compilerdefault|compilerendselect|compilererror|enableexplicit|disableexplicit|not|and|or|xor|calldebugger|debuglevel|enabledebugger|disabledebugger|restore|read|includepath|includebinary|threaded|runtime|with|endwith|structureunion|endstructureunion|align|newlist|newmap|interface|endinterface|extends|enumeration|endenumeration|swap|foreach|continue|fakereturn|goto|gosub|return|break|module|endmodule|declaremodule|enddeclaremodule|declare|declarec|prototype|prototypec|enableasm|disableasm|dim|redim|data|datasection|enddatasection|to|procedurereturn|debug|default|case|select|endselect|as|import|endimport|importc|compilerif|compilerelse|compilerendif|compilerelseif|end|structure|endstructure|while|wend|for|next|step|if|else|elseif|endif|repeat|until|procedure|proceduredll|procedurec|procedurecdll|endprocedure|protected|shared|static|global|define|includefile|xincludefile|macro|endmacro)\b/i,
|
||||
'function': /\b\w+(?:\.\w+)?\s*(?=\()/,
|
||||
'number': /(?:\$[\da-f]+|\b-?\d*\.?\d+(?:e[+-]?\d+)?)\b/i,
|
||||
'operator': /(?:@\*?|\?|\*)\w+|-[>-]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|?\||[~^%?*/@]/
|
||||
});
|
||||
|
||||
Prism.languages.insertBefore('purebasic', 'keyword', {
|
||||
'tag': /#\w+/,
|
||||
'asm': {
|
||||
pattern: /(^\s*)!.*/m,
|
||||
lookbehind: true,
|
||||
alias: 'tag',
|
||||
inside: {
|
||||
'comment': /;.*/,
|
||||
'string': {
|
||||
pattern: /(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/,
|
||||
greedy: true
|
||||
},
|
||||
// Anonymous label references, i.e.: jmp @b
|
||||
'label-reference-anonymous': {
|
||||
pattern: /(\s*!\s*j[a-z]+\s+)@[fb]/i,
|
||||
lookbehind: true,
|
||||
alias: 'fasm-label'
|
||||
},
|
||||
// Named label reference, i.e.: jne label1
|
||||
'label-reference-addressed': {
|
||||
pattern: /(\s*!\s*j[a-z]+\s+)[A-Z._?$@][\w.?$@~#]*/i,
|
||||
lookbehind: true,
|
||||
alias: 'fasm-label'
|
||||
},
|
||||
'function': {
|
||||
pattern: /^(\s*!\s*)[\da-z]+(?=\s|$)/im,
|
||||
lookbehind: true
|
||||
},
|
||||
'function-inline': {
|
||||
pattern: /(\s*:\s*)[\da-z]+(?=\s)/i,
|
||||
lookbehind: true,
|
||||
alias: 'function'
|
||||
},
|
||||
'label': {
|
||||
pattern: /^(\s*!\s*)[A-Za-z._?$@][\w.?$@~#]*(?=:)/m,
|
||||
lookbehind: true,
|
||||
alias: 'fasm-label'
|
||||
},
|
||||
'keyword': [
|
||||
/(?:extern|extern|global)[^;\r\n]*/i,
|
||||
/(?:CPU|FLOAT|DEFAULT).*/
|
||||
],
|
||||
'register': /\b(?:st\d|[xyz]mm\d\d?|[cdt]r\d|r\d\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(?:bp|sp|si|di)|[cdefgs]s|mm\d+)\b/i,
|
||||
'number': /(?:\b|-|(?=\$))(?:0[hx][\da-f]*\.?[\da-f]+(?:p[+-]?\d+)?|\d[\da-f]+[hx]|\$\d[\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\d+|\d*\.?\d+(?:\.?e[+-]?\d+)?[dt]?)\b/i,
|
||||
'operator': /[\[\]*+\-/%<>=&|$!,.:]/
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
delete Prism.languages.purebasic['class-name'];
|
||||
delete Prism.languages.purebasic['boolean'];
|
||||
|
||||
Prism.languages.pbfasm = Prism.languages['purebasic'];
|
|
@ -0,0 +1 @@
|
|||
Prism.languages.purebasic=Prism.languages.extend("clike",{comment:/;.*/,keyword:/\b(?:declarecdll|declaredll|compilerselect|compilercase|compilerdefault|compilerendselect|compilererror|enableexplicit|disableexplicit|not|and|or|xor|calldebugger|debuglevel|enabledebugger|disabledebugger|restore|read|includepath|includebinary|threaded|runtime|with|endwith|structureunion|endstructureunion|align|newlist|newmap|interface|endinterface|extends|enumeration|endenumeration|swap|foreach|continue|fakereturn|goto|gosub|return|break|module|endmodule|declaremodule|enddeclaremodule|declare|declarec|prototype|prototypec|enableasm|disableasm|dim|redim|data|datasection|enddatasection|to|procedurereturn|debug|default|case|select|endselect|as|import|endimport|importc|compilerif|compilerelse|compilerendif|compilerelseif|end|structure|endstructure|while|wend|for|next|step|if|else|elseif|endif|repeat|until|procedure|proceduredll|procedurec|procedurecdll|endprocedure|protected|shared|static|global|define|includefile|xincludefile|macro|endmacro)\b/i,function:/\b\w+(?:\.\w+)?\s*(?=\()/,number:/(?:\$[\da-f]+|\b-?\d*\.?\d+(?:e[+-]?\d+)?)\b/i,operator:/(?:@\*?|\?|\*)\w+|-[>-]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|?\||[~^%?*/@]/}),Prism.languages.insertBefore("purebasic","keyword",{tag:/#\w+/,asm:{pattern:/(^\s*)!.*/m,lookbehind:!0,alias:"tag",inside:{comment:/;.*/,string:{pattern:/(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},"label-reference-anonymous":{pattern:/(\s*!\s*j[a-z]+\s+)@[fb]/i,lookbehind:!0,alias:"fasm-label"},"label-reference-addressed":{pattern:/(\s*!\s*j[a-z]+\s+)[A-Z._?$@][\w.?$@~#]*/i,lookbehind:!0,alias:"fasm-label"},function:{pattern:/^(\s*!\s*)[\da-z]+(?=\s|$)/im,lookbehind:!0},"function-inline":{pattern:/(\s*:\s*)[\da-z]+(?=\s)/i,lookbehind:!0,alias:"function"},label:{pattern:/^(\s*!\s*)[A-Za-z._?$@][\w.?$@~#]*(?=:)/m,lookbehind:!0,alias:"fasm-label"},keyword:[/(?:extern|extern|global)[^;\r\n]*/i,/(?:CPU|FLOAT|DEFAULT).*/],register:/\b(?:st\d|[xyz]mm\d\d?|[cdt]r\d|r\d\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(?:bp|sp|si|di)|[cdefgs]s|mm\d+)\b/i,number:/(?:\b|-|(?=\$))(?:0[hx][\da-f]*\.?[\da-f]+(?:p[+-]?\d+)?|\d[\da-f]+[hx]|\$\d[\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\d+|\d*\.?\d+(?:\.?e[+-]?\d+)?[dt]?)\b/i,operator:/[\[\]*+\-/%<>=&|$!,.:]/}}}),delete Prism.languages.purebasic["class-name"],delete Prism.languages.purebasic.boolean,Prism.languages.pbfasm=Prism.languages.purebasic;
|
|
@ -0,0 +1,30 @@
|
|||
<p>Note: PureBasic Examples.</p>
|
||||
|
||||
<h2>Comments</h2>
|
||||
<pre><code>; This is a comment</code></pre>
|
||||
|
||||
<h2>Strings</h2>
|
||||
<pre><code>"This a string."</code></pre>
|
||||
|
||||
<h2>Numbers</h2>
|
||||
<pre><code>42
|
||||
3.14159
|
||||
-42
|
||||
-3.14159
|
||||
.5
|
||||
10.
|
||||
2E10
|
||||
4.2E-14
|
||||
-3E+2</code></pre>
|
||||
|
||||
<h2>PureBasic example</h2>
|
||||
<pre><code>Procedure.s Test(s.s)
|
||||
Protected a$, b$, Result.s
|
||||
|
||||
Result = Mid(s, 1, 3)
|
||||
|
||||
ProcedureReturn Result
|
||||
EndProcedure
|
||||
|
||||
Test()
|
||||
End</code></pre>
|
|
@ -96,6 +96,7 @@
|
|||
"markup",
|
||||
"javascript"
|
||||
],
|
||||
"purebasic": "clike",
|
||||
"qml": "javascript",
|
||||
"qore": "clike",
|
||||
"racket": "scheme",
|
||||
|
@ -182,6 +183,7 @@
|
|||
"pcode": "peoplecode",
|
||||
"pq": "powerquery",
|
||||
"mscript": "powerquery",
|
||||
"pbfasm": "purebasic",
|
||||
"py": "python",
|
||||
"rkt": "racket",
|
||||
"robot": "robotframework",
|
||||
|
|
|
@ -1 +1 @@
|
|||
!function(){if("undefined"!=typeof self&&self.Prism&&self.document&&document.createElement){var c={javascript:"clike",actionscript:"javascript",arduino:"cpp",aspnet:["markup","csharp"],bison:"c",c:"clike",csharp:"clike",cpp:"c",coffeescript:"javascript",crystal:"ruby","css-extras":"css",d:"clike",dart:"clike",django:"markup-templating",ejs:["javascript","markup-templating"],etlua:["lua","markup-templating"],erb:["ruby","markup-templating"],fsharp:"clike","firestore-security-rules":"clike",flow:"javascript",ftl:"markup-templating",glsl:"c",gml:"clike",go:"clike",groovy:"clike",haml:"ruby",handlebars:"markup-templating",haxe:"clike",hlsl:"c",java:"clike",javadoc:["markup","java","javadoclike"],jolie:"clike",jsdoc:["javascript","javadoclike"],"js-extras":"javascript","js-templates":"javascript",jsonp:"json",json5:"json",kotlin:"clike",latte:["clike","markup-templating","php"],less:"css",lilypond:"scheme",markdown:"markup","markup-templating":"markup",n4js:"javascript",nginx:"clike",objectivec:"c",opencl:"c",parser:"markup",php:["clike","markup-templating"],phpdoc:["php","javadoclike"],"php-extras":"php",plsql:"sql",processing:"clike",protobuf:"clike",pug:["markup","javascript"],qml:"javascript",qore:"clike",racket:"scheme",jsx:["markup","javascript"],tsx:["jsx","typescript"],reason:"clike",ruby:"clike",sass:"css",scss:"css",scala:"java","shell-session":"bash",smarty:"markup-templating",solidity:"clike",soy:"markup-templating",sparql:"turtle",sqf:"clike",swift:"clike",tap:"yaml",textile:"markup",tt2:["clike","markup-templating"],twig:"markup",typescript:"javascript","t4-cs":["t4-templating","csharp"],"t4-vb":["t4-templating","visual-basic"],vala:"clike",vbnet:"basic",velocity:"markup",wiki:"markup",xeora:"markup",xquery:"markup"},l={html:"markup",xml:"markup",svg:"markup",mathml:"markup",ssml:"markup",js:"javascript",g4:"antlr4",adoc:"asciidoc",shell:"bash",shortcode:"bbcode",rbnf:"bnf",conc:"concurnas",cs:"csharp",dotnet:"csharp",coffee:"coffeescript",jinja2:"django","dns-zone":"dns-zone-file",dockerfile:"docker",eta:"ejs",xlsx:"excel-formula",xls:"excel-formula",gamemakerlanguage:"gml",hs:"haskell",tex:"latex",context:"latex",ly:"lilypond",emacs:"lisp",elisp:"lisp","emacs-lisp":"lisp",md:"markdown",moon:"moonscript",n4jsd:"n4js",objc:"objectivec",objectpascal:"pascal",px:"pcaxis",pcode:"peoplecode",pq:"powerquery",mscript:"powerquery",py:"python",rkt:"racket",robot:"robotframework",rb:"ruby",sln:"solution-file",rq:"sparql",trig:"turtle",ts:"typescript",t4:"t4-cs",uscript:"unrealscript",uc:"unrealscript",vb:"visual-basic",xeoracube:"xeora",yml:"yaml"},n={},e="components/",a=Prism.util.currentScript();if(a){var t=/\bplugins\/autoloader\/prism-autoloader\.(?:min\.)js(?:\?[^\r\n/]*)?$/i,r=/(^|\/)[\w-]+\.(?:min\.)js(?:\?[^\r\n/]*)?$/i,s=a.getAttribute("data-autoloader-path");if(null!=s)e=s.trim().replace(/\/?$/,"/");else{var i=a.src;t.test(i)?e=i.replace(t,"components/"):r.test(i)&&(e=i.replace(r,"$1components/"))}}var p=Prism.plugins.autoloader={languages_path:e,use_minified:!0,loadLanguages:o};Prism.hooks.add("complete",function(e){e.element&&e.language&&!e.grammar&&"none"!==e.language&&function(e,a){e in l&&(e=l[e]);var t=(a.getAttribute("data-dependencies")||"").trim();if(!t){var r=a.parentElement;r&&"pre"===r.tagName.toLowerCase()&&(t=(r.getAttribute("data-dependencies")||"").trim())}o(t?t.split(/\s*,\s*/g):[],function(){m(e,function(){Prism.highlightElement(a)})})}(e.language,e.element)})}function o(e,a,t){"string"==typeof e&&(e=[e]);var r=e.length,s=0,i=!1;function c(){i||++s===r&&a&&a(e)}0!==r?e.forEach(function(e){m(e,c,function(){i||(i=!0,t&&t(e))})}):a&&setTimeout(a,0)}function m(a,t,r){var s=0<=a.indexOf("!");a=a.replace("!",""),a=l[a]||a;var e=function(){var e=n[a];if(e||(e=n[a]={callbacks:[]}),e.callbacks.push({success:t,error:r}),!s&&Prism.languages[a])u(a,"success");else if(!s&&e.error)u(a,"error");else if(s||!e.loading){e.loading=!0,function(e,a,t){var r=document.createElement("script");r.src=e,r.async=!0,r.onload=function(){document.body.removeChild(r),a&&a()},r.onerror=function(){document.body.removeChild(r),t&&t()},document.body.appendChild(r)}(function(e){return p.languages_path+"prism-"+e+(p.use_minified?".min":"")+".js"}(a),function(){e.loading=!1,u(a,"success")},function(){e.loading=!1,e.error=!0,u(a,"error")})}},i=c[a];i&&i.length?o(i,e,r):e()}function u(e,a){if(n[e]){for(var t=n[e].callbacks,r=0,s=t.length;r<s;r++){var i=t[r][a];i&&setTimeout(i,0)}t.length=0}}}();
|
||||
!function(){if("undefined"!=typeof self&&self.Prism&&self.document&&document.createElement){var c={javascript:"clike",actionscript:"javascript",arduino:"cpp",aspnet:["markup","csharp"],bison:"c",c:"clike",csharp:"clike",cpp:"c",coffeescript:"javascript",crystal:"ruby","css-extras":"css",d:"clike",dart:"clike",django:"markup-templating",ejs:["javascript","markup-templating"],etlua:["lua","markup-templating"],erb:["ruby","markup-templating"],fsharp:"clike","firestore-security-rules":"clike",flow:"javascript",ftl:"markup-templating",glsl:"c",gml:"clike",go:"clike",groovy:"clike",haml:"ruby",handlebars:"markup-templating",haxe:"clike",hlsl:"c",java:"clike",javadoc:["markup","java","javadoclike"],jolie:"clike",jsdoc:["javascript","javadoclike"],"js-extras":"javascript","js-templates":"javascript",jsonp:"json",json5:"json",kotlin:"clike",latte:["clike","markup-templating","php"],less:"css",lilypond:"scheme",markdown:"markup","markup-templating":"markup",n4js:"javascript",nginx:"clike",objectivec:"c",opencl:"c",parser:"markup",php:["clike","markup-templating"],phpdoc:["php","javadoclike"],"php-extras":"php",plsql:"sql",processing:"clike",protobuf:"clike",pug:["markup","javascript"],purebasic:"clike",qml:"javascript",qore:"clike",racket:"scheme",jsx:["markup","javascript"],tsx:["jsx","typescript"],reason:"clike",ruby:"clike",sass:"css",scss:"css",scala:"java","shell-session":"bash",smarty:"markup-templating",solidity:"clike",soy:"markup-templating",sparql:"turtle",sqf:"clike",swift:"clike",tap:"yaml",textile:"markup",tt2:["clike","markup-templating"],twig:"markup",typescript:"javascript","t4-cs":["t4-templating","csharp"],"t4-vb":["t4-templating","visual-basic"],vala:"clike",vbnet:"basic",velocity:"markup",wiki:"markup",xeora:"markup",xquery:"markup"},l={html:"markup",xml:"markup",svg:"markup",mathml:"markup",ssml:"markup",js:"javascript",g4:"antlr4",adoc:"asciidoc",shell:"bash",shortcode:"bbcode",rbnf:"bnf",conc:"concurnas",cs:"csharp",dotnet:"csharp",coffee:"coffeescript",jinja2:"django","dns-zone":"dns-zone-file",dockerfile:"docker",eta:"ejs",xlsx:"excel-formula",xls:"excel-formula",gamemakerlanguage:"gml",hs:"haskell",tex:"latex",context:"latex",ly:"lilypond",emacs:"lisp",elisp:"lisp","emacs-lisp":"lisp",md:"markdown",moon:"moonscript",n4jsd:"n4js",objc:"objectivec",objectpascal:"pascal",px:"pcaxis",pcode:"peoplecode",pq:"powerquery",mscript:"powerquery",pbfasm:"purebasic",py:"python",rkt:"racket",robot:"robotframework",rb:"ruby",sln:"solution-file",rq:"sparql",trig:"turtle",ts:"typescript",t4:"t4-cs",uscript:"unrealscript",uc:"unrealscript",vb:"visual-basic",xeoracube:"xeora",yml:"yaml"},n={},e="components/",a=Prism.util.currentScript();if(a){var t=/\bplugins\/autoloader\/prism-autoloader\.(?:min\.)js(?:\?[^\r\n/]*)?$/i,r=/(^|\/)[\w-]+\.(?:min\.)js(?:\?[^\r\n/]*)?$/i,s=a.getAttribute("data-autoloader-path");if(null!=s)e=s.trim().replace(/\/?$/,"/");else{var i=a.src;t.test(i)?e=i.replace(t,"components/"):r.test(i)&&(e=i.replace(r,"$1components/"))}}var p=Prism.plugins.autoloader={languages_path:e,use_minified:!0,loadLanguages:o};Prism.hooks.add("complete",function(e){e.element&&e.language&&!e.grammar&&"none"!==e.language&&function(e,a){e in l&&(e=l[e]);var t=(a.getAttribute("data-dependencies")||"").trim();if(!t){var r=a.parentElement;r&&"pre"===r.tagName.toLowerCase()&&(t=(r.getAttribute("data-dependencies")||"").trim())}o(t?t.split(/\s*,\s*/g):[],function(){u(e,function(){Prism.highlightElement(a)})})}(e.language,e.element)})}function o(e,a,t){"string"==typeof e&&(e=[e]);var r=e.length,s=0,i=!1;function c(){i||++s===r&&a&&a(e)}0!==r?e.forEach(function(e){u(e,c,function(){i||(i=!0,t&&t(e))})}):a&&setTimeout(a,0)}function u(a,t,r){var s=0<=a.indexOf("!");a=a.replace("!",""),a=l[a]||a;var e=function(){var e=n[a];if(e||(e=n[a]={callbacks:[]}),e.callbacks.push({success:t,error:r}),!s&&Prism.languages[a])m(a,"success");else if(!s&&e.error)m(a,"error");else if(s||!e.loading){e.loading=!0,function(e,a,t){var r=document.createElement("script");r.src=e,r.async=!0,r.onload=function(){document.body.removeChild(r),a&&a()},r.onerror=function(){document.body.removeChild(r),t&&t()},document.body.appendChild(r)}(function(e){return p.languages_path+"prism-"+e+(p.use_minified?".min":"")+".js"}(a),function(){e.loading=!1,m(a,"success")},function(){e.loading=!1,e.error=!0,m(a,"error")})}},i=c[a];i&&i.length?o(i,e,r):e()}function m(e,a){if(n[e]){for(var t=n[e].callbacks,r=0,s=t.length;r<s;r++){var i=t[r][a];i&&setTimeout(i,0)}t.length=0}}}();
|
|
@ -134,6 +134,8 @@
|
|||
"powershell": "PowerShell",
|
||||
"properties": ".properties",
|
||||
"protobuf": "Protocol Buffers",
|
||||
"purebasic": "PureBasic",
|
||||
"pbfasm": "PureBasic",
|
||||
"py": "Python",
|
||||
"q": "Q (kdb+ database)",
|
||||
"qml": "QML",
|
||||
|
|
|
@ -1 +1 @@
|
|||
!function(){if("undefined"!=typeof self&&self.Prism&&self.document)if(Prism.plugins.toolbar){var r={html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",css:"CSS",clike:"C-like",js:"JavaScript",abap:"ABAP",abnf:"Augmented Backus–Naur form",al:"AL",antlr4:"ANTLR4",g4:"ANTLR4",apacheconf:"Apache Configuration",apl:"APL",aql:"AQL",arff:"ARFF",asciidoc:"AsciiDoc",adoc:"AsciiDoc",asm6502:"6502 Assembly",aspnet:"ASP.NET (C#)",autohotkey:"AutoHotkey",autoit:"AutoIt",basic:"BASIC",bbcode:"BBcode",bnf:"Backus–Naur form",rbnf:"Routing Backus–Naur form",conc:"Concurnas",csharp:"C#",cs:"C#",dotnet:"C#",cpp:"C++",cil:"CIL",coffee:"CoffeeScript",cmake:"CMake",csp:"Content-Security-Policy","css-extras":"CSS Extras",dax:"DAX",django:"Django/Jinja2",jinja2:"Django/Jinja2","dns-zone-file":"DNS zone file","dns-zone":"DNS zone file",dockerfile:"Docker",ebnf:"Extended Backus–Naur form",ejs:"EJS",etlua:"Embedded Lua templating",erb:"ERB","excel-formula":"Excel Formula",xlsx:"Excel Formula",xls:"Excel Formula",fsharp:"F#","firestore-security-rules":"Firestore security rules",ftl:"FreeMarker Template Language",gcode:"G-code",gdscript:"GDScript",gedcom:"GEDCOM",glsl:"GLSL",gml:"GameMaker Language",gamemakerlanguage:"GameMaker Language",graphql:"GraphQL",hs:"Haskell",hcl:"HCL",hlsl:"HLSL",http:"HTTP",hpkp:"HTTP Public-Key-Pins",hsts:"HTTP Strict-Transport-Security",ichigojam:"IchigoJam",iecst:"Structured Text (IEC 61131-3)",inform7:"Inform 7",javadoc:"JavaDoc",javadoclike:"JavaDoc-like",javastacktrace:"Java stack trace",jq:"JQ",jsdoc:"JSDoc","js-extras":"JS Extras","js-templates":"JS Templates",json:"JSON",jsonp:"JSONP",json5:"JSON5",latex:"LaTeX",tex:"TeX",context:"ConTeXt",lilypond:"LilyPond",ly:"LilyPond",emacs:"Lisp",elisp:"Lisp","emacs-lisp":"Lisp",llvm:"LLVM IR",lolcode:"LOLCODE",md:"Markdown","markup-templating":"Markup templating",matlab:"MATLAB",mel:"MEL",moon:"MoonScript",n1ql:"N1QL",n4js:"N4JS",n4jsd:"N4JS","nand2tetris-hdl":"Nand To Tetris HDL",nasm:"NASM",neon:"NEON",nginx:"nginx",nsis:"NSIS",objectivec:"Objective-C",objc:"Objective-C",ocaml:"OCaml",opencl:"OpenCL",parigp:"PARI/GP",objectpascal:"Object Pascal",pcaxis:"PC-Axis",px:"PC-Axis",peoplecode:"PeopleCode",pcode:"PeopleCode",php:"PHP",phpdoc:"PHPDoc","php-extras":"PHP Extras",plsql:"PL/SQL",powerquery:"PowerQuery",pq:"PowerQuery",mscript:"PowerQuery",powershell:"PowerShell",properties:".properties",protobuf:"Protocol Buffers",py:"Python",q:"Q (kdb+ database)",qml:"QML",rkt:"Racket",jsx:"React JSX",tsx:"React TSX",renpy:"Ren'py",rest:"reST (reStructuredText)",robotframework:"Robot Framework",robot:"Robot Framework",rb:"Ruby",sas:"SAS",sass:"Sass (Sass)",scss:"Sass (Scss)","shell-session":"Shell session",solidity:"Solidity (Ethereum)","solution-file":"Solution file",sln:"Solution file",soy:"Soy (Closure Template)",sparql:"SPARQL",rq:"SPARQL","splunk-spl":"Splunk SPL",sqf:"SQF: Status Quo Function (Arma 3)",sql:"SQL",tap:"TAP",toml:"TOML",tt2:"Template Toolkit 2",trig:"TriG",ts:"TypeScript","t4-cs":"T4 Text Templates (C#)",t4:"T4 Text Templates (C#)","t4-vb":"T4 Text Templates (VB)","t4-templating":"T4 templating",uscript:"UnrealScript",uc:"UnrealScript",vbnet:"VB.Net",vhdl:"VHDL",vim:"vim","visual-basic":"Visual Basic",vb:"Visual Basic",wasm:"WebAssembly",wiki:"Wiki markup",xeoracube:"XeoraCube",xojo:"Xojo (REALbasic)",xquery:"XQuery",yaml:"YAML",yml:"YAML"};Prism.plugins.toolbar.registerButton("show-language",function(e){var a=e.element.parentNode;if(a&&/pre/i.test(a.nodeName)){var t,s=a.getAttribute("data-language")||r[e.language]||((t=e.language)?(t.substring(0,1).toUpperCase()+t.substring(1)).replace(/s(?=cript)/,"S"):t);if(s){var o=document.createElement("span");return o.textContent=s,o}}})}else console.warn("Show Languages plugin loaded before Toolbar plugin.")}();
|
||||
!function(){if("undefined"!=typeof self&&self.Prism&&self.document)if(Prism.plugins.toolbar){var r={html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",css:"CSS",clike:"C-like",js:"JavaScript",abap:"ABAP",abnf:"Augmented Backus–Naur form",al:"AL",antlr4:"ANTLR4",g4:"ANTLR4",apacheconf:"Apache Configuration",apl:"APL",aql:"AQL",arff:"ARFF",asciidoc:"AsciiDoc",adoc:"AsciiDoc",asm6502:"6502 Assembly",aspnet:"ASP.NET (C#)",autohotkey:"AutoHotkey",autoit:"AutoIt",basic:"BASIC",bbcode:"BBcode",bnf:"Backus–Naur form",rbnf:"Routing Backus–Naur form",conc:"Concurnas",csharp:"C#",cs:"C#",dotnet:"C#",cpp:"C++",cil:"CIL",coffee:"CoffeeScript",cmake:"CMake",csp:"Content-Security-Policy","css-extras":"CSS Extras",dax:"DAX",django:"Django/Jinja2",jinja2:"Django/Jinja2","dns-zone-file":"DNS zone file","dns-zone":"DNS zone file",dockerfile:"Docker",ebnf:"Extended Backus–Naur form",ejs:"EJS",etlua:"Embedded Lua templating",erb:"ERB","excel-formula":"Excel Formula",xlsx:"Excel Formula",xls:"Excel Formula",fsharp:"F#","firestore-security-rules":"Firestore security rules",ftl:"FreeMarker Template Language",gcode:"G-code",gdscript:"GDScript",gedcom:"GEDCOM",glsl:"GLSL",gml:"GameMaker Language",gamemakerlanguage:"GameMaker Language",graphql:"GraphQL",hs:"Haskell",hcl:"HCL",hlsl:"HLSL",http:"HTTP",hpkp:"HTTP Public-Key-Pins",hsts:"HTTP Strict-Transport-Security",ichigojam:"IchigoJam",iecst:"Structured Text (IEC 61131-3)",inform7:"Inform 7",javadoc:"JavaDoc",javadoclike:"JavaDoc-like",javastacktrace:"Java stack trace",jq:"JQ",jsdoc:"JSDoc","js-extras":"JS Extras","js-templates":"JS Templates",json:"JSON",jsonp:"JSONP",json5:"JSON5",latex:"LaTeX",tex:"TeX",context:"ConTeXt",lilypond:"LilyPond",ly:"LilyPond",emacs:"Lisp",elisp:"Lisp","emacs-lisp":"Lisp",llvm:"LLVM IR",lolcode:"LOLCODE",md:"Markdown","markup-templating":"Markup templating",matlab:"MATLAB",mel:"MEL",moon:"MoonScript",n1ql:"N1QL",n4js:"N4JS",n4jsd:"N4JS","nand2tetris-hdl":"Nand To Tetris HDL",nasm:"NASM",neon:"NEON",nginx:"nginx",nsis:"NSIS",objectivec:"Objective-C",objc:"Objective-C",ocaml:"OCaml",opencl:"OpenCL",parigp:"PARI/GP",objectpascal:"Object Pascal",pcaxis:"PC-Axis",px:"PC-Axis",peoplecode:"PeopleCode",pcode:"PeopleCode",php:"PHP",phpdoc:"PHPDoc","php-extras":"PHP Extras",plsql:"PL/SQL",powerquery:"PowerQuery",pq:"PowerQuery",mscript:"PowerQuery",powershell:"PowerShell",properties:".properties",protobuf:"Protocol Buffers",purebasic:"PureBasic",pbfasm:"PureBasic",py:"Python",q:"Q (kdb+ database)",qml:"QML",rkt:"Racket",jsx:"React JSX",tsx:"React TSX",renpy:"Ren'py",rest:"reST (reStructuredText)",robotframework:"Robot Framework",robot:"Robot Framework",rb:"Ruby",sas:"SAS",sass:"Sass (Sass)",scss:"Sass (Scss)","shell-session":"Shell session",solidity:"Solidity (Ethereum)","solution-file":"Solution file",sln:"Solution file",soy:"Soy (Closure Template)",sparql:"SPARQL",rq:"SPARQL","splunk-spl":"Splunk SPL",sqf:"SQF: Status Quo Function (Arma 3)",sql:"SQL",tap:"TAP",toml:"TOML",tt2:"Template Toolkit 2",trig:"TriG",ts:"TypeScript","t4-cs":"T4 Text Templates (C#)",t4:"T4 Text Templates (C#)","t4-vb":"T4 Text Templates (VB)","t4-templating":"T4 templating",uscript:"UnrealScript",uc:"UnrealScript",vbnet:"VB.Net",vhdl:"VHDL",vim:"vim","visual-basic":"Visual Basic",vb:"Visual Basic",wasm:"WebAssembly",wiki:"Wiki markup",xeoracube:"XeoraCube",xojo:"Xojo (REALbasic)",xquery:"XQuery",yaml:"YAML",yml:"YAML"};Prism.plugins.toolbar.registerButton("show-language",function(e){var a=e.element.parentNode;if(a&&/pre/i.test(a.nodeName)){var s,t=a.getAttribute("data-language")||r[e.language]||((s=e.language)?(s.substring(0,1).toUpperCase()+s.substring(1)).replace(/s(?=cript)/,"S"):s);if(t){var o=document.createElement("span");return o.textContent=t,o}}})}else console.warn("Show Languages plugin loaded before Toolbar plugin.")}();
|
|
@ -0,0 +1,20 @@
|
|||
;
|
||||
; comment
|
||||
|
||||
a$ = 2 ;Test
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
[
|
||||
["comment", ";"],
|
||||
["comment", "; comment"],
|
||||
|
||||
"\r\n\r\na$ ",
|
||||
["operator", "="],
|
||||
["number", "2"],
|
||||
["comment", ";Test"]
|
||||
]
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
Checks for comments.
|
|
@ -0,0 +1,211 @@
|
|||
DECLARECDLL
|
||||
DECLAREDLL
|
||||
COMPILERSELECT
|
||||
COMPILERCASE
|
||||
COMPILERDEFAULT
|
||||
COMPILERENDSELECT
|
||||
COMPILERERROR
|
||||
ENABLEEXPLICIT
|
||||
DISABLEEXPLICIT
|
||||
NOT
|
||||
AND
|
||||
OR
|
||||
XOR
|
||||
CALLDEBUGGER
|
||||
DEBUGLEVEL
|
||||
ENABLEDEBUGGER
|
||||
DISABLEDEBUGGER
|
||||
RESTORE
|
||||
READ
|
||||
INCLUDEPATH
|
||||
INCLUDEBINARY
|
||||
THREADED
|
||||
RUNTIME
|
||||
WITH
|
||||
ENDWITH
|
||||
STRUCTUREUNION
|
||||
ENDSTRUCTUREUNION
|
||||
ALIGN
|
||||
NEWLIST
|
||||
NEWMAP
|
||||
INTERFACE
|
||||
ENDINTERFACE
|
||||
EXTENDS
|
||||
ENUMERATION
|
||||
ENDENUMERATION
|
||||
SWAP
|
||||
FOREACH
|
||||
CONTINUE
|
||||
FAKERETURN
|
||||
GOTO
|
||||
GOSUB
|
||||
RETURN
|
||||
BREAK
|
||||
MODULE
|
||||
ENDMODULE
|
||||
DECLAREMODULE
|
||||
ENDDECLAREMODULE
|
||||
DECLARE
|
||||
DECLAREC
|
||||
PROTOTYPE
|
||||
PROTOTYPEC
|
||||
ENABLEASM
|
||||
DISABLEASM
|
||||
DIM
|
||||
REDIM
|
||||
DATA
|
||||
DATASECTION
|
||||
ENDDATASECTION
|
||||
TO
|
||||
PROCEDURERETURN
|
||||
DEBUG
|
||||
DEFAULT
|
||||
CASE
|
||||
SELECT
|
||||
ENDSELECT
|
||||
AS
|
||||
IMPORT
|
||||
ENDIMPORT
|
||||
IMPORTC
|
||||
COMPILERIF
|
||||
COMPILERELSE
|
||||
COMPILERENDIF
|
||||
COMPILERELSEIF
|
||||
END
|
||||
STRUCTURE
|
||||
ENDSTRUCTURE
|
||||
WHILE
|
||||
WEND
|
||||
FOR
|
||||
NEXT
|
||||
STEP
|
||||
IF
|
||||
ELSE
|
||||
ELSEIF
|
||||
ENDIF
|
||||
REPEAT
|
||||
UNTIL
|
||||
PROCEDURE
|
||||
PROCEDUREDLL
|
||||
PROCEDUREC
|
||||
PROCEDURECDLL
|
||||
ENDPROCEDURE
|
||||
PROTECTED
|
||||
SHARED
|
||||
STATIC
|
||||
GLOBAL
|
||||
DEFINE
|
||||
INCLUDEFILE
|
||||
XINCLUDEFILE
|
||||
MACRO
|
||||
ENDMACRO
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
[
|
||||
["keyword", "DECLARECDLL"],
|
||||
["keyword", "DECLAREDLL"],
|
||||
["keyword", "COMPILERSELECT"],
|
||||
["keyword", "COMPILERCASE"],
|
||||
["keyword", "COMPILERDEFAULT"],
|
||||
["keyword", "COMPILERENDSELECT"],
|
||||
["keyword", "COMPILERERROR"],
|
||||
["keyword", "ENABLEEXPLICIT"],
|
||||
["keyword", "DISABLEEXPLICIT"],
|
||||
["keyword", "NOT"],
|
||||
["keyword", "AND"],
|
||||
["keyword", "OR"],
|
||||
["keyword", "XOR"],
|
||||
["keyword", "CALLDEBUGGER"],
|
||||
["keyword", "DEBUGLEVEL"],
|
||||
["keyword", "ENABLEDEBUGGER"],
|
||||
["keyword", "DISABLEDEBUGGER"],
|
||||
["keyword", "RESTORE"],
|
||||
["keyword", "READ"],
|
||||
["keyword", "INCLUDEPATH"],
|
||||
["keyword", "INCLUDEBINARY"],
|
||||
["keyword", "THREADED"],
|
||||
["keyword", "RUNTIME"],
|
||||
["keyword", "WITH"],
|
||||
["keyword", "ENDWITH"],
|
||||
["keyword", "STRUCTUREUNION"],
|
||||
["keyword", "ENDSTRUCTUREUNION"],
|
||||
["keyword", "ALIGN"],
|
||||
["keyword", "NEWLIST"],
|
||||
["keyword", "NEWMAP"],
|
||||
["keyword", "INTERFACE"],
|
||||
["keyword", "ENDINTERFACE"],
|
||||
["keyword", "EXTENDS"],
|
||||
["keyword", "ENUMERATION"],
|
||||
["keyword", "ENDENUMERATION"],
|
||||
["keyword", "SWAP"],
|
||||
["keyword", "FOREACH"],
|
||||
["keyword", "CONTINUE"],
|
||||
["keyword", "FAKERETURN"],
|
||||
["keyword", "GOTO"],
|
||||
["keyword", "GOSUB"],
|
||||
["keyword", "RETURN"],
|
||||
["keyword", "BREAK"],
|
||||
["keyword", "MODULE"],
|
||||
["keyword", "ENDMODULE"],
|
||||
["keyword", "DECLAREMODULE"],
|
||||
["keyword", "ENDDECLAREMODULE"],
|
||||
["keyword", "DECLARE"],
|
||||
["keyword", "DECLAREC"],
|
||||
["keyword", "PROTOTYPE"],
|
||||
["keyword", "PROTOTYPEC"],
|
||||
["keyword", "ENABLEASM"],
|
||||
["keyword", "DISABLEASM"],
|
||||
["keyword", "DIM"],
|
||||
["keyword", "REDIM"],
|
||||
["keyword", "DATA"],
|
||||
["keyword", "DATASECTION"],
|
||||
["keyword", "ENDDATASECTION"],
|
||||
["keyword", "TO"],
|
||||
["keyword", "PROCEDURERETURN"],
|
||||
["keyword", "DEBUG"],
|
||||
["keyword", "DEFAULT"],
|
||||
["keyword", "CASE"],
|
||||
["keyword", "SELECT"],
|
||||
["keyword", "ENDSELECT"],
|
||||
["keyword", "AS"],
|
||||
["keyword", "IMPORT"],
|
||||
["keyword", "ENDIMPORT"],
|
||||
["keyword", "IMPORTC"],
|
||||
["keyword", "COMPILERIF"],
|
||||
["keyword", "COMPILERELSE"],
|
||||
["keyword", "COMPILERENDIF"],
|
||||
["keyword", "COMPILERELSEIF"],
|
||||
["keyword", "END"],
|
||||
["keyword", "STRUCTURE"],
|
||||
["keyword", "ENDSTRUCTURE"],
|
||||
["keyword", "WHILE"],
|
||||
["keyword", "WEND"],
|
||||
["keyword", "FOR"],
|
||||
["keyword", "NEXT"],
|
||||
["keyword", "STEP"],
|
||||
["keyword", "IF"],
|
||||
["keyword", "ELSE"],
|
||||
["keyword", "ELSEIF"],
|
||||
["keyword", "ENDIF"],
|
||||
["keyword", "REPEAT"],
|
||||
["keyword", "UNTIL"],
|
||||
["keyword", "PROCEDURE"],
|
||||
["keyword", "PROCEDUREDLL"],
|
||||
["keyword", "PROCEDUREC"],
|
||||
["keyword", "PROCEDURECDLL"],
|
||||
["keyword", "ENDPROCEDURE"],
|
||||
["keyword", "PROTECTED"],
|
||||
["keyword", "SHARED"],
|
||||
["keyword", "STATIC"],
|
||||
["keyword", "GLOBAL"],
|
||||
["keyword", "DEFINE"],
|
||||
["keyword", "INCLUDEFILE"],
|
||||
["keyword", "XINCLUDEFILE"],
|
||||
["keyword", "MACRO"],
|
||||
["keyword", "ENDMACRO"]
|
||||
]
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
Checks for keywords.
|
|
@ -0,0 +1,19 @@
|
|||
42
|
||||
3.14159
|
||||
2e8
|
||||
3.4E-9
|
||||
0.7E+12
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
[
|
||||
["number", "42"],
|
||||
["number", "3.14159"],
|
||||
["number", "2e8"],
|
||||
["number", "3.4E-9"],
|
||||
["number", "0.7E+12"]
|
||||
]
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
Checks for numbers.
|
|
@ -0,0 +1,15 @@
|
|||
< <=
|
||||
> >=
|
||||
+ - *
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
[
|
||||
["operator", "<"], ["operator", "<="],
|
||||
["operator", ">"], ["operator", ">="],
|
||||
["operator", "+"], ["operator", "-"], ["operator", "*"]
|
||||
]
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
Checks for operators.
|
|
@ -0,0 +1,13 @@
|
|||
""
|
||||
"foobar"
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
[
|
||||
["string", "\"\""],
|
||||
["string", "\"foobar\""]
|
||||
]
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
Checks for strings.
|
Loading…
Reference in New Issue