物管理前端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 line
2.0 KiB

  1. var d={term:!0,method:!0,accu:!0,rule:!0,then:!0,is:!0,and:!0,or:!0,if:!0,default:!0},c={var_input:!0,var_output:!0,fuzzify:!0,defuzzify:!0,function_block:!0,ruleblock:!0},i={end_ruleblock:!0,end_defuzzify:!0,end_function_block:!0,end_fuzzify:!0,end_var:!0},m={true:!0,false:!0,nan:!0,real:!0,min:!0,max:!0,cog:!0,cogs:!0},u=/[+\-*&^%:=<>!|\/]/;function a(t,n){var e=t.next();if(/[\d\.]/.test(e))return e=="."?t.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):e=="0"?t.match(/^[xX][0-9a-fA-F]+/)||t.match(/^0[0-7]+/):t.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if(e=="/"||e=="("){if(t.eat("*"))return n.tokenize=l,l(t,n);if(t.eat("/"))return t.skipToEnd(),"comment"}if(u.test(e))return t.eatWhile(u),"operator";t.eatWhile(/[\w\$_\xa1-\uffff]/);var r=t.current().toLowerCase();return d.propertyIsEnumerable(r)||c.propertyIsEnumerable(r)||i.propertyIsEnumerable(r)?"keyword":m.propertyIsEnumerable(r)?"atom":"variable"}function l(t,n){for(var e=!1,r;r=t.next();){if((r=="/"||r==")")&&e){n.tokenize=a;break}e=r=="*"}return"comment"}function f(t,n,e,r,o){this.indented=t,this.column=n,this.type=e,this.align=r,this.prev=o}function s(t,n,e){return t.context=new f(t.indented,n,e,null,t.context)}function p(t){if(t.context.prev){var n=t.context.type;return n=="end_block"&&(t.indented=t.context.indented),t.context=t.context.prev}}const k={name:"fcl",startState:function(t){return{tokenize:null,context:new f(-t,0,"top",!1),indented:0,startOfLine:!0}},token:function(t,n){var e=n.context;if(t.sol()&&(e.align==null&&(e.align=!1),n.indented=t.indentation(),n.startOfLine=!0),t.eatSpace())return null;var r=(n.tokenize||a)(t,n);if(r=="comment")return r;e.align==null&&(e.align=!0);var o=t.current().toLowerCase();return c.propertyIsEnumerable(o)?s(n,t.column(),"end_block"):i.propertyIsEnumerable(o)&&p(n),n.startOfLine=!1,r},indent:function(t,n,e){if(t.tokenize!=a&&t.tokenize!=null)return 0;var r=t.context,o=i.propertyIsEnumerable(n);return r.align?r.column+(o?0:1):r.indented+(o?0:e.unit)},languageData:{commentTokens:{line:"//",block:{open:"(*",close:"*)"}}}};export{k as fcl};