Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a wasm browser based playground #41

Open
wants to merge 40 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
1633608
Add 'std::' in several places as suggested by clang
mingodad Jun 22, 2023
4007497
Fix to detect identifiers referenced in rules but not defined
mingodad Jun 22, 2023
01e753c
Add preprocessor guards to allow build without threads/threadpool.
mingodad Jun 22, 2023
fe8da35
Make possible to accept associativity/precedence syntax like bison/byacc
mingodad Jun 22, 2023
98444cb
Add an error message for empty literal/regex declarations, also fix t…
mingodad Jun 22, 2023
82bfdf5
Check if '%whitespace' directive is present in the grammar and if not…
mingodad Jun 22, 2023
0e05c13
Add code to allow generate an EBNF for railroad diagram generation
mingodad Jun 22, 2023
061bf24
Add method to dump the input from the lexer.
mingodad Jun 22, 2023
7a668bb
Reuse result of already called function.
mingodad Jun 22, 2023
9243595
Add a method to show grammar compilation stats.
mingodad Jun 22, 2023
a64710d
Reorder class member for better memory usage/alignment.
mingodad Jun 22, 2023
642de0b
Rename write output function to prevent clash with C lib ::write
mingodad Jun 22, 2023
a5387f3
Use a typedef and macros to allow easy experimenting with different t…
mingodad Jun 22, 2023
d7cacbc
Simplify GrammaSymbolSet
mingodad Jun 23, 2023
06dfb8e
Only check for '%whitespace' directive if the grammar has no other er…
mingodad Jun 23, 2023
deb8e3e
Fix examples/test that were missing '%whitespace' directive.
mingodad Jun 23, 2023
49af659
Check if we are at the end and then stop
mingodad Jun 23, 2023
4e5acce
First working version of an wasm browser based playground
mingodad Jun 23, 2023
41860c1
Add a naive implementation of "%case_insensitive" directive, right no…
mingodad Jun 23, 2023
0aec408
Add column info to error messages in ErrorPolicy
mingodad Jun 23, 2023
d9e8e15
Add special regex character escape for the naive case insensitive imp…
mingodad Jun 25, 2023
9b72871
Make trivial methods inline.
mingodad Jun 26, 2023
3aa9a4a
Add column info to GrammarSymbol and error messages
mingodad Jun 26, 2023
f59b70c
First implementation for outptut an parse tree. The MissingHeaders te…
mingodad Jun 28, 2023
02178b9
Check if the input is accepted && full before print the parse tree
mingodad Jun 28, 2023
eb7ff4c
Now I've got closer to a good parse tree dump
mingodad Jul 16, 2023
ccdca1a
Missing fixes for a better parse tree output
mingodad Jul 16, 2023
9f907f6
Show an error message when associativity is assigned to a non-terminal.
mingodad Jul 16, 2023
1d09221
Undo a mistaken removing code for a better parse tree output.
mingodad Jul 16, 2023
8aa81d2
Fix generation of empty productions for genEBNF
mingodad Jul 16, 2023
51ab70e
Add YACC generation from LALR grammars.
mingodad Jul 17, 2023
208eda6
Fix to only match fully words, because before it was matching a subst…
mingodad Jul 18, 2023
fc40770
Add a missing case when generating a YACC file
mingodad Jul 18, 2023
08939ba
Add the reducing transition as a parameter to action handlers, this w…
mingodad Jul 18, 2023
ee28902
Update examples to use the extra action handler parameter recently in…
mingodad Jul 18, 2023
f5c1810
Add 2 new grammar options to easy debug, also fix line counting when …
mingodad Jul 19, 2023
6f73f32
Add code to detect user content changes and alert him/her
mingodad Nov 14, 2023
02946cc
Added grammar examples
mingodad Nov 14, 2023
d5231dc
Update code
mingodad Nov 14, 2023
2e1ef74
Create static.yml
mingodad Nov 14, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions .github/workflows/static.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Simple workflow for deploying static content to GitHub Pages
name: Deploy static content to Pages

on:
# Runs on pushes targeting the default branch
push:
branches: ["playground"]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
# Single deploy job since we're just deploying
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Pages
uses: actions/configure-pages@v3
- name: Upload artifact
uses: actions/upload-pages-artifact@v2
with:
# Upload entire repository
path: './playground'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2
8 changes: 4 additions & 4 deletions forge.lua
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,11 @@ local cc = forge.Toolset 'cc_${platform}' {

cc:install( 'forge.cc' );

-- Bump the C++ standard to c++14 when building on Windows as that is the
-- Bump the C++ standard to c++14 when building on Windows as that is the
-- lowest standard supported by Microsoft Visual C++.
if cc.platform == 'windows' then
cc.standard = 'c++14';
end
--if cc.platform == 'windows' then
cc.standard = 'c++17';
--end

local lalr = require 'forge.lalr';
cc:install( lalr );
Expand Down
Loading