add the synthetic "root" #57

Closed
mantkiew opened this Issue Nov 24, 2014 · 0 comments

Projects

None yet

1 participant

@mantkiew
Member
mantkiew commented Nov 24, 2014 edited

Semantically, all top-level concrete clafers in the model are children of a synthetic root clafer. The identifier root is reserved in the same way as this or parent.

The root clafer is mostly needed for referring to top-level clafers when names are ambiguous. For example, in the following model:

test/failing/gi57.cfr

a 
    b ?
b ?
[ some a.b ]
[ some root.b ]   // error 

one can only say a.b to disambiguate. Currently (0.3.7) it is not possible to say root.b to refer to the top-level clafer. The error is

Compile error at line 7 column 13...
Name resolver: 'b' not found within paths:
in context of '"none"'
@mantkiew mantkiew self-assigned this Nov 24, 2014
@mantkiew mantkiew added this to the 0.3.8 milestone Nov 24, 2014
@mantkiew mantkiew modified the milestone: 0.3.8, 0.3.9 Mar 5, 2015
@mantkiew mantkiew added this to the 0.4.1 milestone Jul 23, 2015
@mantkiew mantkiew modified the milestone: 0.4.2, 0.4.1 Sep 8, 2015
@mantkiew mantkiew modified the milestone: 0.4.3, 0.4.2 Oct 21, 2015
@mantkiew mantkiew modified the milestone: 0.4.4, 0.4.3 Dec 22, 2015
@mantkiew mantkiew added a commit that referenced this issue Jun 24, 2016
@mantkiew mantkiew fixed issue #57 20404bb
@mantkiew mantkiew closed this Jun 24, 2016
@mantkiew mantkiew referenced this issue Jun 24, 2016
Merged

Release 0.4.4 #88

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment