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

update lab branch #68

Merged
merged 27 commits into from
Oct 20, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
b7c97c6
v0.1.6
redocmath Oct 3, 2023
9b2d6a9
Update README.md
redocmath Oct 3, 2023
710f95d
Update CHANGELOG
redocmath Oct 3, 2023
2d7abc8
documentary v0.1
redocmath Oct 4, 2023
73ddaaf
CONTRIBUTING.md: change contributing rule
redocmath Oct 4, 2023
03a1a23
grammar.md: improved description of boolean literal, src: updated yea…
redocmath Oct 5, 2023
75b2780
grammar.md: improved description of boolean literal, variable.h: upda…
redocmath Oct 5, 2023
1b9a307
src/type: final check
redocmath Oct 5, 2023
631ee07
grammar.md: removed incorrect info
redocmath Oct 14, 2023
a15991f
src/parser, AST.h: updating parsing system
redocmath Oct 14, 2023
0f670f2
src/parser, AST.h: integrate ForClauseStmt & ForSCStmt into ForStmt
redocmath Oct 15, 2023
814444c
src/parser, signal.h: code development ongoing
redocmath Oct 16, 2023
094bde8
src/parser, src/runtime, interpreter.cpp: updated new parser
redocmath Oct 18, 2023
6e43436
src/parser, interpreter.cpp: fixed some bugs - all sample codes work …
redocmath Oct 18, 2023
384e249
parse.cpp: fixed parenthesis system, doc: updated documentation about…
redocmath Oct 18, 2023
77342d6
parse.cpp: fixed statement system, multiline.wops, ubuntu.yml: new sa…
redocmath Oct 18, 2023
3ec9012
parse.cpp, signal.h: removed all CallErrDE, grammar.md: minor fix
redocmath Oct 18, 2023
677e072
signal.h: CallErrDE won't be supported
redocmath Oct 18, 2023
d4c373c
grammar.md, parse.cpp: removed unused code
redocmath Oct 18, 2023
6740338
ubuntu.yml: updating CI
redocmath Oct 18, 2023
ebde7bd
misc: added header comments
redocmath Oct 18, 2023
f8bfd46
.trunk, .clang-format: code style linter
redocmath Oct 19, 2023
14d3dd5
trunk-check.yaml: trunk CI
redocmath Oct 19, 2023
45bee27
misc: prettier
redocmath Oct 19, 2023
691dffb
Merge pull request #66 from Wopslang/dev-v0.1
redocmath Oct 19, 2023
dc588a4
CHANGELOG: v0.1
redocmath Oct 19, 2023
5aac753
Merge branch 'lab' into main
redocmath Oct 20, 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
7 changes: 7 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
BasedOnStyle: Google
ColumnLimit: 400
---
Language: Cpp
DerivePointerAlignment: false
---
Language: Proto
22 changes: 22 additions & 0 deletions .github/workflows/trunk-check.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Pull Request
on: [pull_request]
concurrency:
group: ${{ github.head_ref || github.run_id }}
cancel-in-progress: true

permissions: read-all

jobs:
trunk_check:
name: Trunk Check Runner
runs-on: ubuntu-latest
permissions:
checks: write # For trunk to post annotations
contents: read # For repo checkout

steps:
- name: Checkout
uses: actions/checkout@v3

- name: Trunk Check
uses: trunk-io/trunk-action@v1
60 changes: 38 additions & 22 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
@@ -1,44 +1,60 @@
#
# .github/workflows/ubuntu.yml
# Wopslang Github CI (Action)
#
# 2023, Wops Team
#

name: CI - Ubuntu OS

on:
push:
branches: [ main, lab ]
branches: [main, lab]
pull_request:
branches: [ main, lab ]
branches: [main, lab]

permissions: read-all

jobs:
Build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: make
run: mkdir sample/lib; make CI-TEST-Wopslang;
- uses: actions/checkout@v2
- name: make
run: mkdir sample/lib; make CI-TEST-Wopslang;
Fizzbuzz:
needs: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: make
run: mkdir sample/lib; make CI-TEST-Wopslang; mv Wopslang sample/;
- name: run
run: cd sample; ./Wopslang fizzbuzz.wops debug > out;
- uses: actions/checkout@v2
- name: make
run: mkdir sample/lib; make CI-TEST-Wopslang; mv Wopslang sample/;
- name: run
run: cd sample; ./Wopslang fizzbuzz.wops debug > out;
Hailstone_Sequence:
needs: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: make
run: mkdir sample/lib; make CI-TEST-Wopslang; mv Wopslang sample/;
- name: run
run: cd sample; tree; ./Wopslang hailstone_sequence.wops debug > out;
- uses: actions/checkout@v2
- name: make
run: mkdir sample/lib; make CI-TEST-Wopslang; mv Wopslang sample/;
- name: run
run: cd sample; tree; ./Wopslang hailstone_sequence.wops debug > out;
Hello_Wopslang:
needs: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: make
run: mkdir sample/lib; make CI-TEST-Wopslang; mv Wopslang sample/;
- name: run
run: cd sample; tree; ./Wopslang hello_wopslang.wops debug > out;


- uses: actions/checkout@v2
- name: make
run: mkdir sample/lib; make CI-TEST-Wopslang; mv Wopslang sample/;
- name: run
run: cd sample; tree; ./Wopslang hello_wopslang.wops debug > out;
Multiline:
needs: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: make
run: mkdir sample/lib; make CI-TEST-Wopslang; mv Wopslang sample/;
- name: run
run: cd sample; echo "1" > input; tree; ./Wopslang multiline.wops debug < input > out;
8 changes: 8 additions & 0 deletions .trunk/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
*out
*logs
*actions
*notifications
*tools
plugins
user_trunk.yaml
user.yaml
10 changes: 10 additions & 0 deletions .trunk/configs/.markdownlint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Autoformatter friendly markdownlint config (all formatting rules disabled)
default: true
blank_lines: false
bullet: false
html: false
indentation: false
line_length: false
spaces: false
url: false
whitespace: false
7 changes: 7 additions & 0 deletions .trunk/configs/.shellcheckrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
enable=all
source-path=SCRIPTDIR
disable=SC2154

# If you're having issues with shellcheck following source, disable the errors via:
# disable=SC1090
# disable=SC1091
10 changes: 10 additions & 0 deletions .trunk/configs/.yamllint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
rules:
quoted-strings:
required: only-when-needed
extra-allowed: ["{|}"]
empty-values:
forbid-in-block-mappings: true
forbid-in-flow-mappings: true
key-duplicates: {}
octal-values:
forbid-implicit-octal: true
28 changes: 28 additions & 0 deletions .trunk/trunk.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# This file controls the behavior of Trunk: https://docs.trunk.io/cli
# To learn more about the format of this file, see https://docs.trunk.io/reference/trunk-yaml
version: 0.1
cli:
version: 1.17.1
plugins:
sources:
- id: trunk
ref: v1.2.6
uri: https://github.com/trunk-io/plugins
runtimes:
enabled:
- go@1.21.0
- node@18.12.1
- python@3.10.8
lint:
enabled:
- clang-format@16.0.3
- actionlint@1.6.26
- checkov@2.5.9
- git-diff-check
- markdownlint@0.37.0
- prettier@3.0.3
- shellcheck@0.9.0
- shfmt@3.6.0
- trivy@0.46.0
- trufflehog@3.60.0
- yamllint@1.32.0
26 changes: 26 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,32 @@
- add more function
- support Array(based on `std::vector`)

=== v0.1: 691dffb ===
THIS VERSION IS THE FINAL VERSION OF v0.1.x

- feature
- more flexible grammar (inline statements, multiline expressions)
- unified error message

- improvement
- parser now parses code word by word (big improvement)
- deprecated old error handler

=== v0.1.6: 9b2d6a9 ===
THIS IS INTERNAL UPDATE: THERE IS NO NEW FEATURE

improvement
- deprecated Array class
- developed Object class for v0.2
- big improvement on error handler

v0.1 checklist
- Better parser (inline code & multiline statement)

v0.2 checklist
- Object (Array, Func) (user-definable Object will be in v0.2.1)
- Third party library & changing library code into `.wops`

=== v0.1.5: 239dd25 ===

- feature
Expand Down
55 changes: 32 additions & 23 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
<!--
CONTRIBUTING.md
Wopslang Contribute guide

2023, Wops Team

-->

# :page_with_curl: Contribute Guideline

## :wave: Welcome, new Wopers
## :wave: Welcome, new Wopers

First off, thank you for considering contributing to Wopslang. Wopslang could be existed because of many devoted Wopers like you.

Expand All @@ -22,13 +30,13 @@ If you already have a solution for it, please make a PR.
If you already have a solution for it, PR suits you.
Code style should satisfy these checklist.

- [ ] [Google C++ Coding Style Guide #General Naming Rules](https://google.github.io/styleguide/cppguide.html#General_Naming_Rules)
- [ ] K&R Indentation style
- [ ] Use Boilerplate Code :
- [ ] [Google C++ Coding Style Guide #General Naming Rules](https://google.github.io/styleguide/cppguide.html#General_Naming_Rules)
- [ ] K&R Indentation Style
- [ ] Use Boilerplate Code :

```c++
/*
* <file path>
* <file path>
* <file description><Headerfile/Sourcefile>
*
* <year>, Wops Team
Expand All @@ -43,6 +51,16 @@ Code style should satisfy these checklist.
#endif
```

All commit messages should satisfy these checklist.

- [ ] Description Starts with Lowercase Character
- [ ] No Emoji
- [ ] Use Boilerplate Code :

```text
<file name/path>: <description>
```

Also, your PR can be rejected by these reasons:

- Too much change
Expand All @@ -52,30 +70,21 @@ Also, your PR can be rejected by these reasons:
Finally, your PR branch's name should be in one of these forms:

- `patch-[username]-[number]`
- *`dev-[username]-[number]`: only for inside Wopers*
- _`dev-[username]-[number]`: only for inside Wopers_
- `docs-[username]-[number]`

### :speech_balloon: Being the Wopslang Manager

Wopslang managers mediate the overheated community, review the issues and pull requests, and lead the development of Wopslang. Of course, this job requires not only deep knowledge of Wopslang, but also conversation skill. Also, Wopslang managers should be in Wops team; Wopslang managers should be inside Wopers.
Wopslang managers mediate the overheated community, review the issues and pull requests, and lead the development of Wopslang. Of course, this job requires not only deep knowledge of Wopslang, but also conversation skill. Also, Wopslang managers should be in Wops team; Wopslang managers should be inside Wopers.

If you want to contribute as the Wopslang manager, join the [Wops Community Slack](https://join.slack.com/t/wopslangcommunity/shared_invite/zt-nkcy12cy-n8YlAPnOT~ErPODF6k3jOw) and send DM to Wopslang managers. We'll prepare the interview for you.
We're not recruiting the Wopslang manager for now.

#### Wopslang manager list

|Github Username|Slack Username|
|---|---|
|@RedoC-github|@RedoC-github|
|@rdxxer|@codenstory|
|@pokmui|@pokmui|

## :white_check_mark: TODO

**Contributes about things in TODO list will have higher priority than normal one.**

- Nothing



| Github Username | Slack Username |
| --------------- | -------------- |
| @RedoC-github | @RedoC-github |
| @rdxxer | @codenstory |
| @pokmui | @pokmui |

2022, Wops Team
2023, Wops Team
8 changes: 7 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
# Makefile
#
# Makefile
# Wopslang Makefile
#
# 2023, Wops Team
#
#

ifeq ($(OS), Windows_NT)
OPTION=include/dlfcn.c src/import_/eexec_.cpp -std=c++11
Expand Down
2 changes: 1 addition & 1 deletion NOTICE
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Wops Programming Language
Copyright (c) 2021 Wops Team
Copyright (c) 2023 Wops Team
https://github.com/Wopslang/Wops

This product is licensed under the terms of the Apache Software License 2.0. See the LICENSE file for the full license text.
26 changes: 11 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
> :mega: **IMPORTANT ANNOUNCEMENT**
> Every Wops teammate is a student, preparing for some exams, entrance tests, and more. Now, most developers are living hard as students, not developers. And it is causing delays in updates. However, this project is still onboard, and we always welcome your contributions! Please stay tuned on Wopslang and be with our team.
# :hammer_and_wrench: Working Pseudocode, Wopslang

[![CI - Ubuntu OS](https://github.com/Wopslang/Wops/actions/workflows/ubuntu.yml/badge.svg)](https://github.com/Wopslang/Wops/actions/workflows/ubuntu.yml)
[![Badge](https://img.shields.io/badge/Slack-Join_our_chat-critical.svg?link=https://join.slack.com/t/wopslangcommunity/shared_invite/zt-nkcy12cy-n8YlAPnOT~ErPODF6k3jOw&logo=slack)](https://join.slack.com/t/wopslangcommunity/shared_invite/zt-nkcy12cy-n8YlAPnOT~ErPODF6k3jOw)

```go
func<people WholeNewWorld> Wopslang = {contributors, {
Expand All @@ -17,15 +14,14 @@ func<people WholeNewWorld> Wopslang = {contributors, {
```

### `#LanguageForAlgorithm` `#WorkingPseudo`

_**Wopslang**_ is for every computer scientist who needs a **pseudocode-like**, but **working** programming language.
_**Simple grammar**_ will highlight your logical ideas. _**Fast-runtime**_ will give you immediate feedback to forward.
_Be with our project, using ⭐_

***

## Infomation

Version: **Wopslang v0.1.5 alpha**
Version: **Wopslang v0.1 alpha**
License: Apache License 2.0
[⚒️ Official Documentation](./doc/README.md)
[➕ VSCode Extension](https://github.com/Wopslang/vscode-wops)
Expand Down Expand Up @@ -58,16 +54,16 @@ Check [howto.md](doc/howto.md) for more detail

See [sample folder](./sample) :sparkles:

## Credit
## Credit

|Github Username|Slack Username|Role|
|---|---|---|
|**@RedoC-github**|**@RedoC**|**Lead Programmer of Interpreter**|
|**@pokmui**|**@pokmui**|**Programmer of Interpreter, Admin of Slack**|
|@byunjaewoo|@byunjaewoo|Lead Programmer of Data Structure
|@happybean4|@khanjhy|Planner of Grammar|
|**@rdxxer**|**@codenstory**|**Programmer of Interpreter**|
|@dddddd1234-creator|@dddddd|Lead Programmer of Builtin Function|
| Github Username | Slack Username | Role |
| ------------------- | --------------- | --------------------------------------------- |
| **@RedoC-github** | **@RedoC** | **Lead Programmer of Interpreter** |
| **@pokmui** | **@pokmui** | **Programmer of Interpreter, Admin of Slack** |
| @byunjaewoo | @byunjaewoo | Lead Programmer of Data Structure |
| @happybean4 | @khanjhy | Planner of Grammar |
| **@rdxxer** | **@codenstory** | **Programmer of Interpreter** |
| @dddddd1234-creator | @dddddd | Lead Programmer of Builtin Function |

**Bold user** is the Wopslang manager.
Special Thanks to @jhhan128
Expand Down
Loading
Loading