SyCODE Syntax Highlighter هو برنامج لتسليط الضوء على بناء الجملة يعتمد على جافا سكريبت. تعتمد طريقة التنفيذ على db.SyntaxHighlighter الشهير لاستخدام التعبيرات العادية لمطابقة الكلمات الرئيسية. سرعة المعالجة أعلى من 5 إلى 10 مرات من db.SyntaxHighlighter وهي أسرع معالجة حاليًا سرعة برنامج تسليط الضوء على بناء جملة جافا سكريبت.
يتميز SyCODE Syntax Highlighter بخصائص السرعة العالية وقابلية التوسع القوية، ويمكنه بسهولة إكمال معالجة تمييز التعليمات البرمجية بحجم 32 كيلو بايت على جهاز الكمبيوتر السائد الحالي، ويمكنه إكمال معالجة تمييز التعليمات البرمجية بحجم 64 كيلو بايت في وقت واحد دون مطالبة البرنامج النصي البطيء بتنفيذها تسليط الضوء على بناء الجملة في أي لغة برمجة.
قام SyCODE Syntax Highlighter 1.0 بتطبيق تمييز بناء الجملة داخليًا لأكثر من 20 لغة، بما في ذلك:
1.ج/ج++
2.ج #
3. سي إس إس
4. دلفي/كيليكس
5. باسكال
6.جافا
7. في بي/Vb.net
8.J (أفا) البرنامج النصي
9. أكشن سكريبت
10. فب
11. بايثون
12. روبي / ريلز
13. بيرل
14. التجميع
15. تجهيز دفعة الخفافيش
16. يونيكس شل
18. أوك
19. إس كيو إل
20.
مثال xml/xhtml: Highlighter.Execute(cleanCode, language)
;
فار هايلايتر = {
الفرش: {}،
RegexLib: {
تعليقات MultiLineC: new RegExp('/\*[\s\S]*?\*/', 'gm'),
تعليقات SingleLineC: new RegExp('//.*$', 'gm'),
SingleLinePerlComments: new RegExp('#.*$', 'gm'),
DoubleQuotedString : new RegExp('"(?:\.|( \\\")|[^\""\n])*"','g' ),
SingleQuotedString : new RegExp("'(?:\.|( \\\')|[^\''\n])*' ", 'g')
},
المطابقة: الوظيفة (القيمة، الفهرس، CSS) {
this.value = value;
this.index = Index;
this.length = value. length;
this.css = css;
},
تنفيذ: وظيفة (ستر، لانج) {
فار مسجل = كائن جديد ()؛
ل(فرشاة var في Highlighter.Brushes)
{
var aliases = Highlighter.Brushes[brush].Aliases;
إذا (الأسماء المستعارة == فارغة) يستمر؛
for(var i=0;i<aliases.length;i++) مسجل[الأسماء المستعارة[i].toLowerCase()] = فرشاة;
};
إذا (!! مسجل [lang.toLowerCase ()]) {
var ht = new Highlighter.Brushes[registered[lang.toLowerCase()]]();
إرجاع ht.Highlight(str);
}
آخر {
str = str.replace(/&/g, '&');
str = str.replace(/</g, '<');
str = str.replace(/>/g, '>');
str = str.replace(/t/g, ' ');
str = str.replace(/[ ]{2}/g, ' ');
إرجاع str.replace(/n/g, '<br/>');
}
}
};