Skip to content
This repository was archived by the owner on Jan 11, 2026. It is now read-only.

Commit 14dde06

Browse files
committed
final touches
1 parent 6b23e59 commit 14dde06

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+1295
-298
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# MiniLang -> WASM Compiler
1+
# ToyLang -> WASM Compiler
22

33
## Prereqs
44

@@ -32,7 +32,7 @@ make build
3232
make start
3333
```
3434

35-
Open http://localhost:3000 and you get the playground.
35+
Open http://localhost:3000.
3636

3737
## Style
3838

compiler/Program.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
using System.Text;
22
using System.Text.Json;
33
using System.Text.Json.Serialization;
4-
using MiniLang.Semantic;
5-
using MiniLang.Syntax;
6-
using MiniLang.Wasm;
4+
using ToyLang.Semantic;
5+
using ToyLang.Syntax;
6+
using ToyLang.Wasm;
77

88
public class Program
99
{

compiler/analyzer/Analyzer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using MiniLang.Syntax;
1+
using ToyLang.Syntax;
22

33
public sealed class Analyzer
44
{

compiler/analyzer/Ast.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
using System.Text.Json.Serialization;
22

3-
namespace MiniLang.Syntax
3+
namespace ToyLang.Syntax
44
{
55
public abstract record AstNode(int Line, int Column);
66

compiler/semantic/AstUtils.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
using MiniLang.Syntax;
1+
using ToyLang.Syntax;
22

3-
namespace MiniLang.Semantic;
3+
namespace ToyLang.Semantic;
44

55
public static class AstUtils
66
{

compiler/semantic/CodePrinter.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
using MiniLang.Syntax;
1+
using ToyLang.Syntax;
22

3-
namespace MiniLang.Semantic;
3+
namespace ToyLang.Semantic;
44

55
public static class CodePrinter
66
{

compiler/semantic/Optimizer.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
using MiniLang.Syntax;
1+
using ToyLang.Syntax;
22

3-
namespace MiniLang.Semantic;
3+
namespace ToyLang.Semantic;
44

55
public static class Optimizer
66
{

compiler/semantic/SemanticAnalyzer.cs

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
1-
using System;
2-
using System.Collections.Generic;
3-
using System.Linq;
4-
using MiniLang.Syntax;
1+
using ToyLang.Syntax;
52

6-
namespace MiniLang.Semantic;
3+
namespace ToyLang.Semantic;
74

85
public sealed class SemanticAnalyzer
96
{
@@ -353,7 +350,7 @@ private void ValidateMethodBody(MethodDecl m, ClassInfo? cls, Dictionary<string,
353350
foreach (var st in b.Statements)
354351
{
355352
if (afterReturn)
356-
AddWarning(Stage.Semantic, st.Line, "Dead code xd", hint: null);
353+
AddWarning(Stage.Semantic, st.Line, "Unreachable code", hint: null);
357354
ValidateStmt(st, cls, locals, typeParams, m, inLoop: false);
358355
if (st is ReturnStmt)
359356
afterReturn = true;
@@ -449,9 +446,6 @@ private void ValidateStmt(Statement s, ClassInfo? cls, Dictionary<string, Simple
449446
break;
450447
case IfStmt i:
451448
ValidateExprSemantics(i.Condition, cls, locals, typeParams, inMethod: true);
452-
var ct = TryInferExprType(i.Condition, locals, cls?.Fields, typeParams, inMethod: true, currentClass: cls);
453-
if (ct != null && !TypeUtils.IsBoolean(ct))
454-
AddError(Stage.Semantic, i.Line, "If condition must be Boolean", "if");
455449
var thenLocals = new Dictionary<string, SimpleType>(locals, StringComparer.Ordinal);
456450
ValidateStmt(i.Then, cls, thenLocals, typeParams, method, inLoop);
457451
if (i.Else != null)

compiler/semantic/SimpleType.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
namespace MiniLang.Semantic;
1+
namespace ToyLang.Semantic;
22

33
public sealed class SimpleType
44
{

compiler/semantic/SourceMapping.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
namespace MiniLang.Semantic;
1+
namespace ToyLang.Semantic;
22

33
internal static class SourceMapping
44
{

0 commit comments

Comments
 (0)