added proc annotations: macros invoked as pragmas
This commit is contained in:
parent
5a838d3e06
commit
b5d34242ca
7 changed files with 76 additions and 7 deletions
|
|
@ -91,6 +91,7 @@ type
|
|||
proc InitSymTab*(tab: var TSymTab)
|
||||
proc DeinitSymTab*(tab: var TSymTab)
|
||||
proc SymTabGet*(tab: TSymTab, s: PIdent): PSym
|
||||
proc SymTabGet*(tab: TSymTab, s: PIdent, filter: TSymKinds): PSym
|
||||
proc SymTabLocalGet*(tab: TSymTab, s: PIdent): PSym
|
||||
proc SymTabAdd*(tab: var TSymTab, e: PSym)
|
||||
proc SymTabAddAt*(tab: var TSymTab, e: PSym, at: Natural)
|
||||
|
|
@ -703,6 +704,12 @@ proc SymTabGet(tab: TSymTab, s: PIdent): PSym =
|
|||
if result != nil: return
|
||||
result = nil
|
||||
|
||||
proc SymTabGet*(tab: TSymTab, s: PIdent, filter: TSymKinds): PSym =
|
||||
for i in countdown(tab.tos - 1, 0):
|
||||
result = StrTableGet(tab.stack[i], s)
|
||||
if result != nil and result.kind in filter: return
|
||||
result = nil
|
||||
|
||||
proc SymTabAddAt(tab: var TSymTab, e: PSym, at: Natural) =
|
||||
StrTableAdd(tab.stack[at], e)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue