In previous work, we introduced scope graphs as a formalism for describing program binding structure and performing name resolution in an AST-independent way. In this paper, we show how to use scope graphs to build static semantic analyzers. We use constraints extracted from the AST to specify facts about binding, typing, and initialization. We treat name and type resolution as separate building blocks, but our approach can handle language constructs—such as record field access—for which binding and typing are mutually dependent.We also refine and extend our previous scope graph theory to address practical concerns including ambiguity checking and support for a wider range of scope relationships. We describe the details of constraint genera...
This thesis provides an analysis of ONP scope which naturally explains the characteristic tensed-cla...
Relational constraint is a new method for fast semantic analysis of computer programs. It starts wi...
Scope graphs provide a way to type-check real-world programming languages and their constructs. A pr...
In previous work, we introduced scope graphs as a formalism for describing program binding structure...
In previous work, we introduced scope graphs as a formalism for describing program binding structure...
Recently scope graphs were introduced as a formalism to specify the name binding structure of a prog...
Static name binding (i.e., associating references with appropriate declarations) is an essential asp...
We extend and combine two existing declarative formalisms, the scope graphs of Neron et al. and type...
Scope graphs are a promising generic framework to model the binding structures of programming langua...
Semantic specifications do not make a systematic connection between the names and scopes in the stat...
Semantic specifications do not make a systematic connection between the names and scopes in the stat...
This paper investigates the viability of using scope graphs to implement type checkers for programmi...
Dependently-typed languages are well-known for the ability to enforce program invariants through typ...
We describe a new approach for the specification and generation of the semantic analysis for t...
Natural semantics specifications have become mainstream in the formal specification of programming l...
This thesis provides an analysis of ONP scope which naturally explains the characteristic tensed-cla...
Relational constraint is a new method for fast semantic analysis of computer programs. It starts wi...
Scope graphs provide a way to type-check real-world programming languages and their constructs. A pr...
In previous work, we introduced scope graphs as a formalism for describing program binding structure...
In previous work, we introduced scope graphs as a formalism for describing program binding structure...
Recently scope graphs were introduced as a formalism to specify the name binding structure of a prog...
Static name binding (i.e., associating references with appropriate declarations) is an essential asp...
We extend and combine two existing declarative formalisms, the scope graphs of Neron et al. and type...
Scope graphs are a promising generic framework to model the binding structures of programming langua...
Semantic specifications do not make a systematic connection between the names and scopes in the stat...
Semantic specifications do not make a systematic connection between the names and scopes in the stat...
This paper investigates the viability of using scope graphs to implement type checkers for programmi...
Dependently-typed languages are well-known for the ability to enforce program invariants through typ...
We describe a new approach for the specification and generation of the semantic analysis for t...
Natural semantics specifications have become mainstream in the formal specification of programming l...
This thesis provides an analysis of ONP scope which naturally explains the characteristic tensed-cla...
Relational constraint is a new method for fast semantic analysis of computer programs. It starts wi...
Scope graphs provide a way to type-check real-world programming languages and their constructs. A pr...