File manager - Edit - /home/newsbmcs.com/public_html/static/img/logo/fcl.tar
Back
fcl.js 0000644 00000011140 15030301266 0005637 0 ustar 00 // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: https://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("fcl", function(config) { var indentUnit = config.indentUnit; var keywords = { "term": true, "method": true, "accu": true, "rule": true, "then": true, "is": true, "and": true, "or": true, "if": true, "default": true }; var start_blocks = { "var_input": true, "var_output": true, "fuzzify": true, "defuzzify": true, "function_block": true, "ruleblock": true }; var end_blocks = { "end_ruleblock": true, "end_defuzzify": true, "end_function_block": true, "end_fuzzify": true, "end_var": true }; var atoms = { "true": true, "false": true, "nan": true, "real": true, "min": true, "max": true, "cog": true, "cogs": true }; var isOperatorChar = /[+\-*&^%:=<>!|\/]/; function tokenBase(stream, state) { var ch = stream.next(); if (/[\d\.]/.test(ch)) { if (ch == ".") { stream.match(/^[0-9]+([eE][\-+]?[0-9]+)?/); } else if (ch == "0") { stream.match(/^[xX][0-9a-fA-F]+/) || stream.match(/^0[0-7]+/); } else { stream.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/); } return "number"; } if (ch == "/" || ch == "(") { if (stream.eat("*")) { state.tokenize = tokenComment; return tokenComment(stream, state); } if (stream.eat("/")) { stream.skipToEnd(); return "comment"; } } if (isOperatorChar.test(ch)) { stream.eatWhile(isOperatorChar); return "operator"; } stream.eatWhile(/[\w\$_\xa1-\uffff]/); var cur = stream.current().toLowerCase(); if (keywords.propertyIsEnumerable(cur) || start_blocks.propertyIsEnumerable(cur) || end_blocks.propertyIsEnumerable(cur)) { return "keyword"; } if (atoms.propertyIsEnumerable(cur)) return "atom"; return "variable"; } function tokenComment(stream, state) { var maybeEnd = false, ch; while (ch = stream.next()) { if ((ch == "/" || ch == ")") && maybeEnd) { state.tokenize = tokenBase; break; } maybeEnd = (ch == "*"); } return "comment"; } function Context(indented, column, type, align, prev) { this.indented = indented; this.column = column; this.type = type; this.align = align; this.prev = prev; } function pushContext(state, col, type) { return state.context = new Context(state.indented, col, type, null, state.context); } function popContext(state) { if (!state.context.prev) return; var t = state.context.type; if (t == "end_block") state.indented = state.context.indented; return state.context = state.context.prev; } // Interface return { startState: function(basecolumn) { return { tokenize: null, context: new Context((basecolumn || 0) - indentUnit, 0, "top", false), indented: 0, startOfLine: true }; }, token: function(stream, state) { var ctx = state.context; if (stream.sol()) { if (ctx.align == null) ctx.align = false; state.indented = stream.indentation(); state.startOfLine = true; } if (stream.eatSpace()) return null; var style = (state.tokenize || tokenBase)(stream, state); if (style == "comment") return style; if (ctx.align == null) ctx.align = true; var cur = stream.current().toLowerCase(); if (start_blocks.propertyIsEnumerable(cur)) pushContext(state, stream.column(), "end_block"); else if (end_blocks.propertyIsEnumerable(cur)) popContext(state); state.startOfLine = false; return style; }, indent: function(state, textAfter) { if (state.tokenize != tokenBase && state.tokenize != null) return 0; var ctx = state.context; var closing = end_blocks.propertyIsEnumerable(textAfter); if (ctx.align) return ctx.column + (closing ? 0 : 1); else return ctx.indented + (closing ? 0 : indentUnit); }, electricChars: "ryk", fold: "brace", blockCommentStart: "(*", blockCommentEnd: "*)", lineComment: "//" }; }); CodeMirror.defineMIME("text/x-fcl", "fcl"); }); index.html 0000644 00000006033 15030301266 0006537 0 ustar 00 <!doctype html> <title>CodeMirror: FCL mode</title> <meta charset="utf-8"/> <link rel=stylesheet href="../../doc/docs.css"> <link rel="stylesheet" href="../../lib/codemirror.css"> <link rel="stylesheet" href="../../theme/elegant.css"> <script src="../../lib/codemirror.js"></script> <script src="../../addon/edit/matchbrackets.js"></script> <script src="fcl.js"></script> <style>.CodeMirror {border:1px solid #999; background:#ffc}</style> <div id=nav> <a href="https://codemirror.net"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png" alt=""></a> <ul> <li><a href="../../index.html">Home</a> <li><a href="../../doc/manual.html">Manual</a> <li><a href="https://github.com/codemirror/codemirror">Code</a> </ul> <ul> <li><a href="../index.html">Language modes</a> <li><a class=active href="#">FCL</a> </ul> </div> <article> <h2>FCL mode</h2> <form><textarea id="code" name="code"> FUNCTION_BLOCK Fuzzy_FB VAR_INPUT TimeDay : REAL; (* RANGE(0 .. 23) *) ApplicateHost: REAL; TimeConfiguration: REAL; TimeRequirements: REAL; END_VAR VAR_OUTPUT ProbabilityDistribution: REAL; ProbabilityAccess: REAL; END_VAR FUZZIFY TimeDay TERM inside := (0, 0) (8, 1) (22,0); TERM outside := (0, 1) (8, 0) (22, 1); END_FUZZIFY FUZZIFY ApplicateHost TERM few := (0, 1) (100, 0) (200, 0); TERM many := (0, 0) (100, 0) (200, 1); END_FUZZIFY FUZZIFY TimeConfiguration TERM recently := (0, 1) (30, 1) (120, 0); TERM long := (0, 0) (30, 0) (120, 1); END_FUZZIFY FUZZIFY TimeRequirements TERM recently := (0, 1) (30, 1) (365, 0); TERM long := (0, 0) (30, 0) (365, 1); END_FUZZIFY DEFUZZIFY ProbabilityAccess TERM hight := 1; TERM medium := 0.5; TERM low := 0; ACCU: MAX; METHOD: COGS; DEFAULT := 0; END_DEFUZZIFY DEFUZZIFY ProbabilityDistribution TERM hight := 1; TERM medium := 0.5; TERM low := 0; ACCU: MAX; METHOD: COGS; DEFAULT := 0; END_DEFUZZIFY RULEBLOCK No1 AND : MIN; RULE 1 : IF TimeDay IS outside AND ApplicateHost IS few THEN ProbabilityAccess IS hight; RULE 2 : IF ApplicateHost IS many THEN ProbabilityAccess IS hight; RULE 3 : IF TimeDay IS inside AND ApplicateHost IS few THEN ProbabilityAccess IS low; END_RULEBLOCK RULEBLOCK No2 AND : MIN; RULE 1 : IF ApplicateHost IS many THEN ProbabilityDistribution IS hight; END_RULEBLOCK END_FUNCTION_BLOCK </textarea></form> <script> var editor = CodeMirror.fromTextArea(document.getElementById("code"), { theme: "elegant", matchBrackets: true, indentUnit: 8, tabSize: 8, indentWithTabs: true, mode: "text/x-fcl" }); </script> <p><strong>MIME type:</strong> <code>text/x-fcl</code></p> </article>
| ver. 1.4 |
Github
|
.
| PHP 8.2.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings