TableAn AssignStrBase intermediate class was needed because two of the string entry classes have a different recreate function. The sub-string assign entries will also need this recreate function. The assign string recreate function was left in place since it is still used by the sub-string assign entries. For now the recreate function of the AssignStrBase calls this function.
├── Command
│ └── Let [let]
└── Internal
└── Assign
├── AssignDbl [assignDbl]
├── AssignInt [assignInt]
├── AssignListDbl [assignListDbl]
├── AssignListInt [assignListInt]
├── AssignListStr [assignListStr]
└── AssignStrBase
├── AssignStr [assignStr]
└── AssignKeepStr [assignKeepStr]
The let recreate function that adds the LET keyword if the Option sub-code is set was made a static function of the Assign intermediate class and renamed to recreate let. It was made public static to be accessible by the assign string recreate function. This will be cleaned up when the sub-string assign entries are implemented into the new table class hierarchy.
New Table, Operand and Internal constructors were added with additional arguments needed to support these new classes. The base virtual table translate function was modified to call the LET translate virtual function directly. The LET translate function determines the validity of the token. This was the last use of the translate function pointer member, so it was removed along with its access function.
[branch table commit c575b478ac]
No comments:
Post a Comment
All comments and feedback welcomed, whether positive or negative.
(Anonymous comments are allowed, but comments with URL links or unrelated comments will be removed.)