From 36ed90c9baea33684695cfb5ae9e0b54df41e0b9 Mon Sep 17 00:00:00 2001 From: Sei Lisa Date: Thu, 17 Jan 2019 20:26:46 +0100 Subject: [PATCH] Revert _Pragma operator Revert "Add support for C11-style _Pragma operator on processpre". Revert "Add unit test for the _Pragma operator". This reverts commits 31fcb331c75a5773529fae25cbcae979298e986d and e261ac2121854da883ba6db62d65315d2120776a. This should rather be the job of the preprocessor, which should generate #pragma lines. gcc does that. --- lslopt/lslparse.py | 30 ++++--------------- unit_tests/coverage.suite/pragma-operator.lsl | 14 --------- unit_tests/coverage.suite/pragma-operator.out | 18 ----------- unit_tests/coverage.suite/pragma-operator.run | 1 - 4 files changed, 5 insertions(+), 58 deletions(-) delete mode 100644 unit_tests/coverage.suite/pragma-operator.lsl delete mode 100644 unit_tests/coverage.suite/pragma-operator.out delete mode 100644 unit_tests/coverage.suite/pragma-operator.run diff --git a/lslopt/lslparse.py b/lslopt/lslparse.py index 5cf6300..faf87a7 100644 --- a/lslopt/lslparse.py +++ b/lslopt/lslparse.py @@ -465,7 +465,7 @@ class parser(object): else: self.SetOpt(opt, True) - def GetToken(self, pragma=False): + def GetToken(self): """Lexer""" try: @@ -580,23 +580,6 @@ class parser(object): ident += self.script[self.pos] self.pos += 1 - if self.processpre and ident == '_Pragma' and not pragma: - savepos = self.pos - errorpos = self.errorpos - tok = self.tok - - if (self.GetToken(True)[0] == '(' - and self.NextToken(True)[0] == 'STRING_VALUE' - and self.GetToken(True)[0] == ')' - ): - self.ProcessDirective("#pragma " - + self.tok[1]) - return self.GetToken() - else: - self.pos = savepos - self.errorpos = errorpos - self.tok = tok - # Got an identifier - check if it's a reserved word if ident in self.keywords: return (ident.upper(),) @@ -723,10 +706,9 @@ class parser(object): return ('EOF',) - def NextToken(self, pragma=False): + def NextToken(self): """Calls GetToken and sets the internal token.""" - self.tok = self.GetToken(pragma) - return self.tok + self.tok = self.GetToken() # Recursive-descendent parser. The result is an AST and a symbol table. @@ -2956,8 +2938,7 @@ list lazy_list_set(list L, integer i, list v) self.scanglobals = True # Tell the lexer not to process directives self.pos = self.errorpos = 0 self.linestart = True - self.tok = None - self.NextToken() + self.tok = self.GetToken() self.globals = self.BuildTempGlobalsTable() if not lslcommon.IsCalc \ else self.funclibrary.copy() @@ -2967,8 +2948,7 @@ list lazy_list_set(list L, integer i, list v) self.scanglobals = False self.pos = self.errorpos = 0 self.linestart = True - self.tok = None - self.NextToken() + self.tok = self.GetToken() # Reserve spots at the beginning for functions we add self.tree = [nr(nt='LAMBDA', t=None)] diff --git a/unit_tests/coverage.suite/pragma-operator.lsl b/unit_tests/coverage.suite/pragma-operator.lsl deleted file mode 100644 index 89f854a..0000000 --- a/unit_tests/coverage.suite/pragma-operator.lsl +++ /dev/null @@ -1,14 +0,0 @@ -_Pragma("OPT inline") - -string f(integer x) inline -{ - return "ok"; -} - -default -{ - state_entry() - { - llOwnerSay(f(5)); - } -} \ No newline at end of file diff --git a/unit_tests/coverage.suite/pragma-operator.out b/unit_tests/coverage.suite/pragma-operator.out deleted file mode 100644 index 8e56493..0000000 --- a/unit_tests/coverage.suite/pragma-operator.out +++ /dev/null @@ -1,18 +0,0 @@ -default -{ - state_entry() - { - string ___ret__00001; - { - integer x = 5; - { - { - ___ret__00001 = "ok"; - jump ___rtl__00001; - } - } - } - @___rtl__00001; - llOwnerSay(___ret__00001); - } -} diff --git a/unit_tests/coverage.suite/pragma-operator.run b/unit_tests/coverage.suite/pragma-operator.run deleted file mode 100644 index 56981d6..0000000 --- a/unit_tests/coverage.suite/pragma-operator.run +++ /dev/null @@ -1 +0,0 @@ -main.py - -O clear,processpre