-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
new AST symbol resolver pass #22
Comments
ppaulweber
added a commit
to casm-lang/libcasm-fe
that referenced
this issue
Apr 1, 2017
* added a CallExpression::TargetType to std::string conversion function, once as a method and once as a static function * is needed by sealangdotorg/sea#22
ppaulweber
added a commit
to casm-lang/libcasm-fe
that referenced
this issue
Apr 1, 2017
* added new pass - required by ref sealangdotorg/sea#22 * performs recursively a symbol table creation - currently only for 'identifier' -> 'CallExpression::TargetType' - if during a recursive resolve an identifier cannot be found or resolved it gets memorized along with its node and processed later step
ppaulweber
added a commit
to casm-lang/libcasm-fe
that referenced
this issue
Apr 2, 2017
* updated implementation - used new Logger abstraction to print source locations etc. - fixed comments from: 0f965d2 - ref sealangdotorg/sea#22
ppaulweber
added a commit
to casm-lang/libcasm-tc
that referenced
this issue
Apr 3, 2017
* added some basic tests for the symbol resolver pass - related to ref sealangdotorg/sea#22
ppaulweber
added a commit
to casm-lang/libcasm-fe
that referenced
this issue
Apr 3, 2017
* improved symbol resolving checks to include the arity of a symbol - e.g. function artiy, rule parameter arity, derived parameter arity, builtin argument arity, enumeration size (=arity), and for parameter (variable), let etc. the arity is by default zero (0) - related to ref sealangdotorg/sea#22 * discovers a bug in the initialization of the program function in the AST grammar specification - bug ref sealangdotorg/sea#24
ppaulweber
added a commit
to casm-lang/libcasm-fe
that referenced
this issue
Apr 3, 2017
* implemented the missing TODO for the default program initialization, which lead to a error state in the new symbol resolver pass from ref sealangdotorg/sea#22 - fixes sealangdotorg/sea#24
ppaulweber
added a commit
to casm-lang/libcasm-fe
that referenced
this issue
Apr 3, 2017
* removed incorrect arity of enumeration type symbols and set it back to artiy of zero (0) - this will detect multiple enumeration definitions with the same name - related to ref sealangdotorg/sea#22
ppaulweber
added a commit
to casm-lang/libcasm-tc
that referenced
this issue
Apr 4, 2017
* updated enumeration tests for symbol creation - related to sealangdotorg/sea#22 - `enumeration.casm` works - `enumeration_uses.casm` still has grammar parser problems due to the `dot` in the identifier name - related to ref sealangdotorg/sea#19
ppaulweber
added a commit
to casm-lang/libcasm-fe
that referenced
this issue
Apr 4, 2017
* added new 'Namespace' class to create symbol tables with nested namespaces etc. - related to ref sealangdotorg/sea#22
ppaulweber
added a commit
to casm-lang/libcasm-fe
that referenced
this issue
Apr 4, 2017
* re-implemented the symbol resolving by splitting up the visitor in 2 phases - first traverse and register all symbols and symbol namespaces - then annotate the AST and set the corresponding CallExpression::TargetType and register missing built-in symbols - related to ref sealangdotorg/sea#22
ppaulweber
added a commit
to casm-lang/libcasm-fe
that referenced
this issue
Apr 4, 2017
* added new 'Namespace' class to create symbol tables with nested namespaces etc. - related to ref sealangdotorg/sea#22
ppaulweber
added a commit
to casm-lang/libcasm-fe
that referenced
this issue
Apr 4, 2017
* re-implemented the symbol resolving by splitting up the visitor in 2 phases - first traverse and register all symbols and symbol namespaces - then annotate the AST and set the corresponding CallExpression::TargetType and register missing built-in symbols - related to ref sealangdotorg/sea#22
ppaulweber
added a commit
to casm-lang/libcasm-fe
that referenced
this issue
Apr 5, 2017
* added as pass data result the symbol table of the pass - related to ref sealangdotorg/sea#22
ppaulweber
added a commit
to casm-lang/libcasm-fe
that referenced
this issue
Apr 5, 2017
* changed content of Namespace implementation from plain Ast::CallExpression::TargetType to a internal class 'Symbol', which contains besides the target type, the name, the definition and the artiy of a symbol * updated the resolver pass - related to ref sealangdotorg/sea#22 * added new API function to the namespace implementation to lookup besides call expressions also basic types - needed and related to ref sealangdotorg/sea#20
ppaulweber
added a commit
to casm-lang/libcasm-fe
that referenced
this issue
Apr 7, 2017
* integrated new identifier path - related to sealangdotorg/sea#19 - related to sealangdotorg/sea#22
ppaulweber
added a commit
to casm-lang/libcasm-fe
that referenced
this issue
Apr 8, 2017
* fixed 'find()' method, because it did not call the sub-namespace to search for the next namespace part - related to sealangdotorg/sea#22
ppaulweber
added a commit
to casm-lang/libcasm-fe
that referenced
this issue
Apr 8, 2017
* if a CallExpr is relative, the symbol resolver forwards this problem further to the type inference pass - related to ref sealangdotorg/sea#22 - related to ref sealangdotorg/sea#20
ppaulweber
added a commit
to casm-lang/libcasm-fe
that referenced
this issue
Apr 11, 2017
* added derived and rule 'visit()' methods to register (temporary) their parameter symbols so that they also get checked during the symbol resolving stage/phase - related to ref sealangdotorg/sea#22
This was referenced Apr 14, 2017
ppaulweber
added a commit
to casm-lang/libcasm-fe
that referenced
this issue
Apr 18, 2017
* fixed error message to print full identifier path instead only the base name - related to ref sealangdotorg/sea#22
ppaulweber
added a commit
to casm-lang/libcasm-fe
that referenced
this issue
Apr 19, 2017
* changed 'self' to be a internal 'function' element and not a 'builtin' IR element * adopted the 'init' construction and 'initially' update of the 'program' function - related to ref sealangdotorg/sea#19 - related to ref sealangdotorg/sea#22 - related to ref sealangdotorg/sea#20
ppaulweber
added a commit
to casm-lang/libcasm-fe
that referenced
this issue
Apr 19, 2017
* moved self definition inside the specification node - related to sealangdotorg/sea#19 - related to sealangdotorg/sea#22 - related to sealangdotorg/sea#20 * generated grammar parser
ppaulweber
added a commit
to casm-lang/libcasm-ir
that referenced
this issue
Apr 19, 2017
* removed 'self' built in, due to the new AST-based definition and it is general a AST-only feature - see ref sealangdotorg/sea#19 - see ref sealangdotorg/sea#20 - see ref sealangdotorg/sea#22
branch merged into #32 |
ppaulweber
added a commit
to casm-lang/libcasm-fe
that referenced
this issue
Apr 29, 2017
* changed and fixed stack-frame variable handling - related to ref sealangdotorg/sea#22
ppaulweber
added a commit
to casm-lang/libcasm-fe
that referenced
this issue
May 7, 2017
* fixed logger integration in the symbol resolver pass, due to an API change in the libstdhl::Logger implementation - see: sealangdotorg/libuse@84fe1df - related to sealangdotorg/sea#22
already completed, closing this issue for good! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The text was updated successfully, but these errors were encountered: