Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
4e2b6ab
Grammar addition:
mauri-c3 Apr 15, 2026
e16c5de
Grammar addition:
mauri-c3 Apr 15, 2026
0f87c1f
Grammar extension:
mauri-c3 Apr 15, 2026
15109dd
Grammar changes:
mauri-c3 Apr 15, 2026
606a5f6
Grammar changes:
mauri-c3 Apr 15, 2026
8c519ef
Change to preprocessor:
mauri-c3 Apr 17, 2026
3f4fd39
Change to grammar:
mauri-c3 Apr 17, 2026
bab389d
Change to grammar:
mauri-c3 Apr 23, 2026
e30024c
Addition to grammar:
mauri-c3 Apr 23, 2026
957631c
Changes to grammar:
mauri-c3 Apr 23, 2026
ba9e8f1
Changes to grammar:
mauri-c3 Apr 23, 2026
2edd789
Addition of separate fstring tokens to handle various syntax in the c…
mauri-c3 May 1, 2026
0f6f43a
Changing name of a Nonterminal
mauri-c3 May 3, 2026
0a507a5
Allowing nonlocal as class-statement
mauri-c3 May 3, 2026
f700490
Fixing Case and Except Statements, Allowing Generics in Typedeclarations
mauri-c3 May 3, 2026
4786bb4
Rework of ForControl closer to what is allowed by python
mauri-c3 May 4, 2026
94ea3c7
Incooperating PEP758
mauri-c3 May 4, 2026
08c5107
Incooperating PEP758 comment
mauri-c3 May 4, 2026
7865991
Refining Tests
mauri-c3 May 6, 2026
32b2e25
preperation of pullrequest
mauri-c3 May 6, 2026
3cc3b66
Preperation completion
mauri-c3 May 6, 2026
14a1c17
small fix
mauri-c3 May 6, 2026
2cd74fe
fix minor wrong indentation
mauri-c3 May 6, 2026
6aa44a2
fix minor wrong indentation
mauri-c3 May 6, 2026
32eafde
fix minor wrong indentation
mauri-c3 May 6, 2026
1f6f221
Fixing Case Statements to allow the capturing of subpatterns decribed…
mauri-c3 May 17, 2026
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
32 changes: 32 additions & 0 deletions knownToBeUnsupported.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Currently known to be unsupported

## Tuples without parentheses
The usage of tuples that are not parenthesized is not supported as these causes issues with antlr. (See https://www.geeksforgeeks.org/python/when-are-parentheses-required-around-a-tuple-in-python/ for unparenthesized tuples)
We define the rules:

```TupleLiteral implements Literal = "(" (VariableInit || ",")* ","? ")" ;```
```SimpleInit implements VariableInit = Expression ;```
and ExpressionBasis.mc4 ```LiteralExpression implements Expression <340> = Literal;```

Thereby without the parentheses we would cause left recursion which is also reachable by ``LiteralStatement implements ClassStatement = Literal STATEMENT_END;```.

## Unicode names
Further for now only names with latin letters are permitted, in python another chars are allowed as well, see https://docs.python.org/3/reference/lexical_analysis.html#identifiers.
Prototyping with unicode names have passed the parser tests, further testing needs to be done.

``` @Override
token Name =
( UnicodeChar | '_' | '$' )
( UnicodeChar | '_' | '0'..'9' | '$' )*;
// Latin,Greek,Coptic,Cyrillic,Armenian
fragment token UnicodeChar = 'a'..'z'
|'A'..'Z'
|'\u00C0'..'\u00D6'
|'\u00D8'..'\u00F6'
|'\u00F8'..'\u02AF'
|'\u0370'..'\u0373'
|'\u0376' | '\u0377' | '\u037F' | '\u0386'
|'\u0386'..'\u03E1'
|'\u03E2'..'\u0481'
|'\u048A'..'\u0588';
```
3 changes: 2 additions & 1 deletion src/main/grammars/de/monticore/MultilineString.mc4
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@ package de.monticore;
// This can be fixed by adding another token, which must be defined before the String token.
// Thus, this grammar must be used before MCCommonLiterals, which most langauges use.
component grammar MultilineString {
token DoubleQuoteMultilineStringDelimiter = '"' '"' '"';
token DoubleQuoteMultilineFStringDelimiter = ('f'|'F') '"' '"' '"';
token DoubleQuoteMultilineStringDelimiter = '"' '"' '"';
}
Loading
Loading