{"id":20582872,"url":"https://github.com/malted/aqa-pseudocode","last_synced_at":"2025-07-15T19:42:17.407Z","repository":{"id":111911956,"uuid":"539084483","full_name":"malted/aqa-pseudocode","owner":"malted","description":"An AQA Pseudocode transpiler \u0026 interpreter","archived":false,"fork":false,"pushed_at":"2022-09-20T16:33:10.000Z","size":5,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-03-06T12:47:07.452Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/malted.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-09-20T16:23:14.000Z","updated_at":"2022-09-21T17:15:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"9f77cf1c-9578-462a-99ac-0d5f6e31e984","html_url":"https://github.com/malted/aqa-pseudocode","commit_stats":null,"previous_names":["malted/aqa-pseudocode"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/malted/aqa-pseudocode","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/malted%2Faqa-pseudocode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/malted%2Faqa-pseudocode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/malted%2Faqa-pseudocode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/malted%2Faqa-pseudocode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/malted","download_url":"https://codeload.github.com/malted/aqa-pseudocode/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/malted%2Faqa-pseudocode/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265455769,"owners_count":23768617,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-16T06:37:22.893Z","updated_at":"2025-07-15T19:42:17.350Z","avatar_url":"https://github.com/malted.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Translation reference\n\n### Comments\n\n#### Single-line comments\n\n| AQA                  | JavaScript            |\n| -------------------- | --------------------- |\n| \u003cpre\u003e# comment\u003c/pre\u003e | \u003cpre\u003e// comment\u003c/pre\u003e |\n\n#### Multi-line comments\n\n| AQA                                         | JavaScript                                    |\n| ------------------------------------------- | --------------------------------------------- |\n| \u003cpre\u003e# comment\u003cbr\u003e# comment and so on\u003c/pre\u003e | \u003cpre\u003e// comment\u003cbr\u003e// comment and so on\u003c/pre\u003e |\n\n### Variables and constants\n\n#### Variable assignment\n\n| AQA                          | JavaScript                          |\n| ---------------------------- | ----------------------------------- |\n| \u003cpre\u003eIdentifier \u003c- Exp\u003c/pre\u003e | \u003cpre\u003e**let** Identifier = Exp\u003c/pre\u003e |\n\n#### Constant assignment\n\n| AQA                                       | JavaScript                            |\n| ----------------------------------------- | ------------------------------------- |\n| \u003cpre\u003e**CONSTANT** Identifier \u003c- Exp\u003c/pre\u003e | \u003cpre\u003e**const** Identifier = Exp\u003c/pre\u003e |\n\n### Arithmetic operations\n\n#### Standard arithmetic operations\n\n| AQA                           | JavaScript                    |\n| ----------------------------- | ----------------------------- |\n| \u003cpre\u003eExp {+,-,\\*,/} Exp\u003c/pre\u003e | \u003cpre\u003eExp {+,-,\\*,/} Exp\u003c/pre\u003e |\n\n#### Integer division\n\n| AQA                          | JavaScript                       |\n| ---------------------------- | -------------------------------- |\n| \u003cpre\u003eIntExp DIV IntExp\u003c/pre\u003e | \u003cpre\u003eMath.floor(Exp / Exp)\u003c/pre\u003e |\n\n#### Modulus operator\n\n| AQA                          | JavaScript           |\n| ---------------------------- | -------------------- |\n| \u003cpre\u003eIntExp MOD IntExp\u003c/pre\u003e | \u003cpre\u003eExp % Exp\u003c/pre\u003e |\n\n### Relational operators for types that can be clearly ordered\n\n#### Less than\n\n| AQA                  | JavaScript           |\n| -------------------- | -------------------- |\n| \u003cpre\u003eExp \u003c Exp\u003c/pre\u003e | \u003cpre\u003eExp \u003c Exp\u003c/pre\u003e |\n\n#### Greater than\n\n| AQA                  | JavaScript           |\n| -------------------- | -------------------- |\n| \u003cpre\u003eExp \u003e Exp\u003c/pre\u003e | \u003cpre\u003eExp \u003e Exp\u003c/pre\u003e |\n\n#### Equal to\n\n| AQA                  | JavaScript             |\n| -------------------- | ---------------------- |\n| \u003cpre\u003eExp = Exp\u003c/pre\u003e | \u003cpre\u003eExp === Exp\u003c/pre\u003e |\n\n#### Not equal to\n\n| AQA                  | JavaScript             |\n| -------------------- | ---------------------- |\n| \u003cpre\u003eExp ≠ Exp\u003c/pre\u003e | \u003cpre\u003eExp !== Exp\u003c/pre\u003e |\n\n#### Less than or equal to\n\n| AQA                  | JavaScript            |\n| -------------------- | --------------------- |\n| \u003cpre\u003eExp ≤ Exp\u003c/pre\u003e | \u003cpre\u003eExp \u003c= Exp\u003c/pre\u003e |\n\n#### Greater than or equal to\n\n| AQA                  | JavaScript            |\n| -------------------- | --------------------- |\n| \u003cpre\u003eExp ≥ Exp\u003c/pre\u003e | \u003cpre\u003eExp \u003e= Exp\u003c/pre\u003e |\n\n### Boolean operations\n\n#### Logical AND\n\n| AQA                            | JavaScript                    |\n| ------------------------------ | ----------------------------- |\n| \u003cpre\u003eBoolExp AND BoolExp\u003c/pre\u003e | \u003cpre\u003eBoolExp \u0026\u0026 BoolExp\u003c/pre\u003e |\n\n#### Logical OR\n\n| AQA                           | JavaScript                      |\n| ----------------------------- | ------------------------------- |\n| \u003cpre\u003eBoolExp OR BoolExp\u003c/pre\u003e | \u003cpre\u003eBoolExp \\|\\| BoolExp\u003c/pre\u003e |\n\n#### Logical NOT\n\n| AQA                    | JavaScript          |\n| ---------------------- | ------------------- |\n| \u003cpre\u003eNOT BoolExp\u003c/pre\u003e | \u003cpre\u003e!BoolExp\u003c/pre\u003e |\n\n### Indefinite (condition controlled) iteration\n\n#### REPEAT-UNTIL (repeat the statements until the Boolean expression is True).\n\n| AQA                                                                 | JavaScript                                                           |\n| ------------------------------------------------------------------- | -------------------------------------------------------------------- |\n| \u003cpre\u003eREPEAT\u003cbr\u003e\u0026nbsp;\u0026nbsp;# statements here\u003cbr\u003eUNTIL BoolExp\u003c/pre\u003e | \u003cpre\u003ewhile (!BoolExp) {\u003cbr\u003e\u0026nbsp;\u0026nbsp;// statements here\u003cbr\u003e}\u003c/pre\u003e |\n\n#### WHILE-ENDWHILE (while the Boolean\n\nexpression is True, repeat the\nstatements).\n\n| AQA                                                                   | JavaScript                                                          |\n| --------------------------------------------------------------------- | ------------------------------------------------------------------- |\n| \u003cpre\u003eWHILE BoolExp\u003cbr\u003e\u0026nbsp;\u0026nbsp;# statements here\u003cbr\u003eENDWHILE\u003c/pre\u003e | \u003cpre\u003ewhile (BoolExp) {\u003cbr\u003e\u0026nbsp;\u0026nbsp;// statements here\u003cbr\u003e}\u003c/pre\u003e |\n\n### Definite (count controlled) iteration\n\n#### FOR-TO-[STEP]-ENDFOR (If STEP IntExp is missing it is considered to be 1).\n\n##### Note:\n\n- If STEP IntExp is omitted the step value is 1.\n- Note that in STEP IntExp the value of IntExp\n- can be negative (see the third example)\n\n| AQA                                                                                                                    | JavaScript                                                                                                                                            |\n| ---------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |\n| \u003cpre\u003e**FOR** Identifier \u003c- IntExp **TO** IntExp [**STEP** IntExp]\u003cbr\u003e\u0026nbsp;\u0026nbsp;# statements here\u003cbr\u003e**ENDFOR**\u003c/pre\u003e | \u003cpre\u003efor (Identifier = IntExp₁; IntExp₁ (IntExp₁ \u003c IntExp₂ ? \u003c : \u003e) IntExp₂; IntExp₁ += **STEP** ?? 1) {\u003cbr\u003e\u0026nbsp;\u0026nbsp;// statements here\u003cbr\u003e}\u003c/pre\u003e |\n\n#### FOR-IN-ENDFOR (repeat the statements the number of times that there are characters in a string).\n\n| AQA                                                                                           | JavaScript                                                                        |\n| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |\n| \u003cpre\u003e**FOR** Identifier **IN** StringExp\u003cbr\u003e\u0026nbsp;\u0026nbsp;# statements here\u003cbr\u003e**ENDFOR**\u003c/pre\u003e | \u003cpre\u003efor (Identifier of StringExp) {\u003cbr\u003e\u0026nbsp;\u0026nbsp;// statements here\u003cbr\u003e}\u003c/pre\u003e |\n\n### Selection\n\n#### IF-THEN-ENDIF (execute the statements only if the Boolean expression is True).\n\n| AQA                                                                              | JavaScript                                                       |\n| -------------------------------------------------------------------------------- | ---------------------------------------------------------------- |\n| \u003cpre\u003e**IF** BoolExp **THEN**\u003cbr\u003e\u0026nbsp;\u0026nbsp;# statements here\u003cbr\u003e**ENDIF**\u003c/pre\u003e | \u003cpre\u003eif (BoolExp) {\u003cbr\u003e\u0026nbsp;\u0026nbsp;// statements here\u003cbr\u003e}\u003c/pre\u003e |\n\n#### IF-THEN-ELSE-ENDIF (execute the statements following the THEN if the Boolean expression is True, otherwise execute the statements following the ELSE).\n\n| AQA                                                                                                                           | JavaScript                                                                                                      |\n| ----------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |\n| \u003cpre\u003e**IF** BoolExp **THEN**\u003cbr\u003e\u0026nbsp;\u0026nbsp;# statements here\u003cbr\u003e**ELSE**\u003cbr\u003e\u0026nbsp;\u0026nbsp;# statements here\u003cbr\u003e**ENDIF**\u003c/pre\u003e | \u003cpre\u003eif (BoolExp) {\u003cbr\u003e\u0026nbsp;\u0026nbsp;// statements here\u003cbr\u003e} else {\u003cbr\u003e\u0026nbsp;\u0026nbsp; // statements here\u003cbr\u003e}\u003c/pre\u003e |\n\n#### NESTED IF-THEN-ELSE ENDIF (use nested versions of the above to create more complex conditions). Note that IF statements can be nested inside the THEN part, the ELSE part or both.\n\n| AQA                                                                                                                                                                                                                                                                            | JavaScript                                                                                                                                                                                                                                    |\n| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| \u003cpre\u003e**IF** BoolExp **THEN**\u003cbr\u003e\u0026nbsp;\u0026nbsp;# statements here\u003cbr\u003e**ELSE**\u003cbr\u003e\u0026nbsp;\u0026nbsp;**IF** BoolExp **THEN**\u003cbr\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;# statements here\u003cbr\u003e\u0026nbsp;\u0026nbsp;**ELSE**\u003cbr\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;# statements here\u003cbr\u003e\u0026nbsp;\u0026nbsp;**ENDIF**\u003cbr\u003e**ENDIF**\u003c/pre\u003e | \u003cpre\u003eif (BoolExp) {\u003cbr\u003e\u0026nbsp;\u0026nbsp;// statements here\u003cbr\u003e} else {\u003cbr\u003e\u0026nbsp;\u0026nbsp;if (BoolExp) {\u003cbr\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;// statements here\u003cbr\u003e\u0026nbsp;\u0026nbsp;else {\u003cbr\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;// statements here\u003cbr\u003e\u0026nbsp;\u0026nbsp;}\u003cbr\u003e}\u003c/pre\u003e |\n\n#### IF-THEN-ELSE IF ENDIF (removes the need for multiple indentation levels).\n\n| AQA                                                                                                                                                                                                                                    | JavaScript                                                                                                                                                                |\n| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| \u003cpre\u003e**IF** BoolExp **THEN**\u003cbr\u003e\u0026nbsp;\u0026nbsp;# statements here\u003cbr\u003e**ELSE IF BoolExp** **THEN**\u003cbr\u003e\u0026nbsp;\u0026nbsp;# statements here\u003cbr\u003e\u0026nbsp;\u0026nbsp;# possibly more ELSE IFs\u003cbr\u003e**ELSE**\u003cbr\u003e\u0026nbsp;\u0026nbsp;# statements here\u003cbr\u003e**ENDIF**\u003c/pre\u003e | \u003cpre\u003eif (BoolExp) {\u003cbr\u003e\u0026nbsp;\u0026nbsp;// statements here\u003cbr\u003e} else if (BoolExp) {\u003cbr\u003e\u0026nbsp;\u0026nbsp;// statements here\u003cbr\u003e} else {\u003cbr\u003e\u0026nbsp;\u0026nbsp;// statements here\u003cbr\u003e}\u003c/pre\u003e |\n\n### Arrays\n\n#### Assignment\n\n| AQA                                      | JavaScript                                  |\n| ---------------------------------------- | ------------------------------------------- |\n| \u003cpre\u003eIdentifier \u003c- [Exp, ..., Exp]\u003c/pre\u003e | \u003cpre\u003elet Identifier = [Exp, ..., Exp]\u003c/pre\u003e |\n\n#### Accessing an element\n\n| AQA                           | JavaScript                    |\n| ----------------------------- | ----------------------------- |\n| \u003cpre\u003eIdentifier[IntExp]\u003c/pre\u003e | \u003cpre\u003eIdentifier[IntExp]\u003c/pre\u003e |\n\n#### Updating an element\n\n| AQA                                  | JavaScript                          |\n| ------------------------------------ | ----------------------------------- |\n| \u003cpre\u003eIdentifier[IntExp] \u003c- Exp\u003c/pre\u003e | \u003cpre\u003eIdentifier[IntExp] = Exp\u003c/pre\u003e |\n\n#### Accessing an element in a two-dimensional array\n\n| AQA                                   | JavaScript                            |\n| ------------------------------------- | ------------------------------------- |\n| \u003cpre\u003eIdentifier[IntExp][intexp]\u003c/pre\u003e | \u003cpre\u003eIdentifier[IntExp][intexp]\u003c/pre\u003e |\n\n#### Updating an element in a two-dimensional array\n\n| AQA                                          | JavaScript                                  |\n| -------------------------------------------- | ------------------------------------------- |\n| \u003cpre\u003eIdentifier[IntExp][intexp] \u003c- Exp\u003c/pre\u003e | \u003cpre\u003eIdentifier[IntExp][intexp] = Exp\u003c/pre\u003e |\n\n#### Array length\n\n| AQA                        | JavaScript                   |\n| -------------------------- | ---------------------------- |\n| \u003cpre\u003eLEN(Identifier)\u003c/pre\u003e | \u003cpre\u003eIdentifier.length\u003c/pre\u003e |\n\n#### FOR-IN-ENDFOR (repeat the statements the number of times that there are elements in an array)\n\n##### Note:\n\n- Array items cannot\n  be modified using this\n  method\n\n| AQA                                                                                       | JavaScript                                                                      |\n| ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |\n| \u003cpre\u003e**FOR** Identifier **IN** array\u003cbr\u003e\u0026nbsp;\u0026nbsp;# statements here\u003cbr\u003e**ENDFOR**\u003c/pre\u003e | \u003cpre\u003earray.forEach(Identifier =\u003e {\u003cbr\u003e\u0026nbsp;\u0026nbsp;# statements here\u003cbr\u003e})\u003c/pre\u003e |\n\n### Records\n\n#### Record declaration\n\n##### Note:\n\n- No point trying to enforce types in JavaScript.\n- Would have been nicer to use a plain interfaced object here.\n\n| AQA                                                                                                                                                             | JavaScript                                                                                                                                                                                                                                                                                                                                             |\n| --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| \u003cpre\u003e**RECORD** Record_Identifier\u003cbr\u003e\u0026nbsp;\u0026nbsp;field1 : \u0026lt;data type\u0026gt;\u003cbr\u003e\u0026nbsp;\u0026nbsp;field2 : \u0026lt;data type\u0026gt;\u003cbr\u003e\u0026nbsp;\u0026nbsp;...\u003cbr\u003e**ENDRECORD**\u003c/pre\u003e | \u003cpre\u003e**class** Record_Identifier {\u003cbr\u003e\u0026nbsp;\u0026nbsp;field1: \u0026lt;data type\u0026gt;;\u003cbr\u003e\u0026nbsp;\u0026nbsp;field2: \u0026lt;data type\u0026gt;;\u003cbr\u003e\u0026nbsp;\u0026nbsp;...\u003cbr\u003e\u003cbr\u003e\u0026nbsp;\u0026nbsp;constructor(field1, field2) {\u003cbr\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;this.field1 = field1;\u003cbr\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;this.field2 = field2\u003cbr\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;...\u003cbr\u003e\u0026nbsp;\u0026nbsp;}\u003cbr\u003e}\u003c/pre\u003e |\n\n#### Variable Instantiation\n\n| AQA                                                           | JavaScript                                                          |\n| ------------------------------------------------------------- | ------------------------------------------------------------------- |\n| \u003cpre\u003evarName \u003c- Record_indentifier(value1, value2, ...)\u003c/pre\u003e | \u003cpre\u003elet varName = new Record_identifier(value1, value2, ...)\u003c/pre\u003e |\n\n#### Assigning a value to a field in a record\n\n| AQA                             | JavaScript                     |\n| ------------------------------- | ------------------------------ |\n| \u003cpre\u003evarName.field \u003c- Exp\u003c/pre\u003e | \u003cpre\u003evarName.field = Exp\u003c/pre\u003e |\n\n#### Accessing values of fields within records\n\n| AQA                      | JavaScript               |\n| ------------------------ | ------------------------ |\n| \u003cpre\u003evarName.field\u003c/pre\u003e | \u003cpre\u003evarName.field\u003c/pre\u003e |\n\n### Subroutines\n\n##### Note: for the purposes of this pseudo-code definition subroutines that contain a RETURN keyword are functions. Those that do not contain a RETURN keyword are procedures.\n\n#### Subroutine definition\n\n| AQA                                                                                                    | JavaScript                                                                             |\n| ------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------- |\n| \u003cpre\u003e**SUBROUTINE** Identifier(parameters)\u003cbr\u003e\u0026nbsp;\u0026nbsp;# statements here\u003cbr\u003e**ENDSUBROUTINE**\u003c/pre\u003e | \u003cpre\u003e**function** Identifier(parameters) {\u003cbr\u003e\u0026nbsp;\u0026nbsp;# statements here\u003cbr\u003e}\u003c/pre\u003e |\n\n#### Subroutine return value\n\n| AQA                       | JavaScript                |\n| ------------------------- | ------------------------- |\n| \u003cpre\u003e**RETURN** Exp\u003c/pre\u003e | \u003cpre\u003e**return** Exp\u003c/pre\u003e |\n\n#### Calling subroutines\n\n| AQA                                                                                                                                                       | JavaScript                                                                                                                                                  |\n| --------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| \u003cpre\u003e# Subroutines without a return value\u003cbr\u003eIdentifier(parameters)\u003cbr\u003e\u003cbr\u003e# Subroutines with a return value\u003cbr\u003eIdentifier ← Identifier(parameters)\u003c/pre\u003e | \u003cpre\u003e// Subroutines without a return value\u003cbr\u003eIdentifier(parameters)\u003cbr\u003e\u003cbr\u003e// Subroutines with a return value\u003cbr\u003eIdentifier = Identifier(parameters)\u003c/pre\u003e |\n\n### String handling\n\n#### String length\n\n| AQA                           | JavaScript                  |\n| ----------------------------- | --------------------------- |\n| \u003cpre\u003e**LEN**(StringExp)\u003c/pre\u003e | \u003cpre\u003eStringExp.length\u003c/pre\u003e |\n\n#### Position of a character\n\n| AQA                                         | JavaScript                            |\n| ------------------------------------------- | ------------------------------------- |\n| \u003cpre\u003e**POSITION**(StringExp, CharExp)\u003c/pre\u003e | \u003cpre\u003eStringExp.indexOf(CharExp)\u003c/pre\u003e |\n\n#### Substring\n\n##### Note:\n\n- Created by the first parameter indicating the start position within the string, the second parameter indicating the final position within the string and the third parameter being the string itself.\n\n| AQA                                                 | JavaScript                                         |\n| --------------------------------------------------- | -------------------------------------------------- |\n| \u003cpre\u003e**SUBSTRING**(IntExp, IntExp, StringExp)\u003c/pre\u003e | \u003cpre\u003eStringExp.substring(IntExp, IntExp + 1)\u003c/pre\u003e |\n\n#### Concatenation\n\n| AQA                              | JavaScript                       |\n| -------------------------------- | -------------------------------- |\n| \u003cpre\u003eStringExp + StringExp\u003c/pre\u003e | \u003cpre\u003eStringExp + StringExp\u003c/pre\u003e |\n\n### String and character conversion\n\n#### Converting string to integer\n\n| AQA                                     | JavaScript                         |\n| --------------------------------------- | ---------------------------------- |\n| \u003cpre\u003e**STRING_TO_INT**(StringExp)\u003c/pre\u003e | \u003cpre\u003e**parseInt**(StringExp)\u003c/pre\u003e |\n\n#### Converting string to real\n\n| AQA                                      | JavaScript                         |\n| ---------------------------------------- | ---------------------------------- |\n| \u003cpre\u003e**STRING_TO_REAL**(StringExp)\u003c/pre\u003e | \u003cpre\u003e**parseInt**(StringExp)\u003c/pre\u003e |\n\n#### Converting integer to string\n\n| AQA                                  | JavaScript                   |\n| ------------------------------------ | ---------------------------- |\n| \u003cpre\u003e**INT_TO_STRING**(IntExp)\u003c/pre\u003e | \u003cpre\u003eIntExp.toString()\u003c/pre\u003e |\n\n#### Converting real to string\n\n| AQA                                   | JavaScript                    |\n| ------------------------------------- | ----------------------------- |\n| \u003cpre\u003e**REAL_TO_STRING**(IntExp)\u003c/pre\u003e | \u003cpre\u003eRealExp.toString()\u003c/pre\u003e |\n\n#### Converting character to character code\n\n| AQA                                  | JavaScript                       |\n| ------------------------------------ | -------------------------------- |\n| \u003cpre\u003e**CHAR_TO_CODE**(CharExp)\u003c/pre\u003e | \u003cpre\u003eCharExp.charCodeAt(0)\u003c/pre\u003e |\n\n#### Converting character code to character\n\n| AQA                                  | JavaScript                              |\n| ------------------------------------ | --------------------------------------- |\n| \u003cpre\u003e**CODE_TO_CHAR**(CharExp)\u003c/pre\u003e | \u003cpre\u003eString.fromCharCode(CharExp)\u003c/pre\u003e |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmalted%2Faqa-pseudocode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmalted%2Faqa-pseudocode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmalted%2Faqa-pseudocode/lists"}