object SymbolChecker
Run the following checks
- Variable not declared 2. Variable redefinition in the same scope 3. Function not declared 4. Function redefinition
Variables and function are in separate scopes.
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- SymbolChecker
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Type Members
-
case class
SymbolTables
(varSymbols: SymbolTable, funSymbols: SymbolTable) extends Product with Serializable
Symbol tables for variables and function.
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
addSymbolList(names: Seq[String], st: SymbolTable): Either[String, SymbolTable]
Add list of symbols to the table.
Add list of symbols to the table. Ensure that symbols are unique.
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
check(module: Module): Either[String, Module]
Check for errors in the module.
- def checkBody(body: FunctionBody, st: SymbolTables): Result
-
def
checkExpr(expr: Expression, st: SymbolTables): Result
Check symbols used in expressions
-
def
checkFunDef(f: FunctionDef, st: SymbolTables): Result
Check if there are duplicate params and add them to the symbol table
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )