CoolFace
Datasetpublic

basant307/AI_Governance_Project

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes48downloads
wasm.js140 linesDownload Raw Back to languages
1/*2Language: WebAssembly3Website: https://webassembly.org4Description:  Wasm is designed as a portable compilation target for programming languages, enabling deployment on the web for client and server applications.5Category: web, common6Audit: 20207*/8 9/** @type LanguageFn */10function wasm(hljs) {11  hljs.regex;12  const BLOCK_COMMENT = hljs.COMMENT(/\(;/, /;\)/);13  BLOCK_COMMENT.contains.push("self");14  const LINE_COMMENT = hljs.COMMENT(/;;/, /$/);15 16  const KWS = [17    "anyfunc",18    "block",19    "br",20    "br_if",21    "br_table",22    "call",23    "call_indirect",24    "data",25    "drop",26    "elem",27    "else",28    "end",29    "export",30    "func",31    "global.get",32    "global.set",33    "local.get",34    "local.set",35    "local.tee",36    "get_global",37    "get_local",38    "global",39    "if",40    "import",41    "local",42    "loop",43    "memory",44    "memory.grow",45    "memory.size",46    "module",47    "mut",48    "nop",49    "offset",50    "param",51    "result",52    "return",53    "select",54    "set_global",55    "set_local",56    "start",57    "table",58    "tee_local",59    "then",60    "type",61    "unreachable"62  ];63 64  const FUNCTION_REFERENCE = {65    begin: [66      /(?:func|call|call_indirect)/,67      /\s+/,68      /\$[^\s)]+/69    ],70    className: {71      1: "keyword",72      3: "title.function"73    }74  };75 76  const ARGUMENT = {77    className: "variable",78    begin: /\$[\w_]+/79  };80 81  const PARENS = {82    match: /(\((?!;)|\))+/,83    className: "punctuation",84    relevance: 085  };86 87  const NUMBER = {88    className: "number",89    relevance: 0,90    // borrowed from Prism, TODO: split out into variants91    match: /[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/92  };93 94  const TYPE = {95    // look-ahead prevents us from gobbling up opcodes96    match: /(i32|i64|f32|f64)(?!\.)/,97    className: "type"98  };99 100  const MATH_OPERATIONS = {101    className: "keyword",102    // borrowed from Prism, TODO: split out into variants103    match: /\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/104  };105 106  const OFFSET_ALIGN = {107    match: [108      /(?:offset|align)/,109      /\s*/,110      /=/111    ],112    className: {113      1: "keyword",114      3: "operator"115    }116  };117 118  return {119    name: 'WebAssembly',120    keywords: {121      $pattern: /[\w.]+/,122      keyword: KWS123    },124    contains: [125      LINE_COMMENT,126      BLOCK_COMMENT,127      OFFSET_ALIGN,128      ARGUMENT,129      PARENS,130      FUNCTION_REFERENCE,131      hljs.QUOTE_STRING_MODE,132      TYPE,133      MATH_OPERATIONS,134      NUMBER135    ]136  };137}138 139export { wasm as default };140 
basant307/AI_Governance_Project · CoolFace