Skip to content

Commit 0fe985d

Browse files
Minor cleanups in dupher parser and transpiler
1 parent e369af8 commit 0fe985d

4 files changed

Lines changed: 101 additions & 196 deletions

File tree

pkg/transpilers/dupher/parser.go

Lines changed: 18 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -147,11 +147,7 @@ func (p *Parser) parseImports() ([]ImportDeclNode, error) {
147147

148148
func (p *Parser) parseImportDecl() (ImportDeclNode, error) {
149149
pos, line, col := p.loc()
150-
151-
err := p.expect(IMPORT)
152-
if err != nil {
153-
return ImportDeclNode{}, err
154-
}
150+
p.next()
155151

156152
specs, err := p.parseImportSpec()
157153
if err != nil {
@@ -269,11 +265,7 @@ func (p *Parser) parseType() (TypeNode, error) {
269265

270266
func (p *Parser) parseTupleType() (TypeNode, error) {
271267
pos, line, col := p.loc()
272-
273-
err := p.expect(OPEN_PAREN)
274-
if err != nil {
275-
return nil, err
276-
}
268+
p.next()
277269

278270
types, err := p.parseTypeList()
279271
if err != nil {
@@ -430,11 +422,7 @@ func (p *Parser) parseIdentType() (TypeNode, error) {
430422

431423
func (p *Parser) parseFuncDecl() (*FuncDeclNode, error) {
432424
pos, line, col := p.loc()
433-
434-
err := p.expect(FUNC)
435-
if err != nil {
436-
return nil, err
437-
}
425+
p.next()
438426

439427
name, err := p.parseIdent()
440428
if err != nil {
@@ -879,10 +867,7 @@ func (p *Parser) parseShortVarTupleDecl(
879867
names []string,
880868
pos, line, col int,
881869
) (StmtNode, error) {
882-
err := p.expect(WALRUS)
883-
if err != nil {
884-
return nil, err
885-
}
870+
p.next()
886871

887872
rhs, err := p.parseExpr()
888873
if err != nil {
@@ -900,11 +885,7 @@ func (p *Parser) parseShortVarTupleDecl(
900885

901886
func (p *Parser) parseVarDecl() (*VarDeclNode, error) {
902887
pos, line, col := p.loc()
903-
904-
err := p.expect(VAR)
905-
if err != nil {
906-
return nil, err
907-
}
888+
p.next()
908889

909890
name, err := p.parseIdent()
910891
if err != nil {
@@ -936,11 +917,7 @@ func (p *Parser) parseVarDecl() (*VarDeclNode, error) {
936917

937918
func (p *Parser) parseGoStmt() (*GoStmtNode, error) {
938919
pos, line, col := p.loc()
939-
940-
err := p.expect(GO)
941-
if err != nil {
942-
return nil, err
943-
}
920+
p.next()
944921

945922
expr, err := p.parseExpr()
946923
if err != nil {
@@ -957,11 +934,7 @@ func (p *Parser) parseGoStmt() (*GoStmtNode, error) {
957934

958935
func (p *Parser) parseIfStmt() (*IfStmtNode, error) {
959936
pos, line, col := p.loc()
960-
961-
err := p.expect(IF)
962-
if err != nil {
963-
return nil, err
964-
}
937+
p.next()
965938

966939
cond, err := p.parseExpr()
967940
if err != nil {
@@ -1008,11 +981,7 @@ func (p *Parser) parseIfStmt() (*IfStmtNode, error) {
1008981

1009982
func (p *Parser) parseForStmt() (*ForStmtNode, error) {
1010983
pos, line, col := p.loc()
1011-
1012-
err := p.expect(FOR)
1013-
if err != nil {
1014-
return nil, err
1015-
}
984+
p.next()
1016985

1017986
if p.peek() == OPEN_CURLY {
1018987
body, err := p.parseBlock()
@@ -1062,11 +1031,7 @@ func (p *Parser) parseForStmt() (*ForStmtNode, error) {
10621031

10631032
func (p *Parser) parseSwitchStmt() (*SwitchStmtNode, error) {
10641033
pos, line, col := p.loc()
1065-
1066-
err := p.expect(SWITCH)
1067-
if err != nil {
1068-
return nil, err
1069-
}
1034+
p.next()
10701035

10711036
tag, err := p.parseExpr()
10721037
if err != nil {
@@ -1099,13 +1064,9 @@ func (p *Parser) parseSwitchStmt() (*SwitchStmtNode, error) {
10991064

11001065
func (p *Parser) parseSelectStmt() (*SelectStmtNode, error) {
11011066
pos, line, col := p.loc()
1067+
p.next()
11021068

1103-
err := p.expect(SELECT)
1104-
if err != nil {
1105-
return nil, err
1106-
}
1107-
1108-
err = p.expect(OPEN_CURLY)
1069+
err := p.expect(OPEN_CURLY)
11091070
if err != nil {
11101071
return nil, err
11111072
}
@@ -1125,11 +1086,7 @@ func (p *Parser) parseSelectStmt() (*SelectStmtNode, error) {
11251086

11261087
func (p *Parser) parseReturnStmt() (StmtNode, error) {
11271088
pos, line, col := p.loc()
1128-
1129-
err := p.expect(RETURN)
1130-
if err != nil {
1131-
return nil, err
1132-
}
1089+
p.next()
11331090

11341091
if p.peek() == CLOSE_CURLY || p.peek() == EOF {
11351092
return &ReturnStmtNode{Position: pos, Line: line, Col: col}, nil
@@ -1249,10 +1206,7 @@ func (p *Parser) parseCase() (CaseClauseNode, error) {
12491206
}, nil
12501207
}
12511208

1252-
err := p.expect(CASE)
1253-
if err != nil {
1254-
return CaseClauseNode{}, err
1255-
}
1209+
p.next()
12561210

12571211
x, err := p.parseExpr()
12581212
if err != nil {
@@ -1310,10 +1264,7 @@ func (p *Parser) parseSelectCase() (SelectCaseNode, error) {
13101264
}, nil
13111265
}
13121266

1313-
err := p.expect(CASE)
1314-
if err != nil {
1315-
return SelectCaseNode{}, err
1316-
}
1267+
p.next()
13171268

13181269
chanOp, err := p.parseChannelOp()
13191270
if err != nil {
@@ -1618,13 +1569,9 @@ func (p *Parser) parseTypeParamExpr() (TypeNode, error) {
16181569

16191570
func (p *Parser) parseMakeExpr() (ExprNode, error) {
16201571
pos, line, col := p.loc()
1572+
p.next()
16211573

1622-
err := p.expect(MAKE)
1623-
if err != nil {
1624-
return nil, err
1625-
}
1626-
1627-
err = p.expect(OPEN_PAREN)
1574+
err := p.expect(OPEN_PAREN)
16281575
if err != nil {
16291576
return nil, err
16301577
}
@@ -1663,13 +1610,9 @@ func (p *Parser) parseMakeExpr() (ExprNode, error) {
16631610

16641611
func (p *Parser) parseSliceLiteral() (ExprNode, error) {
16651612
pos, line, col := p.loc()
1613+
p.next()
16661614

1667-
err := p.expect(OPEN_SQUARE)
1668-
if err != nil {
1669-
return nil, err
1670-
}
1671-
1672-
err = p.expect(CLOSE_SQUARE)
1615+
err := p.expect(CLOSE_SQUARE)
16731616
if err != nil {
16741617
return nil, err
16751618
}

0 commit comments

Comments
 (0)