CoolFace
Datasetpublic

basant307/AI_Governance_Project

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes48downloads
prolog.js98 linesDownload Raw Back to languages
1/*2Language: Prolog3Description: Prolog is a general purpose logic programming language associated with artificial intelligence and computational linguistics.4Author: Raivo Laanemets <raivo@infdot.com>5Website: https://en.wikipedia.org/wiki/Prolog6Category: functional7*/8 9function prolog(hljs) {10  const ATOM = {11 12    begin: /[a-z][A-Za-z0-9_]*/,13    relevance: 014  };15 16  const VAR = {17 18    className: 'symbol',19    variants: [20      { begin: /[A-Z][a-zA-Z0-9_]*/ },21      { begin: /_[A-Za-z0-9_]*/ }22    ],23    relevance: 024  };25 26  const PARENTED = {27 28    begin: /\(/,29    end: /\)/,30    relevance: 031  };32 33  const LIST = {34 35    begin: /\[/,36    end: /\]/37  };38 39  const LINE_COMMENT = {40 41    className: 'comment',42    begin: /%/,43    end: /$/,44    contains: [ hljs.PHRASAL_WORDS_MODE ]45  };46 47  const BACKTICK_STRING = {48 49    className: 'string',50    begin: /`/,51    end: /`/,52    contains: [ hljs.BACKSLASH_ESCAPE ]53  };54 55  const CHAR_CODE = {56    className: 'string', // 0'a etc.57    begin: /0'(\\'|.)/58  };59 60  const SPACE_CODE = {61    className: 'string',62    begin: /0'\\s/ // 0'\s63  };64 65  const PRED_OP = { // relevance booster66    begin: /:-/ };67 68  const inner = [69 70    ATOM,71    VAR,72    PARENTED,73    PRED_OP,74    LIST,75    LINE_COMMENT,76    hljs.C_BLOCK_COMMENT_MODE,77    hljs.QUOTE_STRING_MODE,78    hljs.APOS_STRING_MODE,79    BACKTICK_STRING,80    CHAR_CODE,81    SPACE_CODE,82    hljs.C_NUMBER_MODE83  ];84 85  PARENTED.contains = inner;86  LIST.contains = inner;87 88  return {89    name: 'Prolog',90    contains: inner.concat([91      { // relevance booster92        begin: /\.$/ }93    ])94  };95}96 97export { prolog as default };98 
basant307/AI_Governance_Project · CoolFace