git.delta.rocks / jrsonnet / refs/commits / 5ad3c0601af8

difftreelog

source

crates/jrsonnet-rowan-parser/jsonnet.ungram5.3 KiBsourcehistory
1// This file describes structure of jsonnet source code2// It is also used to generate files in src/generated34// Token names ending with `!` are considered meta, and handled specifically56SourceFile = Expr78ExprBinary =9    lhs:LhsExpr10    BinaryOperator11    rhs:Expr12ExprUnary =13    UnaryOperator14    rhs:Expr15ExprSlice =16    Expr17    SliceDesc18ExprIndex =19    Expr20    '.'21    index:Name22ExprIndexExpr =23    base:LhsExpr24    '['25    index:Expr26    ']'27ExprApply =28    Expr29    ArgsDesc30    'tailstrict'?31ExprObjExtend =32    LhsExpr33    Expr34ExprParened =35    '('36    Expr37    ')'3839ExprLiteral =40    Literal41ExprIntrinsicThisFile =42    '$intrinsicThisFile'43ExprIntrinsicId =44    '$intrinsicId'45ExprIntrinsic =46    '$intrinsic'47    '('48    name:Name49    ')'50ExprString =51    Text52ExprNumber =53    Number54ExprArray =55    '['56    (Expr (',' Expr)* ','?)?57    ']'58ExprObject =59    '{'60    ObjBody61    '}'62ExprArrayComp =63    '['64    Expr65    ','?66    CompSpec*67    ']'6869ExprImport =70    ImportKind Text7172ImportKind =73    'importstr'74|   'importbin'75|   'import'7677ExprVar =78    name:Name79ExprLocal =80    'local'81    (Bind (',' Bind)* ','?)82    ';'83    Expr8485ExprIfThenElse =86    'if'87    cond:Expr88    'then'89    then:TrueExpr90    ('else' else_:FalseExpr)?9192ExprFunction =93    'function'94    '('95    ParamsDesc96    ')'97    Expr98ExprAssert =99    Assertion100    ';'101    Expr102ExprError =103    'error'104    Expr105106Expr =107    ExprBinary108|   ExprUnary109|   ExprSlice110|   ExprIndex111|   ExprIndexExpr112|   ExprApply113|   ExprObjExtend114|   ExprParened115|   ExprIntrinsicThisFile116|   ExprIntrinsicId117|   ExprIntrinsic118|   ExprString119|   ExprNumber120|   ExprLiteral121|   ExprArray122|   ExprObject123|   ExprArrayComp124|   ExprImport125|   ExprVar126|   ExprLocal127|   ExprIfThenElse128|   ExprFunction129|   ExprAssert130|   ExprError131132BinaryOperator =133    '||' | '&&'134|   '|' | '^' | '&'135|   '==' | '!=' | '<' | '>' | '<=' | '>=' | 'in'136|   '<<' | '>>'137|   '+' | '-'138|   '*' | '/' | '%'139|   'ERROR_NO_OPERATOR!'140141UnaryOperator =142    '-' | '!' | '~'143144SliceDescEnd=Expr145SliceDescStep=Expr146SliceDesc =147    '['148    from:Expr?149    ':'150    (151        end:SliceDescEnd?152        (153            ':'154            step:SliceDescStep?155        )?156    )?157    ']'158159Name =160    'LIT_IDENT!'161162ArgsDesc =163    '('164    (Arg (',' Arg)* ','?)?165    ')'166Arg =167    (name:Name '=')? Expr168169ObjBodyComp =170    pre:ObjLocalPostComma*171    '['172    key:LhsExpr173    ']'174    '+'?175    ':'176    value:Expr177    post:ObjLocalPreComma*178    CompSpec*179ObjBodyMemberList =180    (Member (',' Member)* ','?)?181ObjBody =182    ObjBodyComp183|   ObjBodyMemberList184185ObjLocalPostComma =186    ObjLocal187    ','188ObjLocalPreComma =189    ','190    ObjLocal191192MemberBindStmt = ObjLocal193MemberAssertStmt = Assertion194MemberField = Field195Member =196    MemberBindStmt197|   MemberAssertStmt198|   MemberField199200ObjLocal =201    'local'202    Bind203204FieldNormal =205    FieldName206    '+'?207    Visibility208    Expr209FieldMethod =210    FieldName211    ParamsDesc212    Visibility213    Expr214Field =215    FieldNormal216|   FieldMethod217218FieldNameFixed =219    id:Name220|   Text221FieldNameDynamic =222    '['223    Expr224    ']'225FieldName =226    FieldNameFixed227|   FieldNameDynamic228229Visibility =230    ':::'231|   '::'232|   ':'233234Literal =235    'null'236|   'true'237|   'false'238|   'self'239|   '$'240|   'super'241242Text =243    'LIT_STRING_DOUBLE!'244|   'ERROR_STRING_DOUBLE_UNTERMINATED!'245|   'LIT_STRING_SINGLE!'246|   'ERROR_STRING_SINGLE_UNTERMINATED!'247|   'LIT_STRING_DOUBLE_VERBATIM!'248|   'ERROR_STRING_DOUBLE_VERBATIM_UNTERMINATED!'249|   'LIT_STRING_SINGLE_VERBATIM!'250|   'ERROR_STRING_SINGLE_VERBATIM_UNTERMINATED!'251|   'ERROR_STRING_VERBATIM_MISSING_QUOTES!'252|   'LIT_STRING_BLOCK!'253|   'ERROR_STRING_BLOCK_UNEXPECTED_END!'254|   'ERROR_STRING_BLOCK_MISSING_NEW_LINE!'255|   'ERROR_STRING_BLOCK_MISSING_TERMINATION!'256|   'ERROR_STRING_BLOCK_MISSING_INDENT!'257258Number =259    'LIT_FLOAT!'260|   'ERROR_FLOAT_JUNK_AFTER_POINT!'261|   'ERROR_FLOAT_JUNK_AFTER_EXPONENT!'262|   'ERROR_FLOAT_JUNK_AFTER_EXPONENT_SIGN!'263264ForSpec =265    'for'266    bind:Name267    'in'268    Expr269IfSpec =270    'if'271    Expr272CompSpec =273    ForSpec274|   IfSpec275276BindDestruct =277    into:Destruct278    '='279    value:Expr280BindFunction =281    name:Name282    params:ParamsDesc283    '='284    value:Expr285Bind =286    BindDestruct287|   BindFunction288289ParamsDesc =290    '('291    (Param (',' Param)* ','?)?292    ')'293Param =294    Destruct295    (296        '='297        Expr298    )?299300Assertion =301    'assert'302    condition:LhsExpr303    (304        ':'305        message:Expr306    )?307308DestructFull =309    Name310DestructSkip =311    '?'312DestructArray =313    '['314    (315        DestructArrayPart316        (',' DestructArrayPart)*317        ','?318    )?319    ']'320DestructObject =321    '{'322    (323        DestructObjectField324        (',' DestructObjectField)*325        ','?326    )?327    DestructRest?328    ','?329    '}'330Destruct =331    DestructFull332|   DestructSkip333|   DestructArray334|   DestructObject335336DestructArrayElement =337    Destruct338DestructArrayPart =339    DestructArrayElement340|   DestructRest341342DestructRest =343    '...'344    into:Name?345346DestructObjectField =347    field:Name348    (349        ':'350        Destruct351    )?352    (353        '='354        Expr355    )?356357// Aliases used to resolve node type conflicts358TrueExpr=Expr359FalseExpr=Expr360LhsExpr=Expr361362// Trivia - tokens which will be implicitly skipped for parser363Trivia =364    'LIT_WHITESPACE!'365|   'LIT_MULTI_LINE_COMMENT!'366|   'ERROR_COMMENT_TOO_SHORT!'367|   'ERROR_COMMENT_UNTERMINATED!'368|   'LIT_SINGLE_LINE_HASH_COMMENT!'369|   'LIT_SINGLE_LINE_SLASH_COMMENT!'