Closed Luna-Klatzer closed 1 week ago
Attention: Patch coverage is 82.16689%
with 265 lines
in your changes missing coverage. Please review.
Project coverage is 83.66%. Comparing base (
16cb772
) to head (2eff96c
). Report is 204 commits behind head on next.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
What type of change does this PR perform?
Summary
New development version
0.11.0-alpha.7
, which adds support for bitwise operators, ternary expressions and compiler pragmas.Detailed Changelog
Added
&
,|
,^
,~
,<<
,>>
,>>>
). (#493)COND ? EXP : EXP
) as a ternary operator. (#534)BitwiseExpression
, which represents an AST bitwise expression.BitwiseAndExpression
, which represents an AST bitwise AND expression.BitwiseOrExpression
, which represents an AST bitwise OR expression.BitwiseXorExpression
, which represents an AST bitwise XOR expression.BitwiseShiftExpression
, which represents an AST bitwise shift expression.PragmaProcessor
which handles the processing of all possible Pragmas.BitwiseExpressionSemantics
, which represents the semantics of a bitwise expression.BitwiseExpressionTypeSemantics
, which represents the type semantics of a bitwise expression.BitwiseAndExpressionSemantics
, which represents the semantics of a bitwise AND expression.BitwiseAndExpressionTypeSemantics
, which represents the type semantics of a bitwise AND expression.BitwiseOrExpressionSemantics
, which represents the semantics of a bitwise OR expression.BitwiseOrExpressionTypeSemantics
, which represents the type semantics of a bitwise OR expression.BitwiseXorExpressionSemantics
, which represents the semantics of a bitwise XOR expression.BitwiseXorExpressionTypeSemantics
, which represents the type semantics of a bitwise XOR expression.BitwiseShiftExpressionSemantics
, which represents the semantics of a bitwise shift expression.BitwiseShiftExpressionTypeSemantics
, which represents the type semantics of a bitwise shift expression.DEFAULT_TOKEN_CHANNEL
, which is the channel id of the default channel storing all the parser-relevant tokens that the Lexer lexed.HIDDEN
, which is the channel id of the channel storing all whitespaces and newlines that the Lexer lexed.COMMENT
, which is the channel id of the channel storing all the comments that the Lexer lexed.PRAGMA
, which is the channel id of the channel storing all pragma comments that the Lexer lexed.LexerParserData.channels
, which stores the channels generated by the Lexer.KipperTypeChecker.validConditionalExpression()
, which ensures that a conditional expression is valid.PragmaProcessor.processSingleLine()
, which changes the compiler options according to the pragmas found in the file.Changed
compiler/parser
tolexer-parser
.kipper/core/compiler/parser/parser-ast-mapping.ts
toparse-rule-kind-mappings.ts
.KipperParseStream
toKipperFileStream
including its file tofile-stream.ts
.KipperParseFile
toKipperInputFile
including its file toinput-file.ts
.ParseData
toLexerParserData
.FStringPrimaryExpressionSemantics.items
toatoms
.LexerParserData.parseStream
tofileStream
.Does this PR create new warnings?
None.
Linked issues or PRs