Grammar gains: array types, directive flags, declaration-level directive modifiers, parameter markers, backticked declaration names, notes after a block-valued declaration, 'if cond then stmt', 'ifx c else v', '#module_parameters' two-group form, '(.*)' prefix dereference, and '#asm' bodies consumed opaquely (they are x86-64 assembly, not Jai). Return items no longer take a default value: allowing one made 'f: (K) -> u32 = null' swallow the enclosing parameter's default and read the rest of the parameter list as extra return values.
44 lines
1.8 KiB
Plaintext
44 lines
1.8 KiB
Plaintext
Jai File(0,49)
|
|
JaiStatementImpl(STATEMENT)(0,17)
|
|
JaiDeclarationImpl(DECLARATION)(0,17)
|
|
JaiDeclNamesImpl(DECL_NAMES)(0,1)
|
|
JaiDeclNameImpl(DECL_NAME)(0,1)
|
|
PsiElement(Jai:IDENT)('a')(0,1)
|
|
PsiElement(Jai::)(':')(2,3)
|
|
JaiRefExprImpl(REF_EXPR)(4,9)
|
|
PsiElement(Jai:IDENT)('float')(4,9)
|
|
PsiElement(Jai:=)('=')(10,11)
|
|
JaiInitializerImpl(INITIALIZER)(12,16)
|
|
JaiLiteralExprImpl(LITERAL_EXPR)(12,16)
|
|
PsiElement(Jai:NUMBER)('37.0')(12,16)
|
|
PsiElement(Jai:;)(';')(16,17)
|
|
JaiStatementImpl(STATEMENT)(18,26)
|
|
JaiDeclarationImpl(DECLARATION)(18,26)
|
|
JaiDeclNamesImpl(DECL_NAMES)(18,19)
|
|
JaiDeclNameImpl(DECL_NAME)(18,19)
|
|
PsiElement(Jai:IDENT)('b')(18,19)
|
|
PsiElement(Jai::=)(':=')(20,22)
|
|
JaiInitializerImpl(INITIALIZER)(23,25)
|
|
JaiLiteralExprImpl(LITERAL_EXPR)(23,25)
|
|
PsiElement(Jai:NUMBER)('10')(23,25)
|
|
PsiElement(Jai:;)(';')(25,26)
|
|
JaiStatementImpl(STATEMENT)(27,35)
|
|
JaiDeclarationImpl(DECLARATION)(27,35)
|
|
JaiDeclNamesImpl(DECL_NAMES)(27,28)
|
|
JaiDeclNameImpl(DECL_NAME)(27,28)
|
|
PsiElement(Jai:IDENT)('c')(27,28)
|
|
PsiElement(Jai:::)('::')(29,31)
|
|
JaiInitializerImpl(INITIALIZER)(32,34)
|
|
JaiLiteralExprImpl(LITERAL_EXPR)(32,34)
|
|
PsiElement(Jai:NUMBER)('42')(32,34)
|
|
PsiElement(Jai:;)(';')(34,35)
|
|
JaiStatementImpl(STATEMENT)(36,49)
|
|
JaiReturnStatementImpl(RETURN_STATEMENT)(36,49)
|
|
PsiElement(Jai:return)('return')(36,42)
|
|
JaiAddExprImpl(ADD_EXPR)(43,48)
|
|
JaiRefExprImpl(REF_EXPR)(43,44)
|
|
PsiElement(Jai:IDENT)('a')(43,44)
|
|
PsiElement(Jai:+)('+')(45,46)
|
|
JaiRefExprImpl(REF_EXPR)(47,48)
|
|
PsiElement(Jai:IDENT)('b')(47,48)
|
|
PsiElement(Jai:;)(';')(48,49) |