@@ -4,7 +4,7 @@ pub(all) struct Parser {
44 mut index : Int
55}
66
7- pub ( readonly ) type! ParserError {
7+ pub type! ParserError {
88 UnexpectedToken (expected ~: Token , received ~: Token )
99 ExpectedIdentifier (Token )
1010 ExpectedExpr (Token )
@@ -15,15 +15,15 @@ pub fn Parser::new(tokens: Array[Token]) -> Parser {
1515 { tokens , index : 0 , defines : {} }
1616}
1717
18- fn peek (self : Parser ) -> Token {
18+ fn Parser :: peek (self : Parser ) -> Token {
1919 self .tokens[self .index]
2020}
2121
22- fn lookahead (self : Parser , n : Int ) -> Token {
22+ fn Parser :: lookahead (self : Parser , n : Int ) -> Token {
2323 self .tokens[self .index + n ]
2424}
2525
26- fn advance (self : Parser ) -> Unit {
26+ fn Parser :: advance (self : Parser ) -> Unit {
2727 self .index + = 1
2828}
2929
@@ -36,15 +36,15 @@ fn expect(self: Parser, expected: Token) -> Unit!ParserError {
3636 }
3737}
3838
39- fn matches (self : Parser , token : Token ) -> Bool {
39+ fn Parser :: matches (self : Parser , token : Token ) -> Bool {
4040 self .peek () == token
4141}
4242
4343fn matches_predicate (self : Parser , predicate : (Token ) -> Bool ) -> Bool {
4444 predicate (self .peek ())
4545}
4646
47- fn consumes (self : Parser , token : Token ) -> Bool {
47+ fn Parser :: consumes (self : Parser , token : Token ) -> Bool {
4848 if self .matches (token ) {
4949 self .advance ()
5050 true
@@ -53,12 +53,12 @@ fn consumes(self: Parser, token: Token) -> Bool {
5353 }
5454}
5555
56- fn consumeIfPresent (self : Parser , token : Token ) -> Unit {
56+ fn Parser :: consumeIfPresent (self : Parser , token : Token ) -> Unit {
5757 let _ = self .consumes (token )
5858
5959}
6060
61- fn parse_identifier (self : Parser ) -> String !ParserError {
61+ fn Parser :: parse_identifier (self : Parser ) -> String !ParserError {
6262 let token = self .peek ()
6363 match token {
6464 Identifier (name ) => {
@@ -69,7 +69,7 @@ fn parse_identifier(self: Parser) -> String!ParserError {
6969 }
7070}
7171
72- fn parse_primary_expr (self : Parser ) -> SourceExpr !ParserError {
72+ fn Parser :: parse_primary_expr (self : Parser ) -> SourceExpr !ParserError {
7373 let token = self .peek ()
7474 match token {
7575 Constant (base ~, value ~, size ~) => {
@@ -100,7 +100,7 @@ fn parse_primary_expr(self: Parser) -> SourceExpr!ParserError {
100100 }
101101}
102102
103- fn parse_additive_expr (self : Parser ) -> SourceExpr !ParserError {
103+ fn Parser :: parse_additive_expr (self : Parser ) -> SourceExpr !ParserError {
104104 let mut lhs = self .parse_primary_expr! ()
105105 while true {
106106 if self .consumes (Plus ) {
@@ -116,11 +116,11 @@ fn parse_additive_expr(self: Parser) -> SourceExpr!ParserError {
116116 lhs
117117}
118118
119- fn parse_expr (self : Parser ) -> SourceExpr !ParserError {
119+ fn Parser :: parse_expr (self : Parser ) -> SourceExpr !ParserError {
120120 self .parse_additive_expr! ()
121121}
122122
123- fn parse_directive_args (self : Parser ) -> Array [SourceExpr ]!ParserError {
123+ fn Parser :: parse_directive_args (self : Parser ) -> Array [SourceExpr ]!ParserError {
124124 let args : Array [SourceExpr ] = []
125125 while true {
126126 let expr = self .parse_expr! ()
@@ -132,7 +132,7 @@ fn parse_directive_args(self: Parser) -> Array[SourceExpr]!ParserError {
132132 args
133133}
134134
135- fn parse_addressing_mode (
135+ fn Parser :: parse_addressing_mode (
136136 self : Parser ,
137137 opcode ~: OpCode
138138) -> SourceAddressingMode !ParserError {
@@ -200,7 +200,7 @@ fn parse_addressing_mode(
200200 }
201201}
202202
203- fn parse_inst (self : Parser ) -> SourceItem !ParserError {
203+ fn Parser :: parse_inst (self : Parser ) -> SourceItem !ParserError {
204204 let token = self .peek ()
205205
206206 match token {
@@ -232,7 +232,7 @@ fn parse_inst(self: Parser) -> SourceItem!ParserError {
232232 }
233233}
234234
235- pub fn parse (self : Parser ) -> Array [SourceItem ]!ParserError {
235+ pub fn Parser :: parse (self : Parser ) -> Array [SourceItem ]!ParserError {
236236 let insts : Array [SourceItem ] = []
237237
238238 while self .index < self .tokens.length () {
0 commit comments