rokucommunity / rokucommunity/brighterscript

support switch statements

Open
#15 11 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

BrighterScript New Language Feature
Dominant language
TypeScript
Stars
208
Forks
68
Avg merge
8h 39m
Merged PRs (30d)
39

Description

switch something
   case somethingElse1:
            ' ...
   case somethingElse2:
            ' ...
   case somethingElse3:
            ' ...
   default:
            ' ...
end switch

should transpile to:

if something = somethingElse1 then
    ' ...
else if  something = somethingElse2 then
    ' ...
else if  something = somethingElse3 then
    ' ...
else
   ' ...
end if

may because of the if else, the break statement is implied, otherwise it might be transpiled with goto statements to support fallthrough.

if something = somethingElse1 then
   goto somethingElse1Label
else if ...
somethingElse1Label:
   '...

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source files, tests, or entry points are named. Start by locating the transpiler handling for conditional and block statements, then trace how BrightScript syntax is parsed and emitted. Done means switch statements transpile correctly, including the intended behavior for implicit breaks and possible fallthrough.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
compilers
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.