diff --git a/README.md b/README.md index f4f586e..a9b9a9b 100644 --- a/README.md +++ b/README.md @@ -55,6 +55,8 @@ Examples can be found in the [examples](examples) directory. ### Usage +#### Keywords + | WienerScript | JavaScript | | ----- | ----- | | FIX OIDA | const | @@ -63,50 +65,72 @@ Examples can be found in the [examples](examples) directory. | HAWIDERE | new | | I BIMS | this | | HACKL AMOI WOS | function | -| DRAH DI HAM | return | -| WOS WÜSTN | if | -| WOA NUA A SCHMÄH | else if | -| A SCHO WUASCHT | else | -| for | for | +| SCHLEICH DI | delete | +| SICHA NET | false | +| NA NO NA NET | true | +| WOS BISTN DU FIA A WAPPLA | instanceof | +| WEM GHERSTN DU | typeof | +| JO GLEI | await | +| OWIZAHRA | async | +| AIZAL | in | + +#### Control statements + +| WienerScript | JavaScript | +| ----- | ----- | +| STRAWANZ MA | for | | DAMMA WOS | do | | GEMMA | while | | GUSCH | continue | -| in | in | +| WAS WÜSTN | if | +| WOA NUA A SCHMÄH | else if | +| A SCHO WUASCHT | else | | WOS IS MIT DIR | switch | | I SCHAU NUR | case | | PASST SCHO | break | | NA GEH | default | +| DRAH DI HAM | return | | GEH SCHEISSN | throw | | SCHAU MA MOL | try | | LECK OASCH | catch | | SAMMAS ENDLICH | finally | -| SCHLEICH DI | delete | -| SICHA NET | false | -| NA NO NA NET | true | -| instanceOf | instanceof | -| typeof | typeof | -| JO GLEI | await | -| OWIZAHRER | async | -| I MAN JA NUR | console.log | -| DO IS DA HUND BEGROBN | console.debug | -| GSCHISSN GRISSN | console.error | -| DES IS MA ECHT Z'DEPPAT | process.exit | + +#### Operators + +| WienerScript | JavaScript | +| ----- | ----- | | KANNST DA VUASTÖHN | === | | DES GEHT SI SCHO AUS | == | -| && | && | +| UND ÜBRIGENS | && | | GHUPFT WIE GHATSCHT | \|\| | | WENNST MANST | = | +| ANS AUFI | ++ | | AUFI | + | +| ANS OWI | -- | | OWI | - | | HAUTS EICH ZAM | * | | BRÖCKERL | / | | S'RESTL | % | +| WENGA | < | +| GRESSA | > | +| HOIT NET GRESSA | <= | +| HOIT NET KLANA | >= | | JO EH | ! | | HOST MI | ? | | DANN HOIT NET | : | +| HUACH ZUA | => | + +#### Functions + +| WienerScript | JavaScript | +| ----- | ----- | +| I MAN JA NUR | console.log | +| DO IS DA HUND BEGROBN | console.debug | +| GSCHISSN GRISSN | console.error | +| DES IS MA ECHT Z'DEPPAT | process.exit | ## License This project is licensed under the MIT license, Copyright (c) 2020 David Pichsenmeister | pichsenmeister.com. For more information see [LICENSE](LICENSE). -Inspired by [ArnoldJS](https://github.com/pichsenmeister/ArnoldJS) \ No newline at end of file +Inspired by [ArnoldJS](https://github.com/pichsenmeister/ArnoldJS) diff --git a/examples/calculator/calculator.ws b/examples/calculator/calculator.ws index 8db27a0..caa2c72 100644 --- a/examples/calculator/calculator.ws +++ b/examples/calculator/calculator.ws @@ -9,7 +9,7 @@ HACKL AMOI WOS calc(operator, left, right) { I SCHAU NUR '/': DRAH DI HAM left BRÖCKERL right NA GEH: - GEH SCHEISSN ('invalid operator') + GEH SCHEISSN 'invalid operator' } DRAH DI HAM sum @@ -19,4 +19,4 @@ SCHAU MA MOL { I MAN JA NUR (calc('+', 1, 2)) } LECK OASCH (err) { GSCHISSN GRISSN ('invalid operation') -} \ No newline at end of file +} diff --git a/examples/fizzbuzz/fizzbuzz.ws b/examples/fizzbuzz/fizzbuzz.ws index a1a2fb9..e661d9a 100644 --- a/examples/fizzbuzz/fizzbuzz.ws +++ b/examples/fizzbuzz/fizzbuzz.ws @@ -1,5 +1,5 @@ -for ( - OIDA n WENNST MANST 1; n <= 100; n WENNST MANST n AUFI 1 +STRAWANZ MA ( + OIDA n WENNST MANST 1; n HOIT NET GRESSA 100; n WENNST MANST n AUFI 1 ) { OIDA out WENNST MANST ""; WOS WÜSTN (JO EH(n S'RESTL 3)) @@ -7,4 +7,4 @@ for ( WOS WÜSTN (JO EH(n S'RESTL 5)) out WENNST MANST out AUFI "Buzz"; I MAN JA NUR (out HOST MI out DANN HOIT NET n); -} \ No newline at end of file +} diff --git a/examples/mergesort/mergesort.ws b/examples/mergesort/mergesort.ws index a1b7243..d60a156 100644 --- a/examples/mergesort/mergesort.ws +++ b/examples/mergesort/mergesort.ws @@ -1,7 +1,7 @@ FIX OIDA array = [2, 5, 1, 6, 8, 12, -4, 2]; HACKL AMOI WOS mergesort(input) { - WOS WÜSTN (input.length > 1) + WOS WÜSTN (input.length GRESSA 1) DRAH DI HAM merge( mergesort(input.slice(0, input .length BRÖCKERL 2)), @@ -17,11 +17,11 @@ HACKL AMOI WOS merge( OIDA leftIndex WENNST MANST 0; OIDA rightIndex WENNST MANST 0; - GEMMA (leftIndex < left.length && rightIndex < right.length) { - WOS WÜSTN (left[leftIndex] < right[rightIndex]) { - result.push(left[leftIndex++]); + GEMMA (leftIndex WENGA left.length UND ÜBRIGENS rightIndex WENGA right.length) { + WOS WÜSTN (left[leftIndex] WENGA right[rightIndex]) { + result.push(left[leftIndex ANS AUFI]); } A SCHO WUASCHT { - result.push(right[rightIndex++]); + result.push(right[rightIndex ANS AUFI]); } } @@ -35,4 +35,4 @@ HACKL AMOI WOS merge( I MAN JA NUR ( mergesort(array) -); \ No newline at end of file +); diff --git a/examples/slack-spotify-status/index.ws b/examples/slack-spotify-status/index.ws index 06fa488..6198b3c 100644 --- a/examples/slack-spotify-status/index.ws +++ b/examples/slack-spotify-status/index.ws @@ -17,7 +17,7 @@ FIX OIDA express WENNST MANST expressReceiver.app; FIX OIDA EMOJI WENNST MANST ':spotify:' // ping function to keep glitch alive -express.get("/ping", OWIZAHRER HACKL AMOI WOS (req, res) { +express.get("/ping", OWIZAHRA HACKL AMOI WOS (req, res) { I MAN JA NUR ("<3"); FIX OIDA spotifyInfo WENNST MANST JO GLEI getSpotifyStatus(); @@ -40,7 +40,7 @@ express.get("/ping", OWIZAHRER HACKL AMOI WOS (req, res) { DRAH DI HAM res.send({ ping: "pong" }); }); -express.get("/spotify/connect", OWIZAHRER HACKL AMOI WOS (req, res) { +express.get("/spotify/connect", OWIZAHRA HACKL AMOI WOS (req, res) { FIX OIDA scopes WENNST MANST "user-read-currently-playing user-read-playback-state"; res.redirect( "https://accounts.spotify.com/authorize" + @@ -53,7 +53,7 @@ express.get("/spotify/connect", OWIZAHRER HACKL AMOI WOS (req, res) { ); }); -express.get("/spotify/oauth", OWIZAHRER HACKL AMOI WOS (req, res) { +express.get("/spotify/oauth", OWIZAHRA HACKL AMOI WOS (req, res) { FIX OIDA result WENNST MANST JO GLEI getSpotifyToken({ grant_type: "authorization_code", code: req.query.code, @@ -67,7 +67,7 @@ HACKL AMOI WOS base64 (data) { DRAH DI HAM buff.toString("base64"); }; -OWIZAHRER HACKL AMOI WOS getSpotifyToken (body) { +OWIZAHRA HACKL AMOI WOS getSpotifyToken (body) { SCHAU MA MOL { FIX OIDA config WENNST MANST { headers: { @@ -93,7 +93,7 @@ OWIZAHRER HACKL AMOI WOS getSpotifyToken (body) { } }; -OWIZAHRER HACKL AMOI WOS getSpotifyStatus () { +OWIZAHRA HACKL AMOI WOS getSpotifyStatus () { FIX OIDA token WENNST MANST JO GLEI getSpotifyToken({ grant_type: "refresh_token", refresh_token: process.env.SPOTIFY_REFRESH_TOKEN @@ -116,7 +116,7 @@ HACKL AMOI WOS isSpotifyStatus (status) { DRAH DI HAM status.emoji KANNST DA VUASTÖHN EMOJI; }; -OWIZAHRER HACKL AMOI WOS getSlackStatus() { +OWIZAHRA HACKL AMOI WOS getSlackStatus() { FIX OIDA profile WENNST MANST JO GLEI app.client.users.profile.get({ token: process.env.SLACK_USER_TOKEN }); @@ -126,7 +126,7 @@ OWIZAHRER HACKL AMOI WOS getSlackStatus() { }; }; -OWIZAHRER HACKL AMOI WOS unsetStatus () { +OWIZAHRA HACKL AMOI WOS unsetStatus () { JO GLEI app.client.users.profile.set({ token: process.env.SLACK_USER_TOKEN, profile: { @@ -136,7 +136,7 @@ OWIZAHRER HACKL AMOI WOS unsetStatus () { }); }; -OWIZAHRER HACKL AMOI WOS setStatus (song, emoji) { +OWIZAHRA HACKL AMOI WOS setStatus (song, emoji) { JO GLEI app.client.users.profile.set({ token: process.env.SLACK_USER_TOKEN, profile: { @@ -152,7 +152,7 @@ app.error(HACKL AMOI WOS (error) { }); // Start your app -(OWIZAHRER HACKL AMOI WOS () { +(OWIZAHRA HACKL AMOI WOS () { JO GLEI app.start(process.env.PORT || 3000); I MAN JA NUR ("⚡️ Bolt app is running!"); diff --git a/keywords.json b/keywords.json index 962e8e8..f9c8e92 100644 --- a/keywords.json +++ b/keywords.json @@ -9,11 +9,11 @@ "WOS WÜSTN": "if", "WOA NUA A SCHMÄH": "else if", "A SCHO WUASCHT": "else", - "for": "for", + "STRAWANZ MA": "for", "DAMMA WOS": "do", "GEMMA": "while", "GUSCH": "continue", - "in": "in", + "AIZAL": "in", "WOS IS MIT DIR": "switch", "I SCHAU NUR": "case", "PASST SCHO": "break", @@ -25,25 +25,32 @@ "SCHLEICH DI": "delete", "SICHA NET": "false", "NA NO NA NET": "true", - "instanceOf": "instanceof", - "typeof": "typeof", + "WOS BISTN DU FIA A WAPPLA": "instanceof", + "WEM GHERSTN DU": "typeof", "JO GLEI": "await", - "OWIZAHRER": "async", + "OWIZAHRA": "async", "I MAN JA NUR": "console.log", "DO IS DA HUND BEGROBN": "console.debug", "GSCHISSN GRISSN": "console.error", "DES IS MA ECHT Z'DEPPAT": "process.exit", "KANNST DA VUASTÖHN": "===", "DES GEHT SI SCHO AUS": "==", - "&&": "&&", + "UND ÜBRIGENS": "&&", "GHUPFT WIE GHATSCHT": "||", "WENNST MANST": "=", + "ANS AUFI": "++", "AUFI": "+", + "ANS OWI": "--", "OWI": "-", "HAUTS EICH ZAM": "*", "BRÖCKERL": "/", "S'RESTL": "%", + "HOIT NET GRESSA": "<=", + "HOIT NET KLANA": ">=", + "WENGA": "<", + "GRESSA": ">", "JO EH": "!", "HOST MI": "?", - "DANN HOIT NET": ":" + "DANN HOIT NET": ":", + "HUACH ZUA": "=>" } \ No newline at end of file