ref: bd244e68654533cd817aba5794c5669707cd4578
parent: a70ecba06f804990400326d0df079cd41e2ef096
author: ISSOtm <eldredhabert0@gmail.com>
date: Fri Jan 1 21:42:44 EST 2021
Remove deprecated features Trimming off the fat! - GLOBAL and XDEF keywords - Colon-less global labels - *-comments
--- a/src/asm/lexer.c
+++ b/src/asm/lexer.c
@@ -1611,18 +1611,6 @@
switch (c) {
/* Ignore whitespace and comments */
- case '*':
- if (!lexerState->atLineStart) { /* Either MUL or EXP */
- secondChar = peek(0);
- if (secondChar == '*') {
- shiftChars(1);
- return T_OP_EXP;
- }
- return T_OP_MUL;
- }
- warning(WARNING_OBSOLETE,
- "'*' is deprecated for comments, please use ';' instead\n");
- /* fallthrough */
case ';':
discardComment();
/* fallthrough */
@@ -1658,17 +1646,24 @@
return T_COMMA;
/* Handle ambiguous 1- or 2-char tokens */
+
+ case '*': /* Either MUL or EXP */
+ if (peek(0) == '*') {
+ shiftChars(1);
+ return T_OP_EXP;
+ }
+ return T_OP_MUL;
+
case '/': /* Either division or a block comment */
- secondChar = peek(0);
- if (secondChar == '*') {
+ if (peek(0) == '*') {
shiftChars(1);
discardBlockComment();
break;
}
return T_OP_DIV;
+
case '|': /* Either binary or logical OR */
- secondChar = peek(0);
- if (secondChar == '|') {
+ if (peek(0) == '|') {
shiftChars(1);
return T_OP_LOGICOR;
}
@@ -1675,8 +1670,7 @@
return T_OP_OR;
case '=': /* Either SET alias, or EQ */
- secondChar = peek(0);
- if (secondChar == '=') {
+ if (peek(0) == '=') {
shiftChars(1);
return T_OP_LOGICEQU;
}
@@ -1683,30 +1677,31 @@
return T_POP_EQUAL;
case '<': /* Either a LT, LTE, or left shift */
- secondChar = peek(0);
- if (secondChar == '=') {
+ switch (peek(0)) {
+ case '=':
shiftChars(1);
return T_OP_LOGICLE;
- } else if (secondChar == '<') {
+ case '<':
shiftChars(1);
return T_OP_SHL;
+ default:
+ return T_OP_LOGICLT;
}
- return T_OP_LOGICLT;
case '>': /* Either a GT, GTE, or right shift */
- secondChar = peek(0);
- if (secondChar == '=') {
+ switch (peek(0)) {
+ case '=':
shiftChars(1);
return T_OP_LOGICGE;
- } else if (secondChar == '>') {
+ case '>':
shiftChars(1);
return T_OP_SHR;
+ default:
+ return T_OP_LOGICGT;
}
- return T_OP_LOGICGT;
case '!': /* Either a NEQ, or negation */
- secondChar = peek(0);
- if (secondChar == '=') {
+ if (peek(0) == '=') {
shiftChars(1);
return T_OP_LOGICNE;
}
--- a/src/asm/main.c
+++ b/src/asm/main.c
@@ -108,9 +108,6 @@
error("Must specify exactly 2 characters for option 'b'\n");
}
break;
- case 'z':
- warning(WARNING_OBSOLETE, "Option 'z' is a deprecated alias for 'p'\n");
- /* fallthrough */
case 'p':
if (strlen(&s[1]) <= 2) {
int result;
--- a/src/asm/parser.y
+++ b/src/asm/parser.y
@@ -568,10 +568,6 @@
| T_LOCAL_ID {
sym_AddLocalLabel($1);
}
- | T_LABEL {
- warning(WARNING_OBSOLETE, "Non-local labels without a colon are deprecated\n");
- sym_AddLabel($1);
- }
| T_LOCAL_ID T_COLON {
sym_AddLocalLabel($1);
}
@@ -898,17 +894,7 @@
purge_list_entry : scoped_id { sym_Purge($1); }
;
-export : export_token export_list
-;
-
-export_token : T_POP_EXPORT
- | T_POP_GLOBAL {
- warning(WARNING_OBSOLETE,
- "`GLOBAL` is a deprecated synonym for `EXPORT`\n");
- }
- | T_POP_XDEF {
- warning(WARNING_OBSOLETE, "`XDEF` is a deprecated synonym for `EXPORT`\n");
- }
+export : T_POP_EXPORT export_list
;
export_list : export_list_entry