openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

fcl.min.js (2541B)


      1 (function(e){if(typeof exports=='object'&&typeof module=='object')e(require('../../lib/codemirror'));else if(typeof define=='function'&&define.amd)define(['../../lib/codemirror'],e);else e(CodeMirror)})(function(e){'use strict';e.defineMode('fcl',function(e){var o=e.indentUnit,l={'term':!0,'method':!0,'accu':!0,'rule':!0,'then':!0,'is':!0,'and':!0,'or':!0,'if':!0,'default':!0};var i={'var_input':!0,'var_output':!0,'fuzzify':!0,'defuzzify':!0,'function_block':!0,'ruleblock':!0};var n={'end_ruleblock':!0,'end_defuzzify':!0,'end_function_block':!0,'end_fuzzify':!0,'end_var':!0};var a={'true':!0,'false':!0,'nan':!0,'real':!0,'min':!0,'max':!0,'cog':!0,'cogs':!0};var r=/[+\-*&^%:=<>!|\/]/;function t(e,t){var o=e.next();if(/[\d\.]/.test(o)){if(o=='.'){e.match(/^[0-9]+([eE][\-+]?[0-9]+)?/)}
      2 else if(o=='0'){e.match(/^[xX][0-9a-fA-F]+/)||e.match(/^0[0-7]+/)}
      3 else{e.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/)};return'number'};if(o=='/'||o=='('){if(e.eat('*')){t.tokenize=u;return u(e,t)};if(e.eat('/')){e.skipToEnd();return'comment'}};if(r.test(o)){e.eatWhile(r);return'operator'};e.eatWhile(/[\w\$_\xa1-\uffff]/);var f=e.current().toLowerCase();if(l.propertyIsEnumerable(f)||i.propertyIsEnumerable(f)||n.propertyIsEnumerable(f)){return'keyword'};if(a.propertyIsEnumerable(f))return'atom';return'variable'};function u(e,n){var i=!1,r;while(r=e.next()){if((r=='/'||r==')')&&i){n.tokenize=t;break};i=(r=='*')};return'comment'};function f(e,n,t,r,i){this.indented=e;this.column=n;this.type=t;this.align=r;this.prev=i};function c(e,n,t){return e.context=new f(e.indented,n,t,null,e.context)};function d(e){if(!e.context.prev)return;var n=e.context.type;if(n=='end_block')e.indented=e.context.indented;return e.context=e.context.prev};return{startState:function(e){return{tokenize:null,context:new f((e||0)-o,0,'top',!1),indented:0,startOfLine:!0}},token:function(e,r){var o=r.context;if(e.sol()){if(o.align==null)o.align=!1;r.indented=e.indentation();r.startOfLine=!0};if(e.eatSpace())return null;var u=(r.tokenize||t)(e,r);if(u=='comment')return u;if(o.align==null)o.align=!0;var f=e.current().toLowerCase();if(i.propertyIsEnumerable(f))c(r,e.column(),'end_block');else if(n.propertyIsEnumerable(f))d(r);r.startOfLine=!1;return u},indent:function(e,r){if(e.tokenize!=t&&e.tokenize!=null)return 0;var i=e.context,u=n.propertyIsEnumerable(r);if(i.align)return i.column+(u?0:1);else return i.indented+(u?0:o)},electricChars:'ryk',fold:'brace',blockCommentStart:'(*',blockCommentEnd:'*)',lineComment:'//'}});e.defineMIME('text/x-fcl','fcl')});