From 2a1e8c5df7a2b96651f230e0e0b1af9a765d1a52 Mon Sep 17 00:00:00 2001 From: Sasha Koshka Date: Fri, 16 Sep 2022 22:48:24 -0400 Subject: [PATCH] Implemented parsing bit width --- parser/type-notation.go | 7 +++++++ tests/parser/type/main.arf | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/parser/type-notation.go b/parser/type-notation.go index e13fb73..d428520 100644 --- a/parser/type-notation.go +++ b/parser/type-notation.go @@ -297,6 +297,13 @@ func (parser *ParsingOperation) parseObjectNewMember () ( if err != nil { return } // TODO: get bit width + if parser.token.Is(lexer.TokenKindBinaryAnd) { + err = parser.nextToken(lexer.TokenKindUInt) + if err != nil { return } + member.bitWidth = parser.token.Value().(uint64) + err = parser.nextToken() + if err != nil { return } + } return } diff --git a/tests/parser/type/main.arf b/tests/parser/type/main.arf index 20f5131..8ffe9df 100644 --- a/tests/parser/type/main.arf +++ b/tests/parser/type/main.arf @@ -16,7 +16,7 @@ type ro dInitInherit:aBasic:( .that:<9384> .this:<389>) -type ro cInitAndDefine:aBasic:( +type ro eInitAndDefine:aBasic:( .this:<389> .ro these:aBasic:( .ro born:Int:<4>