ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Cambridge IGCSE and A Level pseudocode compiler. DO NOT HOST, deploy, or give this away without written permission — free, a school, or one country still counts. Official site only.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗A browser-based pseudocode interpreter for Cambridge IGCSE Computer Science (0478/0984/2210) and Cambridge International AS & A Level Computer Science (9618). Write and run pseudocode, practice past-paper questions, and simulate timed exams — all in one place.
Live: pseudocode-compiler.sherlemious.com
[!CAUTION] The source is public to read. It is not yours to deploy. Hosting, deploying, mirroring, or giving this away needs prior written permission. That includes free, non-commercial, a school, a class, students, and only in one country. The only public copy is the live site above. Full terms: LICENSE. Email [email protected] to ask. Silence is not permission.
DATE, pointers, sets, BYREF/BYVAL, random-access files, CASE ranges, and classes.Ctrl/⌘ K opens a grouped, searchable palette for every action (run, format, open, navigate, links), plus tidy Open and Export menus for examples, files, downloads, and share links.INPUT support with interactive prompts, and OPENFILE, READFILE, WRITEFILE (including random-access records) simulated in browser storage.| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router), React 19 |
| Language | TypeScript 5 |
| Styling | Tailwind CSS v4, tailwind-scrollbar |
| Components | Radix UI, lucide-react / simple-icons, sonner |
| Editor | CodeMirror 6 (@codemirror/lang-python for Python view) |
| Parser | antlr4ng v3 (custom ANTLR4 grammar) |
| Flowcharts | React Flow (@xyflow/react) + dagre layout |
| Database | PostgreSQL via Neon |
| ORM | Prisma 6 |
| Auth | Auth.js (NextAuth v5) |
| Resend | |
| Analytics | PostHog |
| Markdown | react-markdown, remark-gfm |
| Theming | react-colorful (custom theme editor) |
| Testing | Vitest |
IGCSE-Pseudocode-Online-Compiler/
├── app/ # Next.js application
│ ├── prisma/
│ │ ├── schema.prisma # Database schema
│ │ ├── seed.ts # Seed script
│ │ └── migrations/
│ ├── public/
│ └── src/
│ ├── app/ # Thin App Router pages & API routes
│ ├── modules/
│ │ ├── interpreter/ # Language runtime (grammar, parser, VM)
│ │ ├── compiler/ # Playground UI + shared editor kit
│ │ ├── billing/ # Pricing, Paddle, entitlements
│ │ ├── practice/ # Practice UI + autograder
│ │ ├── exams/ # Exam take / author UI
│ │ ├── classes/ # Classes & assignments
│ │ ├── auth/ # NextAuth, session UI, email
│ │ ├── admin/ # Admin gate helper
│ │ ├── progress/ # Student progress widgets
│ │ ├── telemetry/ # PostHog wiring
│ │ ├── onboarding/ # Tours & nudges
│ │ ├── feedback/ # Bug report / survey
│ │ ├── share/ # Share buttons
│ │ ├── docs/ # llms.txt + docs TOC
│ │ └── content/ # Built-in examples + FAQ
│ ├── shared/ # Layout, UI primitives, Prisma, SEO
│ ├── theme/ # Theme context, presets, validation
│ └── types/
├── README.md
└── LICENSE
See pseudocode.md for the full syntax reference.
INTEGER, REAL, CHAR, STRING, BOOLEANDECLARE, CONSTANT← or <-INPUT, OUTPUT+, -, *, /, ^, DIV, MOD=, <>, <, >, <=, >=AND, OR, NOTIF/THEN/ELSE/ENDIF, CASE OF/OTHERWISE/ENDCASEFOR/TO/STEP/NEXT, WHILE/DO/ENDWHILE, REPEAT/UNTILPROCEDURE/ENDPROCEDURE, FUNCTION/RETURNS/ENDFUNCTION, CALL, RETURNOPENFILE, READFILE, WRITEFILE, CLOSEFILELENGTH(), LCASE(), UCASE(), SUBSTRING()ROUND(), RANDOM(), INT(), EOF()// single lineTYPE records (dot notation), enums (ordinal arithmetic), pointers (^x, ptr^), SET OF + DEFINEDATE type — dd/mm/yyyy literalsCASE — ranges (1 TO 5 :) and multi-value labelsBYREF / BYVAL (sticky across following params)OPENFILE ... FOR RANDOM, SEEK, GETRECORD, PUTRECORDCLASS/ENDCLASS, INHERITS, PUBLIC/PRIVATE (runtime-enforced), constructor NEW, SUPER, obj <- NEW ClassName(...)ELSE IF — accepted as a two-word alias for ELSEIFOne superset grammar covers both qualifications — all syntax is always available, with no mode toggle.
These steps are for running the app on your own machine while reading the code or preparing a change to send back here. They are not permission to deploy it, or to offer a running copy to anyone else. See License.
git clone https://github.com/Sherlemious/IGCSE-Pseudocode-Online-Compiler
cd IGCSE-Pseudocode-Online-Compiler/app
cp .env.example .env # fill in your secrets
npm install
npm run db:migrate # create tables
npm run db:seed # optional: seed example questions
npm run dev # http://localhost:3000
See .env.example for the full list. Required variables:
| Variable | Description |
|---|---|
DATABASE_URL | PostgreSQL connection string (pooled) |
DIRECT_URL | PostgreSQL direct connection string |
AUTH_SECRET | Random secret for NextAuth session signing (openssl rand -base64 32) |
AUTH_URL | Your app origin (e.g. http://localhost:3000) |
AUTH_GOOGLE_ID / AUTH_GOOGLE_SECRET | Google OAuth credentials |
AUTH_GITHUB_ID / AUTH_GITHUB_SECRET | GitHub OAuth credentials |
NEXT_PUBLIC_POSTHOG_KEY | PostHog project key (leave blank to disable) |
PREMIUM_GATING_ENABLED | Server-side. true gates isPremium questions to paid students / paid-teacher classes (false by default) |
If you see redirect_uri_mismatch, add the exact callback URL in Google Cloud Console:
https://pseudocode-compiler.sherlemious.com/api/auth/callback/googlehttp://localhost:3000/api/auth/callback/googleAlso ensure Authorized JavaScript origins include both https://pseudocode-compiler.sherlemious.com and http://localhost:3000.
npm run db:migrate # run Prisma migrations
npm run db:seed # seed the database
npm run db:studio # open Prisma Studio
npm run lint # ESLint
npm test # run the Vitest suite (interpreter, converters, formatter)
npm run test:watch # Vitest in watch mode
npm run build # production build
If you modify src/modules/interpreter/grammar/Pseudocode.g4, regenerate the TypeScript parser:
npm run antlr:generate
The generated files in src/modules/interpreter/generated/ are committed to the repo — do not edit them by hand.
Pull requests back to this repository are welcome.
npm test and npm run build pass before opening a PRA fork is for proposing changes to this repository. It is not permission to publish or host a separate copy. See License.
Copyright (c) 2026 Abdelrahman Mohammed. All rights reserved.
You may read the source and run it on your own computer for yourself. You may not host it, deploy it, or offer it to anyone else — including for free, for a school, or in a single country — without prior written permission.
Use pseudocode-compiler.sherlemious.com. To ask for permission, email [email protected].
The full terms are in LICENSE.