From 45f923cfa2f072d32482855066ce0ec75b52aca6 Mon Sep 17 00:00:00 2001 From: Kevin Ramharak Date: Sat, 1 Jun 2019 14:44:55 +0200 Subject: [PATCH] add aliases to frontend editor highlighting/validation --- Server/src/main/resources/static/js/ace/mode-mar.js | 2 +- Server/src/main/resources/static/js/editor.js | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Server/src/main/resources/static/js/ace/mode-mar.js b/Server/src/main/resources/static/js/ace/mode-mar.js index 287ebfb..cc22a90 100644 --- a/Server/src/main/resources/static/js/ace/mode-mar.js +++ b/Server/src/main/resources/static/js/ace/mode-mar.js @@ -52,7 +52,7 @@ define("ace/mode/mar_rules", ["require", "exports", "module", "ace/lib/oop", "ac }, { token: 'keyword.operator.assembly', - regex: '\\b(?:call|ret|jmp|jnz|jg|jl|jge|jle|hwi|jz|js|jns|jc|jnc|jo|jno|ja|jna|seta|setnbe|setae|setnb|setnc|setbe|setna|setb|setc|setnae|sete|setz|setne|setnz|setg|setnle|setge|setnl|setle|setng|setl|setnge|seto|setno|sets|setns)\\b', + regex: '\\b(?:call|ret|jmp|jnz|jg|jl|jge|jle|hwi|jz|js|jns|jc|jnc|jo|jno|ja|jna|seta|setnbe|setae|setnb|setnc|setbe|setna|setb|setc|setnae|sete|setz|setne|setnz|setg|setnle|setge|setnl|setle|setng|setl|setnge|seto|setno|sets|setns|jne|je|jnle|jnl|jnge|jng|jae|jnb|jb|jnae|jnbe|jbe)\\b', caseInsensitive: true }, { diff --git a/Server/src/main/resources/static/js/editor.js b/Server/src/main/resources/static/js/editor.js index d4f6d13..d171a48 100644 --- a/Server/src/main/resources/static/js/editor.js +++ b/Server/src/main/resources/static/js/editor.js @@ -276,7 +276,8 @@ function parseInstruction(line, result, currentLine) { if (new RegExp('\\b(?:mov|add|sub|and|or|test|cmp|shl|shr|mul|push|pop|div|xor|hwi|hwq|nop|neg|' + 'seta|setnbe|setae|setnb|setnc|setbe|setna|setb|setc|setnae|sete|setz|setne|setnz|setg|setnle|setge|setnl|setle|setng|setl|setnge|seto|setno|sets|setns|' + - 'call|ret|jmp|jnz|jg|jl|jge|jle|int|jz|js|jns|brk|not|jc|jnc|ror|rol|sal|sar|jo|jno|inc|dec|rcl|xchg|rcr|pushf|popf|ja|jna)\\b').test(mnemonic.toLowerCase())) { + 'call|ret|jmp|jnz|jg|jl|jge|jle|int|jz|js|jns|brk|not|jc|jnc|ror|rol|sal|sar|jo|jno|inc|dec|rcl|xchg|rcr|pushf|popf|ja|jna' + + 'jne|je|jnle|jnl|jnge|jng|jae|jnb|jb|jnae|jnbe|jbe)\\b').test(mnemonic.toLowerCase())) { if (line.indexOf(",") !== -1) { @@ -334,7 +335,7 @@ function parseInstruction(line, result, currentLine) { strO1 = line.substring(line.indexOf(mnemonic) + mnemonic.length).trim(); //Validate operand number - if (!new RegExp('\\b(?:push|mul|pop|div|neg|call|jnz|jg|jl|jge|jle|hwi|hwq|jz|js|jns|ret|jmp|not|jc|jnc|jo|jno|inc|dec|ja|jna|seta|setnbe|setae|setnb|setnc|setbe|setna|setb|setc|setnae|sete|setz|setne|setnz|setg|setnle|setge|setnl|setle|setng|setl|setnge|seto|setno|sets|setns)\\b').test(mnemonic.toLowerCase())) { + if (!new RegExp('\\b(?:push|mul|pop|div|neg|call|jnz|jg|jl|jge|jle|hwi|hwq|jz|js|jns|ret|jmp|not|jc|jnc|jo|jno|inc|dec|ja|jna|seta|setnbe|setae|setnb|setnc|setbe|setna|setb|setc|setnae|sete|setz|setne|setnz|setg|setnle|setge|setnl|setle|setng|setl|setnge|seto|setno|sets|setns|jne|je|jnle|jnl|jnge|jng|jae|jnb|jb|jnae|jnbe|jbe)\\b').test(mnemonic.toLowerCase())) { result.annotations.push({ row: currentLine, column: 0,