Merge pull request 'tree-cleanup' (#9) from tree-cleanup into main

Reviewed-on: #9
This commit is contained in:
Sasha Koshka 2022-08-25 00:24:41 +00:00
commit e74aff3299
7 changed files with 23 additions and 28 deletions

View File

@ -1,8 +1,8 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 288 80" width="288" height="80"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 288 80" width="288" height="80">
<path d="M48 0L112 0L112 32L96 32L96 16L56 16L40 32L16 32L48 0Z" fill="#bf616a" fill-rule="evenodd" opacity="1" stroke="none"/> <path d="M48 0L112 0L112 32L96 32L96 16L56 16L40 32L16 32L48 0Z" fill="#b81414" fill-rule="evenodd" opacity="1" stroke="none"/>
<path d="M96 64L136 64L136 80L104 80L96 72L96 64Z" fill="#bf616a" fill-rule="evenodd" opacity="1" stroke="none"/> <path d="M96 64L136 64L136 80L104 80L96 72L96 64Z" fill="#b81414" fill-rule="evenodd" opacity="1" stroke="none"/>
<path d="M120 0L120 32L136 32L136 16L184 16L184 32L176 40L8 40L0 48L0 56L184 56L200 40L200 32L200 0L120 0Z" fill="#bf616a" fill-rule="evenodd" opacity="1" stroke="none"/> <path d="M120 0L120 32L136 32L136 16L184 16L184 32L176 40L8 40L0 48L0 56L184 56L200 40L200 32L200 0L120 0Z" fill="#b81414" fill-rule="evenodd" opacity="1" stroke="none"/>
<path d="M191 61L204 48L236 80L210 80L191 61Z" fill="#bf616a" fill-rule="evenodd" opacity="1" stroke="none"/> <path d="M191 61L204 48L236 80L210 80L191 61Z" fill="#b81414" fill-rule="evenodd" opacity="1" stroke="none"/>
<path d="M256 40L208 40L224 56L256 56L256 40Z" fill="#bf616a" fill-rule="evenodd" opacity="1" stroke="none"/> <path d="M256 40L208 40L224 56L256 56L256 40Z" fill="#b81414" fill-rule="evenodd" opacity="1" stroke="none"/>
<path d="M208 0L288 0L288 16L224 16L224 32L208 32L208 0Z" fill="#bf616a" fill-rule="evenodd" opacity="1" stroke="none"/> <path d="M208 0L288 0L288 16L224 16L224 32L208 32L208 0Z" fill="#b81414" fill-rule="evenodd" opacity="1" stroke="none"/>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 847 B

After

Width:  |  Height:  |  Size: 847 B

View File

@ -45,6 +45,8 @@ const (
TokenKindPercent TokenKindPercent
TokenKindTilde TokenKindTilde
// TODO: add equal to, less than or equal to, greater than or equal to,
// not equal to
TokenKindLessThan TokenKindLessThan
TokenKindLShift TokenKindLShift
TokenKindGreaterThan TokenKindGreaterThan

View File

@ -32,7 +32,7 @@ func (parser *ParsingOperation) parseFaceSection () (
if err != nil { return } if err != nil { return }
err = parser.nextToken(lexer.TokenKindName) err = parser.nextToken(lexer.TokenKindName)
if err != nil { return } if err != nil { return }
section.inherits = parser.token.Value().(string) section.inherits, err = parser.parseIdentifier()
if err != nil { return } if err != nil { return }
err = parser.nextToken(lexer.TokenKindNewline) err = parser.nextToken(lexer.TokenKindNewline)
if err != nil { return } if err != nil { return }

View File

@ -13,10 +13,7 @@ func (parser *ParsingOperation) parseObjtSection () (
err = parser.expect(lexer.TokenKindName) err = parser.expect(lexer.TokenKindName)
if err != nil { return } if err != nil { return }
section = &ObjtSection { section = &ObjtSection { location: parser.token.Location() }
location: parser.token.Location(),
members: make(map[string] ObjtMember),
}
// get permission // get permission
err = parser.nextToken(lexer.TokenKindPermission) err = parser.nextToken(lexer.TokenKindPermission)
@ -33,7 +30,7 @@ func (parser *ParsingOperation) parseObjtSection () (
if err != nil { return } if err != nil { return }
err = parser.nextToken() err = parser.nextToken()
if err != nil { return } if err != nil { return }
section.inherits, err = parser.parseType() section.inherits, err = parser.parseIdentifier()
if err != nil { return } if err != nil { return }
err = parser.expect(lexer.TokenKindNewline) err = parser.expect(lexer.TokenKindNewline)
if err != nil { return } if err != nil { return }
@ -68,7 +65,7 @@ func (parser *ParsingOperation) parseObjtMembers (
// add member to object section // add member to object section
var member ObjtMember var member ObjtMember
member, err = parser.parseObjtMember() member, err = parser.parseObjtMember()
into.members[member.name] = member into.members = append(into.members, member)
if err != nil { return } if err != nil { return }
} }
} }

View File

@ -13,17 +13,17 @@ objt ro BitFields:Obj
ro that:Int & 1 ro that:Int & 1
ro this:Int & 24 298 ro this:Int & 24 298
objt ro ComplexInit:Obj objt ro ComplexInit:Obj
ro basic:Int 87 ro whatever:{Int 3}
230984
849
394580
ro complex0:Bird ro complex0:Bird
.that 98 .that 98
.this 2 .this 2
ro complex1:Bird ro complex1:Bird
.that 98902 .that 98902
.this 235 .this 235
ro whatever:{Int 3} ro basic:Int 87
230984
849
394580
objt ro Init:Obj objt ro Init:Obj
ro that:String "hello world" ro that:String "hello world"
ro this:Int 23 ro this:Int 23

View File

@ -327,8 +327,8 @@ func (section *ObjtSection) ToString (indent int) (output string) {
section.name, ":", section.name, ":",
section.inherits.ToString(), "\n") section.inherits.ToString(), "\n")
for _, name := range sortMapKeysAlphabetically(section.members) { for _, member := range section.members {
output += section.members[name].ToString(indent + 1) output += member.ToString(indent + 1)
} }
return return
} }
@ -367,7 +367,7 @@ func (section *FaceSection) ToString (indent int) (output string) {
"face ", "face ",
section.permission.ToString(), " ", section.permission.ToString(), " ",
section.name, ":", section.name, ":",
section.inherits, "\n") section.inherits.ToString(), "\n")
for _, name := range sortMapKeysAlphabetically(section.behaviors) { for _, name := range sortMapKeysAlphabetically(section.behaviors) {
behavior := section.behaviors[name] behavior := section.behaviors[name]

View File

@ -190,12 +190,9 @@ type ObjtSection struct {
location file.Location location file.Location
name string name string
// TODO: make this Identifier instead of Type inherits Identifier
inherits Type
permission types.Permission permission types.Permission
// TODO: order matters here we need to store these in an array members []ObjtMember
// TODO: add bitfield support (:n)
members map[string] ObjtMember
} }
type EnumMember struct { type EnumMember struct {
@ -227,8 +224,7 @@ type FaceBehavior struct {
type FaceSection struct { type FaceSection struct {
location file.Location location file.Location
name string name string
// TODO: make this Identifier instead of string inherits Identifier
inherits string
permission types.Permission permission types.Permission
behaviors map[string] FaceBehavior behaviors map[string] FaceBehavior