#include <sys/fcntl.h>#include <sys/stat.h>#include <getopt.h>#include <string.h>#include <stdlib.h>#include <stdio.h>#include <unistd.h>#include <assert.h>#include <dirent.h>#include <iostream>#include <string>#include "Version.hxx"#include "AST.hxx"#include "ParseType.hxx"#include "UocInfo.hxx"#include "Options.hxx"#include "TransitionLexer.hxx"Go to the source code of this file.
Defines | |
| #define | YYSTYPE ParseType |
| #define | YYLEX_PARAM (TransitionLexer *)lexer |
| #define | yyerror(lexer, s) lexer->showNextError = true |
| #define | SHOWPARSE(s) |
| #define | SHOWPARSE1(s, x) |
| #define | syntaxError(s) PrintSyntaxError(lexer, (s)) |
Functions | |
| uoc | Compile () |
| addChild ($3) = $1 | |
| child (0)->defForm | |
| if ($1->children.size()!=0) | |
| ctr | addChildrenFrom ($3) = AST::make(at_reprctr, $1->loc, ctr) |
| getID ()->flags| = $5->externalName | |
| if ($3->children.size()==1) lexer->ReportParseError($3->loc | |
| if (!UocInfo::importInterface(lexer->errStream, $2.loc, $2.str)) | |
| if ($3->astType==at_byRefType) $1->flags| | |
| lexer | ReportParseError ($1.loc,"Expected 'then' following 'if', got "+lastTok.str+" at "+lastTok.loc.asString()) |
| lexer | ReportParseError ($1.loc,"if/then/else missing else clause at "+lastTok.loc.asString()+", assuming unit. Consider when or unless?") |
| assert (yychar!=YYEMPTY) | |
| lexer | pushTokenBack (yylval.tok, true) |
| lexer | ReportParseError ($3.loc,"when/then has been replaced by when/do.") |
| for (size_t c=0;c< $7->children.size();c++) | |
| if ($8->astType==at_otherwise) | |
| if ($6->astType==at_otherwise) | |
| ow children | insert (ow->children.begin(), $4->getDeepCopy()) |
| addChild (AST::make(at_constraints)) | |
| lexer | pushTokenBack (tok, true) |
| lexer | lex (&yylval) |
| if (yychar!=YYEMPTY) yyclearin | |
Variables | |
| start | __pad0__ |
| return | |
| trn_uoc_body | __pad1__ |
| trn_uoc_body | __pad2__ |
| trn_uoc_body | __pad3__ |
| blk_version | __pad4__ |
| trn_interface | __pad5__ |
| blk_ifident | __pad6__ |
| blk_ifident | __pad7__ |
| trn_module_seq | __pad8__ |
| trn_module_seq | __pad9__ |
| trn_implicit_module | __pad10__ |
| astType = $1 at_module | |
| printVariant = pf_IMPLIED | |
| string | uocName |
| shared_ptr< UocInfo > | uoc = UocInfo::make(uocName, lexer->here.origin, $$) |
| lexer | nModules |
| trn_module | __pad11__ |
| trn_module | __pad12__ |
| trn_if_definitions | __pad13__ |
| trn_if_definitions | __pad14__ = AST::make(at_Null, $1->loc, $1) |
| trn_if_definition | __pad15__ |
| trn_mod_definitions | __pad16__ = $1 |
| trn_mod_definitions | __pad17__ = AST::make(at_Null, $1->loc, $1) |
| trn_mod_definition | __pad18__ |
| blk_mod_definition | __pad19__ = $1 |
| blk_mod_definition | __pad20__ = $1 |
| blk_common_definition | __pad21__ = $1 |
| blk_common_definition | __pad22__ = $1 |
| blk_type_val_definition | __pad23__ = $1 |
| blk_type_val_definition | __pad24__ = $1 |
| blk_type_val_definition | __pad25__ = $1 |
| blk_type_val_definition | __pad26__ = $1 |
| blk_type_val_definition | __pad27__ = $1 |
| blk_type_val_definition | __pad28__ = $1 |
| blk_constraints | __pad29__ = $1 |
| blk_constraints | __pad30__ |
| blk_constraint_seq | __pad31__ = $2 |
| blk_constraint_seq | __pad32__ |
| blk_constraint | __pad33__ = AST::make(at_constraints, $1->loc, $1) |
| blk_constraint | __pad34__ = $1 |
| blk_ptype_name | __pad35__ = AST::make(at_tcapp, $1->loc, $1) |
| shared_ptr< AST > | tvlist = AST::make(at_tvlist, $1->loc) |
| blk_ptype_name | __pad36__ = AST::make(at_Null, $1->loc, $1, tvlist) |
| blk_type_definition | __pad37__ = AST::make(at_Null, $1->loc, $1, $3) |
| blk_type_definition | __pad38__ |
| blk_type_definition | __pad39__ |
| blk_repr_constructors | __pad40__ |
| blk_repr_constructors | __pad41__ = AST::make(at_reprctrs, $1->loc, $1) |
| blk_repr_constructor | __pad42__ |
| flags = (ID_IS_GLOBAL) | |
| shared_ptr< AST > | ctr = AST::make(at_constructor, $1->loc, $1) |
| blk_repr_reprs | __pad43__ |
| blk_repr_reprs | __pad44__ = AST::make(at_Null, $1->loc, $1) |
| blk_repr_repr | __pad45__ |
| blk_externals | __pad46__ = AST::make(at_reprrepr, $2.loc, $1, $3) |
| yyerrok | |
| lexer | showNextError = false |
| flags = AST::make(at_Null) NO_FLAGS | |
| blk_externals | __pad47__ |
| flags = AST::make(at_Null, $1.loc) DEF_IS_EXTERNAL | |
| blk_externals | __pad48__ |
| flags = AST::make(at_Null, $1.loc) DEF_IS_EXTERNAL | |
| externalName = $2->s | |
| blk_type_definition | __pad49__ |
| shared_ptr< AST > | valCat |
| blk_type_decl | __pad50__ |
| flags = $5->flags | |
| blk_type_decl | __pad51__ |
| flags = $5->flags | |
| blk_type_decl | __pad52__ |
| flags = $5->flags | |
| blk_optval | __pad53__ |
| printVariant = AST::make(at_boxedCat) pf_IMPLIED | |
| blk_optval | __pad54__ |
| blk_val | __pad55__ = $1 |
| blk_val | __pad56__ = AST::make(at_boxedCat) |
| blk_val | __pad57__ = AST::make(at_unboxedCat, $1) |
| blk_openclosed | __pad58__ = AST::make(at_opaqueCat, $1) |
| printVariant = AST::make(at_oc_open) pf_IMPLIED | |
| blk_openclosed | __pad59__ |
| blk_type_definition | __pad60__ = AST::make(at_oc_closed, $1) |
| flags = ID_IS_GLOBAL | |
| blk_type_definition | __pad61__ |
| flags = ID_IS_GLOBAL | |
| blk_tc_definition | __pad62__ |
| blk_tc_decls | __pad63__ |
| blk_method_decls | __pad64__ = AST::make(at_tcdecls) |
| LexLoc | loc |
| blk_method_decls | __pad65__ = AST::make(at_method_decls, loc) |
| blk_method_decl | __pad66__ |
| flags = ID_IS_GLOBAL | |
| identType = id_tcmethod | |
| blk_ti_definition | __pad67__ = AST::make(at_method_decl, $1->loc, $1, $3) |
| blk_ti_definition | __pad68__ |
| blk_method_bindings | __pad69__ = AST::make(at_definstance, $2.loc, $3, $5, $1) |
| blk_method_bindings | __pad70__ = AST::make(at_tcmethods, $1->loc, $1) |
| blk_method_binding | __pad71__ |
| blk_value_definition | __pad72__ = AST::make(at_tcmethod_binding, $1->loc, $1, $3) |
| blk_value_definition | __pad73__ = AST::make(at_define, $2.loc, $3, $5, $1) |
| shared_ptr< AST > | iRetBlock |
| shared_ptr< AST > | iLambda |
| iLambda | printVariant = pf_IMPLIED |
| shared_ptr< AST > | iP = AST::make(at_identPattern, $3->loc, $3) |
| blk_value_definition | __pad74__ = AST::make(at_recdef, $2.loc, iP, iLambda, $1) |
| shared_ptr< AST > | iRetBlock |
| shared_ptr< AST > | iLambda = AST::make(at_lambda, $2.loc, $5, iRetBlock) |
| iLambda | printVariant = pf_IMPLIED |
| shared_ptr< AST > | iP = AST::make(at_identPattern, $3->loc, $3) |
| blk_fndef_tail | __pad75__ = AST::make(at_recdef, $2.loc, iP, iLambda, $1) |
| blk_fndef_tail | __pad76__ = $2 |
| blk_fndef_tail | __pad77__ = $2 |
| blk_value_declaration | __pad78__ = $2 |
| Declaration forms require a | type |
| shared_ptr< AST > | declIdent = $3->child(0) |
| shared_ptr< AST > | declType = $3->child(1) |
| flags = AST::make(at_proclaim, $2.loc, declIdent, declType, $1) $4->flags | |
| blk_import_definition | __pad79__ |
| shared_ptr< AST > | ifIdent = AST::make(at_ifident, $2) |
| blk_import_definition | __pad80__ = AST::make(at_importAs, $1.loc, ifIdent, $4) |
| shared_ptr< AST > | ifIdent = AST::make(at_ifident, $2) |
| blk_import_definition | __pad81__ = AST::make(at_import, $1.loc, ifIdent) |
| shared_ptr< AST > | ifIdent = AST::make(at_ifident, $2) |
| blk_importList | __pad82__ |
| blk_importList | __pad83__ = AST::make(at_Null, $1->loc, $1) |
| blk_alias | __pad84__ |
| blk_alias | __pad85__ = AST::make(at_ifsel, $1->loc, $1, $1->getDeepCopy()) |
| blk_provide_definition | __pad86__ = AST::make(at_ifsel, $1->loc, $1, $3) |
| shared_ptr< AST > | ifIdent = AST::make(at_ifident, $2) |
| blk_provideList | __pad87__ |
| blk_provideList | __pad88__ = AST::make(at_Null, $1->loc, $1) |
| blk_opt_declares | __pad89__ |
| yyerrok | |
| lexer | showNextError = false |
| blk_opt_declares | __pad90__ = AST::make(at_declares) |
| blk_declares | __pad91__ = $1 |
| blk_declares | __pad92__ = AST::make(at_declares, $1->loc, $1) |
| blk_declare | __pad93__ |
| blk_decl | __pad94__ = $2 |
| blk_decl | __pad95__ = AST::make(at_declare, $1->loc, $1, $3) |
| blk_constructors | __pad96__ = AST::make(at_declare, $1->loc, $1) |
| blk_constructors | __pad97__ = AST::make(at_constructors, $1->loc, $1) |
| blk_constructor | __pad98__ |
| flags = (ID_IS_GLOBAL) | |
| blk_constructor | __pad99__ = AST::make(at_constructor, $1->loc, $1) |
| flags = (ID_IS_GLOBAL) | |
| blk_fields | __pad100__ |
| blk_fields | __pad101__ = AST::make(at_fields, $1->loc, $1) |
| blk_field | __pad102__ |
| blk_field | __pad103__ = AST::make(at_field, $1->loc, $1, $3) |
| blk_field | __pad104__ = AST::make(at_fill, $1.loc, $3) |
| blk_methods_only | __pad105__ = AST::make(at_fill, $1.loc, $3, $5) |
| blk_methods_only | __pad106__ = AST::make(at_fields, $1->loc, $1) |
| blk_methdecl | __pad107__ |
| blk_fields_and_methods | __pad108__ = AST::make(at_methdecl, $1->loc, $1, $3) |
| blk_fields_and_methods | __pad109__ = AST::make(at_fields, $1->loc, $1) |
| blk_fields_and_methods | __pad110__ = AST::make(at_fields, $1->loc, $1) |
| blk_fields_and_methods | __pad111__ |
| blk_tvlist | __pad112__ |
| blk_tvlist | __pad113__ = AST::make(at_tvlist, $1->loc, $1) |
| blk_prefix_type | __pad114__ |
| blk_prefix_type | __pad115__ = $1 |
| blk_prefix_type | __pad116__ = AST::make(at_mutableType, $1.loc, $2) |
| blk_postfix_type | __pad117__ = AST::make(at_constType, $1.loc, $2) |
| blk_type | __pad118__ = $1 |
| blk_primary_type | __pad119__ = $1 |
| blk_primary_type | __pad120__ = $1 |
| printVariant = $2 pf_PARENWRAP | |
| blk_primary_type | __pad121__ |
| blk_primary_type | __pad122__ = $2 |
| blk_primary_type | __pad123__ = AST::make(at_boxedType, $1.loc, $3) |
| blk_primary_type | __pad124__ = AST::make(at_unboxedType, $1.loc, $3) |
| primary_type | __pad125__ |
| s = AST::make(at_primaryType, $1.loc) "unit" | |
| bool_type | __pad126__ |
| primary_type | __pad127__ = AST::make(at_primaryType, $1) |
| primary_type | __pad128__ = $1 |
| primary_type | __pad129__ = AST::make(at_primaryType, $1) |
| int_type | __pad130__ = AST::make(at_primaryType, $1) |
| int_type | __pad131__ = AST::make(at_primaryType, $1) |
| int_type | __pad132__ = AST::make(at_primaryType, $1) |
| int_type | __pad133__ = AST::make(at_primaryType, $1) |
| uint_type | __pad134__ = AST::make(at_primaryType, $1) |
| uint_type | __pad135__ = AST::make(at_primaryType, $1) |
| uint_type | __pad136__ = AST::make(at_primaryType, $1) |
| uint_type | __pad137__ = AST::make(at_primaryType, $1) |
| any_int_type | __pad138__ = AST::make(at_primaryType, $1) |
| any_int_type | __pad139__ = $1 |
| any_int_type | __pad140__ = $1 |
| float_type | __pad141__ = AST::make(at_primaryType, $1) |
| float_type | __pad142__ = AST::make(at_primaryType, $1) |
| float_type | __pad143__ = AST::make(at_primaryType, $1) |
| primary_type | __pad144__ = AST::make(at_primaryType, $1) |
| primary_type | __pad145__ = $1 |
| primary_type | __pad146__ = $1 |
| primary_type | __pad147__ = AST::make(at_exceptionType, $1.loc) |
| blk_postfix_type | __pad148__ = $1 |
| blk_type | __pad149__ = AST::make(at_boxedType, $2.loc, $1) |
| trn_fneffect | __pad150__ = $1 |
| trn_fneffect | __pad151__ = AST::make(at_ident, LToken(tk_IMPURE, "impure")) |
| trn_fneffect | __pad152__ = AST::make(at_ident, $1) |
| trn_fneffect | __pad153__ = AST::make(at_ident, $1) |
| blk_type_args | __pad154__ = AST::make(at_ident, $1) |
| blk_type_args | __pad155__ |
| blk_fntype | __pad156__ |
| shared_ptr< AST > | fnargVec = AST::make(at_fnargVec, $5.loc) |
| blk_fntype | __pad157__ = AST::make(at_fn, $1->loc, fnargVec, $6) |
| blk_method_type | __pad158__ = AST::make(at_fn, $1->loc, $4, $7) |
| shared_ptr< AST > | fnargVec = AST::make(at_fnargVec, $5.loc) |
| blk_method_type | __pad159__ = AST::make(at_methType, $1->loc, fnargVec, $6) |
| blk_type_cpair | __pad160__ = AST::make(at_fn, $1->loc, $4, $7) |
| blk_type_cpair | __pad161__ |
| blk_postfix_type | __pad162__ |
| blk_postfix_type | __pad163__ = AST::make(at_arrayType, $1->loc, $1, $3) |
| blk_primary_type | __pad164__ = AST::make(at_vectorType, $1->loc, $1) |
| blk_typeapp | __pad165__ = $1 |
| blk_bitfieldtype | __pad166__ |
| blk_bitfieldtype | __pad167__ = AST::make(at_bitfieldType, $1->loc, $1, $3) |
| blk_field_type | __pad168__ = AST::make(at_bitfieldType, $1->loc, $1, $3) |
| blk_field_type | __pad169__ = $1 |
| blk_type_pl_byref | __pad170__ = $1 |
| blk_type_pl_byref | __pad171__ = $1 |
| blk_type_pl_byref | __pad172__ = AST::make(at_byRefType, $1.loc, $2) |
| blk_type_args_pl_byref | __pad173__ = AST::make(at_arrayRefType, $1.loc, $2) |
| blk_type_args_pl_byref | __pad174__ |
| blk_bindingpattern | __pad175__ |
| blk_bindingpattern | __pad176__ = AST::make(at_identPattern, $1->loc, $1) |
| blk_defpattern | __pad177__ = AST::make(at_identPattern, $1->loc, $1, $3) |
| blk_defpattern | __pad178__ = AST::make(at_identPattern, $1->loc, $1) |
| blk_lambdapatterns | __pad179__ = AST::make(at_identPattern, $1->loc, $1, $3) |
| blk_lambdapatterns | __pad180__ |
| blk_lambdapattern | __pad181__ |
| blk_lambdapattern | __pad182__ = AST::make(at_identPattern, $1->loc, $1) |
| blk_expr_primary | __pad183__ |
| blk_expr_apply | __pad184__ = $1 |
| blk_expr_apply | __pad185__ = $1 |
| blk_expr_apply | __pad186__ = AST::make(at_sizeof, $1.loc, $3) |
| blk_expr_apply | __pad187__ = AST::make(at_bitsizeof, $1.loc, $3) |
| blk_expr_apply | __pad188__ = AST::make(at_dup, $1.loc, $3) |
| blk_expr_apply | __pad189__ = AST::make(at_deref, $1.loc, $3) |
| blk_expr_apply | __pad190__ |
| astType = $3 at_vector | |
| loc = $1.loc | |
| blk_expr_apply | __pad191__ |
| astType = $3 at_array | |
| loc = $1.loc | |
| blk_expr_mixfix | __pad192__ |
| blk_expr_mixfix | __pad193__ = $1 |
| blk_mixfix_elem | __pad194__ = $1 |
| blk_mixfix_elem | __pad195__ = AST::make(at_mixfix, $1->loc, $1) |
| blk_mixfix_arglist | __pad196__ = AST::make(at_mixfix, $1.loc, AST::make(at_ident, $1), $2) |
| blk_mixfix_arglist | __pad197__ = AST::make(at_mixfix, $1->loc, $1) |
| blk_expr_seq | __pad198__ |
| blk_expr_seq | __pad199__ = AST::make(at_begin, $1->loc, $1) |
| blk_expr_seq | __pad200__ |
| blk_actual_params | __pad201__ |
| blk_actual_params | __pad202__ = AST::make(at_Null) |
| blk_nonempty_params | __pad203__ = $1 |
| blk_nonempty_params | __pad204__ = AST::make(at_Null, $1->loc, $1) |
| blk_expr_primary | __pad205__ |
| blk_expr_primary | __pad206__ = $1 |
| blk_expr_primary | __pad207__ = $1 |
| blk_expr | __pad208__ |
| blk_expr_continue | __pad209__ = $1 |
| blk_expr | __pad210__ |
| blk_expr_from_return | __pad211__ = $1 |
| blk_expr | __pad212__ = AST::make(at_return_from, $1.loc, $2, $4) |
| blk_expr_lambda | __pad213__ = $1 |
| shared_ptr< AST > | argVec = AST::make(at_argVec, $2.loc) |
| shared_ptr< AST > | iRetBlock |
| blk_expr_lambda | __pad214__ = AST::make(at_lambda, $1.loc, argVec, iRetBlock) |
| shared_ptr< AST > | iRetBlock |
| blk_expr | __pad215__ = AST::make(at_lambda, $1.loc, $3, iRetBlock) |
| blk_expr_return | __pad216__ = $1 |
| blk_expr | __pad217__ |
| blk_expr_if_then_else | __pad218__ = $1 |
| blk_expr | __pad219__ = AST::make(at_if, $1.loc, $2, $5, $8) |
| LToken | lastTok = lexer->getLastToken() |
| blk_expr | __pad220__ = AST::make(at_unit, $1.loc) |
| LToken | lastTok = lexer->getLastToken() |
| yylval tok | flags = TF_REPROCESS |
| yyclearin | |
| lexer | showNextError = false |
| blk_expr | __pad221__ |
| blk_expr_when | __pad222__ = $1 |
| blk_expr_when | __pad223__ = AST::make(at_when, $1.loc, $2, $4) |
| blk_expr | __pad224__ = AST::make(at_when, $1.loc, $2, $4) |
| blk_expr_unless | __pad225__ = $1 |
| blk_expr | __pad226__ = AST::make(at_unless, $1.loc, $2, $4) |
| blk_expr | __pad227__ = AST::make(at_setbang, $2.loc, $1, $3) |
| blk_expr_switch | __pad228__ = $1 |
| blk_sw_legs | __pad229__ |
| blk_sw_legs | __pad230__ |
| blk_sw_leg | __pad231__ = AST::make(at_usw_legs, $1->loc, $1) |
| blk_expr_switch_matches | __pad232__ |
| blk_expr_switch_matches | __pad233__ = AST::make(at_Null, $1->loc, $1) |
| blk_expr_switch_match | __pad234__ |
| blk_expr_switch_match | __pad235__ = AST::make(at_select, $1->loc, $1, $3) |
| shared_ptr< AST > | usesel = AST::make(at_usesel, $1->loc, $1, $3) |
| usesel | s = $1->s + "." + $3->s |
| blk_opt_otherwise | __pad236__ = AST::make(at_select, $1->loc, usesel, $5) |
| blk_opt_otherwise | __pad237__ = $1 |
| blk_otherwise | __pad238__ = AST::make(at_Null) |
| blk_expr | __pad239__ = AST::make(at_otherwise, $1.loc, $2) |
| blk_expr_try | __pad240__ = $1 |
| blk_expr_try | __pad241__ |
| shared_ptr< AST > | dummyID |
| shared_ptr< AST > | ow |
| blk_expr | __pad242__ |
| blk_expr_throw | __pad243__ = $1 |
| blk_expr | __pad244__ = AST::make(at_throw, $1.loc, $2) |
| blk_expr_let | __pad245__ = $1 |
| blk_letbinding | __pad246__ |
| blk_letbindings | __pad247__ = AST::make(at_letbinding, $1->loc, $1, $3) |
| blk_letbindings | __pad248__ = AST::make(at_letbindings, $1->loc, $1) |
| blk_expr | __pad249__ |
| blk_expr_letrec | __pad250__ = $1 |
| shared_ptr< AST > | lbs = $3 |
| blk_expr | __pad251__ = AST::make(at_letrec, $1.loc, lbs, $6, AST::make(at_constraints)) |
| blk_expr_loop | __pad252__ = $1 |
| shared_ptr< AST > | iTest |
| shared_ptr< AST > | iBody |
| shared_ptr< AST > | iContinueBlock |
| blk_loopbindings | __pad253__ = AST::make(at_loop, $1.loc, $3, iTest, iContinueBlock) |
| blk_loopbindings | __pad254__ = AST::make(at_loopbindings) |
| blk_nonempty_loopbindings | __pad255__ = $1 |
| blk_nonempty_loopbindings | __pad256__ = AST::make(at_loopbindings, $1->loc, $1) |
| blk_expr_loopbinding | __pad257__ |
| trn_literal | __pad258__ = AST::make(at_loopbinding, $1->loc, $1, $3, $5) |
| trn_literal | __pad259__ = $1 |
| trn_literal | __pad260__ = $1 |
| trn_literal | __pad261__ = $1 |
| trn_literal | __pad262__ = $1 |
| blk_exident | __pad263__ = $1 |
| blk_exident | __pad264__ = AST::make(at_ident, $1) |
| blk_ident | __pad265__ = AST::make(at_ident, $1) |
| blk_ident | __pad266__ = AST::make(at_ident, $1) |
| blk_ident | __pad267__ = AST::make(at_ident, $1) |
| blk_ident | __pad268__ = AST::make(at_ident, $1) |
| blk_ident | __pad269__ = AST::make(at_ident, $1) |
| cerr<< $1.loc.asString()< < ": The token \""<< $1.str< < "\" is reserved for future use.\n";lexer-> | num_errors |
| blk_useident | __pad270__ = AST::make(at_ident, $1) |
| blk_useident | __pad271__ = $1 |
| shared_ptr< AST > | usesel = AST::make(at_usesel, $2.loc, $1, $3) |
| usesel | s = $1->s + "." + $3->s |
| blk_defident | __pad272__ = usesel |
| flags = (ID_IS_GLOBAL) | |
| typevar | __pad273__ = $1 |
| identType = AST::make(at_ident, $1) id_tvar | |
| boolLit | __pad274__ |
| boolLit | __pad275__ = AST::makeBoolLit($1) |
| charLit | __pad276__ = AST::makeBoolLit($1) |
| intLit | __pad277__ = AST::makeCharLit($1) |
| intLit | __pad278__ = AST::makeIntLit($1) |
| natLit | __pad279__ = AST::makeIntLit($1) |
| floatLit | __pad280__ = AST::makeIntLit($1) |
| strLit | __pad281__ = AST::makeFloatLit($1) |
| ILCB | __pad282__ = AST::makeStringLit($1) |
| IRCB | __pad283__ |
| OptRCB | __pad284__ |
| yylval tok | flags = TF_REPROCESS |
| LToken | tok = LToken('}', yylval.tok.loc, yylval.tok.loc, "}") |
| tok | prevTokType = yylval.tok.prevTokType |
| yylval tok | prevTokType = '}' |
| tok | flags = (TF_INSERTED|TF_BY_PARSER) |
| OptRCB | __pad285__ = tok |
| IsILCB | __pad286__ |
| IsILCB | __pad287__ |
| SC | __pad288__ |
| SC | __pad289__ |
| #define SHOWPARSE | ( | s | ) |
Value:
do { \ if (Options::showParse) \ lexer->errStream << (s) << std::endl; \ } while (false);
| #define SHOWPARSE1 | ( | s, | |||
| x | ) |
Value:
do { \ if (Options::showParse) \ lexer->errStream << (s) << " " << (x) << std::endl; \ } while (false);
| #define yyerror | ( | lexer, | |||
| s | ) | lexer->showNextError = true |
| #define YYLEX_PARAM (TransitionLexer *)lexer |
| #define YYSTYPE ParseType |
| addChild | ( | AST:: | make(at_constraints) | ) |
| addChild | ( | $ | 3 | ) | = $1 |
| assert | ( | yychar! | = YYEMPTY |
) |
Referenced by acyclic(), add_relevant_items_todo(), addTvsToSigma(), addType(), AlphaRename(), Type::argCCOK(), Type::argInConst(), Type::Args(), AST::atKwd(), Type::Base(), bindIdentDef(), blk_BitcP(), buildFnFromApp(), buildNewDeclaration(), c_decl(), calc_struct_size(), calc_unin_size(), cl_convert_ast(), cl_heapify(), clearConstraints(), CMangle(), TCConstraints::collectAllFnDeps(), collectHeapifiedArgs(), Type::Core(), decl(), doChildren(), UocInfo::DoResolve(), UocInfo::DoTypeCheck(), emit_arr_vec_fn_types(), emit_fnxn_decl(), emit_fnxn_label(), EmitDefexcept(), EmitExpr(), EmitGlobalInitializers(), emitInitProc(), EmitTypeExpansion(), EmitTypeScheme(), Type::ensureMinimizability(), EqUnify(), findComponent(), findusedef(), Type::fixupConstArguments(), GenerateCoutput(), GenerateInterface(), getAllDefs(), AST::getCtr(), getDefToInstantiate(), getIDFromInstantiation(), getInnerLet(), AST::getInstanceMethod(), getLetintoLetStream(), getNewName(), getOuterLet(), SpecialNames::getSpName(), getTypeAst(), getTypesIntoMainStream(), getValuesIntoMainStream(), handlePcst(), handleSpecialPred(), handleTCPred(), hoist(), importInstBindings(), InferInstance(), InferObject(), InferStruct(), InferTvList(), InferTypeClass(), InferUnion(), insertMethDecls(), isExpansive(), Type::isShallowConcretizable(), AST::isUnionLeg(), lbMustNotSurvive(), sherpa::INOstream::less(), LetWrap(), TransitionLexer::lex(), MakeFrame(), mangleComponent(), Type::mangledString(), markPreludeDefs(), markTail(), MixFixNode::matchesKwd(), moveTypesUp(), name2fqn(), nCtArgs(), obtainFullUnionType(), AST::old_atKwd(), MixContext::ParseOneMixFix(), polyinst(), UocInfo::PrettyPrint(), proclaimsAboveDefs(), Type::propagateMutability(), providing(), reduce(), refize(), removeAndReRandT(), reprCheck(), resolve(), Type::Ret(), rigidify(), Trail::rollBack(), Type::size(), Specialize(), ssa(), sub(), superDAG(), toc(), toCtype(), top(), TopInit(), topNext(), trulyHoist(), typeEqInfer(), typeInfer(), Unify(), UnifyDecl(), UnifyFnArgs(), UnifyStructUnion(), unrigidify(), updateSigmas(), AST::Use(), used(), LitValue::validate_string(), Type::Var(), sherpa::vu_add(), sherpa::vu_mul(), sherpa::vu_sub(), warnUnresRef(), and XMLtypes().
| child | ( | 0 | ) |
Initial value:
AST::make(at_defunion, $3.loc, $4->child(0), /* ident */ $4->child(1), /* tvlist */ $2, /* category */ $5, /* declares */ $7, /* constructors */ $1) $$
Referenced by cl_convert(), cl_HoistInstLam(), LetInsert(), and pureLoop().
| uoc Compile | ( | ) |
| for | ( | size_t | c = 0; c < $7->children.size(); c++ |
) |
Initial value:
Definition at line 22963 of file TransitionParser.y.
Referenced by checkConstraints(), sherpa::vu_lshift_digits(), sherpa::vu_mul(), and sherpa::vu_rshift_digits().
| getID | ( | ) | = $5->externalName |
| if | ( | yychar! | = YYEMPTY |
) |
| if | ( | $6-> | astType = = at_otherwise |
) |
Definition at line 23060 of file TransitionParser.y.
| if | ( | $8-> | astType = = at_otherwise |
) |
Definition at line 22968 of file TransitionParser.y.
| if | ( | $3-> | astType = =at_byRefType |
) |
| if | ( | !UocInfo:: | importInterface(lexer->errStream, $2.loc, $2.str) | ) |
Definition at line 21810 of file TransitionParser.y.
| if | ( | $3->children. | size() = = 1 |
) |
| if | ( | $1->children.size()! | = 0 |
) |
Definition at line 21439 of file TransitionParser.y.
Referenced by aliasPublicBindings(), CMangle(), EmitDefstruct(), EmitDefunion(), hasPatternBindings(), importIfBinding(), importInstBindings(), importSymBindings(), importTSBindings(), main(), pureLoop(), typeInfer(), UpdateMegaEnvs(), useIFGamma(), and useIFInsts().
Referenced by addCandidates().
| lexer lex | ( | & | yylval | ) |
| lexer pushTokenBack | ( | tok | , | |
| true | ||||
| ) |
| lexer pushTokenBack | ( | yylval. | tok, | |
| true | ||||
| ) |
| lexer ReportParseError | ( | $3. | loc, | |
| "when/then has been replaced by when/do." | ||||
| ) |
| lexer ReportParseError | ( | $1. | loc, | |
| "if/then/else missing else clause at "+lastTok.loc.asString()+" | , | |||
| assuming unit.Consider when or unless?" | ||||
| ) |
| lexer ReportParseError | ( | $1. | loc, | |
| "Expected 'then' following 'if' | , | |||
| got"+lastTok.str+"at"+lastTok.loc. | asString() | |||
| ) |
| start __pad0__ |
Definition at line 21093 of file TransitionParser.y.
| blk_fields __pad100__ |
Definition at line 21950 of file TransitionParser.y.
| blk_fields __pad101__ = AST::make(at_fields, $1->loc, $1) |
Definition at line 21955 of file TransitionParser.y.
| blk_field __pad102__ |
Definition at line 21962 of file TransitionParser.y.
| blk_field __pad103__ = AST::make(at_field, $1->loc, $1, $3) |
Definition at line 21966 of file TransitionParser.y.
| blk_field __pad104__ = AST::make(at_fill, $1.loc, $3) |
Definition at line 21972 of file TransitionParser.y.
| blk_methods_only __pad105__ = AST::make(at_fill, $1.loc, $3, $5) |
Definition at line 21979 of file TransitionParser.y.
| blk_methods_only __pad106__ = AST::make(at_fields, $1->loc, $1) |
Definition at line 21984 of file TransitionParser.y.
| blk_methdecl __pad107__ |
Definition at line 21991 of file TransitionParser.y.
| blk_fields_and_methods __pad108__ = AST::make(at_methdecl, $1->loc, $1, $3) |
Definition at line 21995 of file TransitionParser.y.
| blk_fields_and_methods __pad109__ = AST::make(at_fields, $1->loc, $1) |
Definition at line 22000 of file TransitionParser.y.
| trn_implicit_module __pad10__ |
Definition at line 21198 of file TransitionParser.y.
| blk_fields_and_methods __pad110__ = AST::make(at_fields, $1->loc, $1) |
Definition at line 22005 of file TransitionParser.y.
| blk_fields_and_methods __pad111__ |
Definition at line 22012 of file TransitionParser.y.
| blk_tvlist __pad112__ |
Definition at line 22018 of file TransitionParser.y.
| blk_tvlist __pad113__ = AST::make(at_tvlist, $1->loc, $1) |
Definition at line 22025 of file TransitionParser.y.
| blk_prefix_type __pad114__ |
Definition at line 22025 of file TransitionParser.y.
| blk_prefix_type __pad115__ = $1 |
Definition at line 22062 of file TransitionParser.y.
| blk_prefix_type __pad116__ = AST::make(at_mutableType, $1.loc, $2) |
Definition at line 22067 of file TransitionParser.y.
| blk_postfix_type __pad117__ = AST::make(at_constType, $1.loc, $2) |
Definition at line 22071 of file TransitionParser.y.
| blk_type __pad118__ = $1 |
Definition at line 22076 of file TransitionParser.y.
| blk_primary_type __pad119__ = $1 |
Definition at line 22081 of file TransitionParser.y.
| trn_module __pad11__ |
Definition at line 21212 of file TransitionParser.y.
| blk_primary_type __pad120__ = $1 |
Definition at line 22086 of file TransitionParser.y.
| blk_primary_type __pad121__ |
Definition at line 22095 of file TransitionParser.y.
| blk_primary_type __pad122__ = $2 |
Definition at line 22096 of file TransitionParser.y.
| blk_primary_type __pad123__ = AST::make(at_boxedType, $1.loc, $3) |
Definition at line 22103 of file TransitionParser.y.
| blk_primary_type __pad124__ = AST::make(at_unboxedType, $1.loc, $3) |
Definition at line 22108 of file TransitionParser.y.
| primary_type __pad125__ |
Definition at line 22108 of file TransitionParser.y.
| bool_type __pad126__ |
Definition at line 22130 of file TransitionParser.y.
| primary_type __pad127__ = AST::make(at_primaryType, $1) |
Definition at line 22141 of file TransitionParser.y.
| primary_type __pad128__ = $1 |
Definition at line 22146 of file TransitionParser.y.
| primary_type __pad129__ = AST::make(at_primaryType, $1) |
Definition at line 22151 of file TransitionParser.y.
| trn_module __pad12__ |
Definition at line 21229 of file TransitionParser.y.
| int_type __pad130__ = AST::make(at_primaryType, $1) |
Definition at line 22155 of file TransitionParser.y.
| int_type __pad131__ = AST::make(at_primaryType, $1) |
Definition at line 22160 of file TransitionParser.y.
| int_type __pad132__ = AST::make(at_primaryType, $1) |
Definition at line 22164 of file TransitionParser.y.
| int_type __pad133__ = AST::make(at_primaryType, $1) |
Definition at line 22168 of file TransitionParser.y.
| uint_type __pad134__ = AST::make(at_primaryType, $1) |
Definition at line 22172 of file TransitionParser.y.
| uint_type __pad135__ = AST::make(at_primaryType, $1) |
Definition at line 22176 of file TransitionParser.y.
| uint_type __pad136__ = AST::make(at_primaryType, $1) |
Definition at line 22180 of file TransitionParser.y.
| uint_type __pad137__ = AST::make(at_primaryType, $1) |
Definition at line 22184 of file TransitionParser.y.
| any_int_type __pad138__ = AST::make(at_primaryType, $1) |
Definition at line 22188 of file TransitionParser.y.
| any_int_type __pad139__ = $1 |
Definition at line 22193 of file TransitionParser.y.
| trn_if_definitions __pad13__ |
Definition at line 21248 of file TransitionParser.y.
| any_int_type __pad140__ = $1 |
Definition at line 22197 of file TransitionParser.y.
| float_type __pad141__ = AST::make(at_primaryType, $1) |
Definition at line 22201 of file TransitionParser.y.
| float_type __pad142__ = AST::make(at_primaryType, $1) |
Definition at line 22206 of file TransitionParser.y.
| float_type __pad143__ = AST::make(at_primaryType, $1) |
Definition at line 22210 of file TransitionParser.y.
| primary_type __pad144__ = AST::make(at_primaryType, $1) |
Definition at line 22214 of file TransitionParser.y.
| primary_type __pad145__ = $1 |
Definition at line 22219 of file TransitionParser.y.
| primary_type __pad146__ = $1 |
Definition at line 22223 of file TransitionParser.y.
| primary_type __pad147__ = AST::make(at_exceptionType, $1.loc) |
Definition at line 22229 of file TransitionParser.y.
| blk_postfix_type __pad148__ = $1 |
Definition at line 22235 of file TransitionParser.y.
| blk_type __pad149__ = AST::make(at_boxedType, $2.loc, $1) |
Definition at line 22241 of file TransitionParser.y.
Definition at line 21253 of file TransitionParser.y.
| trn_fneffect __pad150__ = $1 |
Definition at line 22247 of file TransitionParser.y.
| trn_fneffect __pad151__ = AST::make(at_ident, LToken(tk_IMPURE, "impure")) |
Definition at line 22252 of file TransitionParser.y.
| trn_fneffect __pad152__ = AST::make(at_ident, $1) |
Definition at line 22257 of file TransitionParser.y.
| trn_fneffect __pad153__ = AST::make(at_ident, $1) |
Definition at line 22262 of file TransitionParser.y.
| blk_type_args __pad154__ = AST::make(at_ident, $1) |
Definition at line 22267 of file TransitionParser.y.
| blk_type_args __pad155__ |
Definition at line 22274 of file TransitionParser.y.
| blk_fntype __pad156__ |
Definition at line 22274 of file TransitionParser.y.
| blk_fntype __pad157__ = AST::make(at_fn, $1->loc, fnargVec, $6) |
Definition at line 22285 of file TransitionParser.y.
| blk_method_type __pad158__ = AST::make(at_fn, $1->loc, $4, $7) |
Definition at line 22290 of file TransitionParser.y.
| blk_method_type __pad159__ = AST::make(at_methType, $1->loc, fnargVec, $6) |
Definition at line 22297 of file TransitionParser.y.
| trn_if_definition __pad15__ |
Definition at line 21260 of file TransitionParser.y.
| blk_type_cpair __pad160__ = AST::make(at_fn, $1->loc, $4, $7) |
Definition at line 22302 of file TransitionParser.y.
| blk_type_cpair __pad161__ |
Definition at line 22302 of file TransitionParser.y.
| blk_postfix_type __pad162__ |
Definition at line 22302 of file TransitionParser.y.
| blk_postfix_type __pad163__ = AST::make(at_arrayType, $1->loc, $1, $3) |
Definition at line 22323 of file TransitionParser.y.
| blk_primary_type __pad164__ = AST::make(at_vectorType, $1->loc, $1) |
Definition at line 22328 of file TransitionParser.y.
| blk_typeapp __pad165__ = $1 |
Definition at line 22339 of file TransitionParser.y.
| blk_bitfieldtype __pad166__ |
Definition at line 22346 of file TransitionParser.y.
| blk_bitfieldtype __pad167__ = AST::make(at_bitfieldType, $1->loc, $1, $3) |
Definition at line 22351 of file TransitionParser.y.
| blk_field_type __pad168__ = AST::make(at_bitfieldType, $1->loc, $1, $3) |
Definition at line 22355 of file TransitionParser.y.
| blk_field_type __pad169__ = $1 |
Definition at line 22361 of file TransitionParser.y.
| trn_mod_definitions __pad16__ = $1 |
Definition at line 21264 of file TransitionParser.y.
| blk_type_pl_byref __pad170__ = $1 |
Definition at line 22366 of file TransitionParser.y.
| blk_type_pl_byref __pad171__ = $1 |
Definition at line 22374 of file TransitionParser.y.
| blk_type_pl_byref __pad172__ = AST::make(at_byRefType, $1.loc, $2) |
Definition at line 22379 of file TransitionParser.y.
| blk_type_args_pl_byref __pad173__ = AST::make(at_arrayRefType, $1.loc, $2) |
Definition at line 22384 of file TransitionParser.y.
| blk_type_args_pl_byref __pad174__ |
Definition at line 22391 of file TransitionParser.y.
| blk_bindingpattern __pad175__ |
Definition at line 22391 of file TransitionParser.y.
| blk_bindingpattern __pad176__ = AST::make(at_identPattern, $1->loc, $1) |
Definition at line 22401 of file TransitionParser.y.
| blk_defpattern __pad177__ = AST::make(at_identPattern, $1->loc, $1, $3) |
Definition at line 22406 of file TransitionParser.y.
| blk_defpattern __pad178__ = AST::make(at_identPattern, $1->loc, $1) |
Definition at line 22414 of file TransitionParser.y.
| blk_lambdapatterns __pad179__ = AST::make(at_identPattern, $1->loc, $1, $3) |
Definition at line 22418 of file TransitionParser.y.
Definition at line 21272 of file TransitionParser.y.
| blk_lambdapatterns __pad180__ |
Definition at line 22426 of file TransitionParser.y.
| blk_lambdapattern __pad181__ |
Definition at line 22426 of file TransitionParser.y.
| blk_lambdapattern __pad182__ = AST::make(at_identPattern, $1->loc, $1) |
Definition at line 22435 of file TransitionParser.y.
| blk_expr_primary __pad183__ |
Definition at line 22443 of file TransitionParser.y.
| blk_expr_apply __pad184__ = $1 |
Definition at line 22525 of file TransitionParser.y.
| blk_expr_apply __pad185__ = $1 |
Definition at line 22537 of file TransitionParser.y.
| blk_expr_apply __pad186__ = AST::make(at_sizeof, $1.loc, $3) |
Definition at line 22541 of file TransitionParser.y.
| blk_expr_apply __pad187__ = AST::make(at_bitsizeof, $1.loc, $3) |
Definition at line 22545 of file TransitionParser.y.
| blk_expr_apply __pad188__ = AST::make(at_dup, $1.loc, $3) |
Definition at line 22550 of file TransitionParser.y.
| blk_expr_apply __pad189__ = AST::make(at_deref, $1.loc, $3) |
Definition at line 22554 of file TransitionParser.y.
| trn_mod_definition __pad18__ |
Definition at line 21279 of file TransitionParser.y.
| blk_expr_apply __pad190__ |
Definition at line 22554 of file TransitionParser.y.
| blk_expr_apply __pad191__ |
Definition at line 22565 of file TransitionParser.y.
| blk_expr_mixfix __pad192__ |
Definition at line 22572 of file TransitionParser.y.
| blk_expr_mixfix __pad193__ = $1 |
Definition at line 22576 of file TransitionParser.y.
| blk_mixfix_elem __pad194__ = $1 |
Definition at line 22582 of file TransitionParser.y.
| blk_mixfix_elem __pad195__ = AST::make(at_mixfix, $1->loc, $1) |
Definition at line 22594 of file TransitionParser.y.
| blk_mixfix_arglist __pad196__ = AST::make(at_mixfix, $1.loc, AST::make(at_ident, $1), $2) |
Definition at line 22616 of file TransitionParser.y.
| blk_mixfix_arglist __pad197__ = AST::make(at_mixfix, $1->loc, $1) |
Definition at line 22621 of file TransitionParser.y.
| blk_expr_seq __pad198__ |
Definition at line 22621 of file TransitionParser.y.
| blk_expr_seq __pad199__ = AST::make(at_begin, $1->loc, $1) |
Definition at line 22685 of file TransitionParser.y.
| blk_mod_definition __pad19__ = $1 |
Definition at line 21283 of file TransitionParser.y.
| trn_uoc_body __pad1__ |
Definition at line 21101 of file TransitionParser.y.
| blk_expr_seq __pad200__ |
Definition at line 22691 of file TransitionParser.y.
| blk_actual_params __pad201__ |
Definition at line 22696 of file TransitionParser.y.
| blk_actual_params __pad202__ = AST::make(at_Null) |
Definition at line 22700 of file TransitionParser.y.
| blk_nonempty_params __pad203__ = $1 |
Definition at line 22704 of file TransitionParser.y.
| blk_nonempty_params __pad204__ = AST::make(at_Null, $1->loc, $1) |
Definition at line 22708 of file TransitionParser.y.
| blk_expr_primary __pad205__ |
Definition at line 22708 of file TransitionParser.y.
| blk_expr_primary __pad206__ = $1 |
Definition at line 22719 of file TransitionParser.y.
| blk_expr_primary __pad207__ = $1 |
Definition at line 22741 of file TransitionParser.y.
| blk_expr __pad208__ |
Initial value:
AST::make(at_labeledBlock, $1.loc, AST::make(at_ident, $2), $4)
Definition at line 22803 of file TransitionParser.y.
| blk_expr_continue __pad209__ = $1 |
Definition at line 22810 of file TransitionParser.y.
| blk_mod_definition __pad20__ = $1 |
Definition at line 21288 of file TransitionParser.y.
| blk_expr __pad210__ |
Initial value:
AST::make(at_return_from, $1.loc, AST::make(at_ident, LToken(tk_BlkIdent, "__continue")), AST::make(at_unit, $1.loc))
Definition at line 22814 of file TransitionParser.y.
| blk_expr_from_return __pad211__ = $1 |
Definition at line 22821 of file TransitionParser.y.
| blk_expr __pad212__ = AST::make(at_return_from, $1.loc, $2, $4) |
Definition at line 22825 of file TransitionParser.y.
| blk_expr_lambda __pad213__ = $1 |
Definition at line 22835 of file TransitionParser.y.
| blk_expr_lambda __pad214__ = AST::make(at_lambda, $1.loc, argVec, iRetBlock) |
Definition at line 22843 of file TransitionParser.y.
| blk_expr __pad215__ = AST::make(at_lambda, $1.loc, $3, iRetBlock) |
Definition at line 22851 of file TransitionParser.y.
| blk_expr_return __pad216__ = $1 |
Definition at line 22857 of file TransitionParser.y.
| blk_expr __pad217__ |
Initial value:
AST::make(at_return_from, $1.loc, AST::make(at_ident, LToken(tk_BlkIdent, "__return")), $2)
Definition at line 22861 of file TransitionParser.y.
| blk_expr_if_then_else __pad218__ = $1 |
Definition at line 22868 of file TransitionParser.y.
| blk_expr __pad219__ = AST::make(at_if, $1.loc, $2, $5, $8) |
Definition at line 22873 of file TransitionParser.y.
| blk_common_definition __pad21__ = $1 |
Definition at line 21293 of file TransitionParser.y.
| blk_expr __pad220__ = AST::make(at_unit, $1.loc) |
Definition at line 22881 of file TransitionParser.y.
| blk_expr __pad221__ |
| blk_expr_when __pad222__ = $1 |
Definition at line 22908 of file TransitionParser.y.
| blk_expr_when __pad223__ = AST::make(at_when, $1.loc, $2, $4) |
Definition at line 22912 of file TransitionParser.y.
| blk_expr __pad224__ = AST::make(at_when, $1.loc, $2, $4) |
Definition at line 22919 of file TransitionParser.y.
| blk_expr_unless __pad225__ = $1 |
Definition at line 22923 of file TransitionParser.y.
| blk_expr __pad226__ = AST::make(at_unless, $1.loc, $2, $4) |
Definition at line 22927 of file TransitionParser.y.
| blk_expr __pad227__ = AST::make(at_setbang, $2.loc, $1, $3) |
Definition at line 22939 of file TransitionParser.y.
| blk_expr_switch __pad228__ = $1 |
Definition at line 22955 of file TransitionParser.y.
| blk_sw_legs __pad229__ |
Definition at line 22976 of file TransitionParser.y.
| blk_common_definition __pad22__ = $1 |
Definition at line 21298 of file TransitionParser.y.
| blk_sw_legs __pad230__ |
Definition at line 22981 of file TransitionParser.y.
| blk_sw_leg __pad231__ = AST::make(at_usw_legs, $1->loc, $1) |
Definition at line 22982 of file TransitionParser.y.
| blk_expr_switch_matches __pad232__ |
Definition at line 22995 of file TransitionParser.y.
| blk_expr_switch_matches __pad233__ = AST::make(at_Null, $1->loc, $1) |
Definition at line 22996 of file TransitionParser.y.
| blk_expr_switch_match __pad234__ |
Definition at line 22996 of file TransitionParser.y.
| blk_expr_switch_match __pad235__ = AST::make(at_select, $1->loc, $1, $3) |
Definition at line 23020 of file TransitionParser.y.
| blk_opt_otherwise __pad236__ = AST::make(at_select, $1->loc, usesel, $5) |
Definition at line 23027 of file TransitionParser.y.
| blk_opt_otherwise __pad237__ = $1 |
Definition at line 23033 of file TransitionParser.y.
| blk_otherwise __pad238__ = AST::make(at_Null) |
Definition at line 23037 of file TransitionParser.y.
| blk_expr __pad239__ = AST::make(at_otherwise, $1.loc, $2) |
Definition at line 23041 of file TransitionParser.y.
| blk_type_val_definition __pad23__ = $1 |
Definition at line 21303 of file TransitionParser.y.
| blk_expr_try __pad240__ = $1 |
Definition at line 23047 of file TransitionParser.y.
| blk_expr_try __pad241__ |
Definition at line 23068 of file TransitionParser.y.
| blk_expr __pad242__ |
Definition at line 23099 of file TransitionParser.y.
| blk_expr_throw __pad243__ = $1 |
Definition at line 23100 of file TransitionParser.y.
| blk_expr __pad244__ = AST::make(at_throw, $1.loc, $2) |
Definition at line 23104 of file TransitionParser.y.
| blk_expr_let __pad245__ = $1 |
Definition at line 23110 of file TransitionParser.y.
| blk_letbinding __pad246__ |
Definition at line 23119 of file TransitionParser.y.
| blk_letbindings __pad247__ = AST::make(at_letbinding, $1->loc, $1, $3) |
Definition at line 23120 of file TransitionParser.y.
| blk_letbindings __pad248__ = AST::make(at_letbindings, $1->loc, $1) |
Definition at line 23125 of file TransitionParser.y.
| blk_expr __pad249__ |
Definition at line 23131 of file TransitionParser.y.
| blk_type_val_definition __pad24__ = $1 |
Definition at line 21316 of file TransitionParser.y.
| blk_expr_letrec __pad250__ = $1 |
Definition at line 23136 of file TransitionParser.y.
| blk_expr __pad251__ = AST::make(at_letrec, $1.loc, lbs, $6, AST::make(at_constraints)) |
Definition at line 23145 of file TransitionParser.y.
| blk_expr_loop __pad252__ = $1 |
Definition at line 23154 of file TransitionParser.y.
| blk_loopbindings __pad253__ = AST::make(at_loop, $1.loc, $3, iTest, iContinueBlock) |
Definition at line 23175 of file TransitionParser.y.
| blk_loopbindings __pad254__ = AST::make(at_loopbindings) |
Definition at line 23180 of file TransitionParser.y.
| blk_nonempty_loopbindings __pad255__ = $1 |
Definition at line 23184 of file TransitionParser.y.
| blk_nonempty_loopbindings __pad256__ = AST::make(at_loopbindings, $1->loc, $1) |
Definition at line 23188 of file TransitionParser.y.
| blk_expr_loopbinding __pad257__ |
Definition at line 23194 of file TransitionParser.y.
| trn_literal __pad258__ = AST::make(at_loopbinding, $1->loc, $1, $3, $5) |
Definition at line 23201 of file TransitionParser.y.
| trn_literal __pad259__ = $1 |
Definition at line 23208 of file TransitionParser.y.
| blk_type_val_definition __pad25__ = $1 |
Definition at line 21321 of file TransitionParser.y.
| trn_literal __pad260__ = $1 |
Definition at line 23213 of file TransitionParser.y.
| trn_literal __pad261__ = $1 |
Definition at line 23219 of file TransitionParser.y.
| trn_literal __pad262__ = $1 |
Definition at line 23224 of file TransitionParser.y.
| blk_exident __pad263__ = $1 |
Definition at line 23229 of file TransitionParser.y.
| blk_exident __pad264__ = AST::make(at_ident, $1) |
Definition at line 23235 of file TransitionParser.y.
| blk_ident __pad265__ = AST::make(at_ident, $1) |
Definition at line 23240 of file TransitionParser.y.
| blk_ident __pad266__ = AST::make(at_ident, $1) |
Definition at line 23246 of file TransitionParser.y.
| blk_ident __pad267__ = AST::make(at_ident, $1) |
Definition at line 23250 of file TransitionParser.y.
| blk_ident __pad268__ = AST::make(at_ident, $1) |
Definition at line 23255 of file TransitionParser.y.
| blk_ident __pad269__ = AST::make(at_ident, $1) |
Definition at line 23259 of file TransitionParser.y.
| blk_type_val_definition __pad26__ = $1 |
Definition at line 21326 of file TransitionParser.y.
| blk_useident __pad270__ = AST::make(at_ident, $1) |
Definition at line 23266 of file TransitionParser.y.
| blk_useident __pad271__ = $1 |
Definition at line 23271 of file TransitionParser.y.
| blk_defident __pad272__ = usesel |
Definition at line 23278 of file TransitionParser.y.
| typevar __pad273__ = $1 |
Definition at line 23284 of file TransitionParser.y.
| boolLit __pad274__ |
Definition at line 23292 of file TransitionParser.y.
| boolLit __pad275__ = AST::makeBoolLit($1) |
Definition at line 23298 of file TransitionParser.y.
| charLit __pad276__ = AST::makeBoolLit($1) |
Definition at line 23302 of file TransitionParser.y.
| intLit __pad277__ = AST::makeCharLit($1) |
Definition at line 23307 of file TransitionParser.y.
| intLit __pad278__ = AST::makeIntLit($1) |
Definition at line 23312 of file TransitionParser.y.
| natLit __pad279__ = AST::makeIntLit($1) |
Definition at line 23317 of file TransitionParser.y.
| blk_type_val_definition __pad27__ = $1 |
Definition at line 21331 of file TransitionParser.y.
| floatLit __pad280__ = AST::makeIntLit($1) |
Definition at line 23322 of file TransitionParser.y.
| strLit __pad281__ = AST::makeFloatLit($1) |
Definition at line 23327 of file TransitionParser.y.
| ILCB __pad282__ = AST::makeStringLit($1) |
Definition at line 23332 of file TransitionParser.y.
| IRCB __pad283__ |
Definition at line 23340 of file TransitionParser.y.
| OptRCB __pad284__ |
Definition at line 23355 of file TransitionParser.y.
| OptRCB __pad285__ = tok |
Definition at line 23373 of file TransitionParser.y.
| IsILCB __pad286__ |
Definition at line 23380 of file TransitionParser.y.
| IsILCB __pad287__ |
Definition at line 23384 of file TransitionParser.y.
| SC __pad288__ |
Definition at line 23416 of file TransitionParser.y.
| SC __pad289__ |
Definition at line 23418 of file TransitionParser.y.
| blk_type_val_definition __pad28__ = $1 |
Definition at line 21336 of file TransitionParser.y.
| blk_constraints __pad29__ = $1 |
Definition at line 21341 of file TransitionParser.y.
| trn_uoc_body __pad2__ |
Definition at line 21105 of file TransitionParser.y.
| blk_constraints __pad30__ |
Definition at line 21357 of file TransitionParser.y.
| blk_constraint_seq __pad31__ = $2 |
Definition at line 21358 of file TransitionParser.y.
| blk_constraint_seq __pad32__ |
Definition at line 21358 of file TransitionParser.y.
Definition at line 21369 of file TransitionParser.y.
| blk_constraint __pad34__ = $1 |
Definition at line 21374 of file TransitionParser.y.
Definition at line 21379 of file TransitionParser.y.
Definition at line 21398 of file TransitionParser.y.
Definition at line 21409 of file TransitionParser.y.
| blk_type_definition __pad38__ |
Definition at line 21419 of file TransitionParser.y.
| blk_type_definition __pad39__ |
Definition at line 21438 of file TransitionParser.y.
| trn_uoc_body __pad3__ |
Definition at line 21109 of file TransitionParser.y.
| blk_repr_constructors __pad40__ |
Definition at line 21451 of file TransitionParser.y.
Definition at line 21452 of file TransitionParser.y.
| blk_repr_constructor __pad42__ |
Definition at line 21462 of file TransitionParser.y.
| blk_repr_reprs __pad43__ |
Definition at line 21471 of file TransitionParser.y.
Definition at line 21472 of file TransitionParser.y.
| blk_repr_repr __pad45__ |
Definition at line 21472 of file TransitionParser.y.
Definition at line 21483 of file TransitionParser.y.
| blk_externals __pad47__ |
Definition at line 21495 of file TransitionParser.y.
| blk_externals __pad48__ |
Definition at line 21501 of file TransitionParser.y.
| blk_type_definition __pad49__ |
Definition at line 21508 of file TransitionParser.y.
| blk_version __pad4__ |
Definition at line 21114 of file TransitionParser.y.
| blk_type_decl __pad50__ |
Definition at line 21523 of file TransitionParser.y.
| blk_type_decl __pad51__ |
Definition at line 21539 of file TransitionParser.y.
| blk_type_decl __pad52__ |
Definition at line 21555 of file TransitionParser.y.
| blk_optval __pad53__ |
Definition at line 21575 of file TransitionParser.y.
| blk_optval __pad54__ |
Definition at line 21585 of file TransitionParser.y.
| blk_val __pad55__ = $1 |
Definition at line 21586 of file TransitionParser.y.
| blk_val __pad56__ = AST::make(at_boxedCat) |
Definition at line 21591 of file TransitionParser.y.
| blk_val __pad57__ = AST::make(at_unboxedCat, $1) |
Definition at line 21596 of file TransitionParser.y.
| blk_openclosed __pad58__ = AST::make(at_opaqueCat, $1) |
Definition at line 21601 of file TransitionParser.y.
| blk_openclosed __pad59__ |
Definition at line 21608 of file TransitionParser.y.
| trn_interface __pad5__ |
Definition at line 21125 of file TransitionParser.y.
| blk_type_definition __pad60__ = AST::make(at_oc_closed, $1) |
Definition at line 21612 of file TransitionParser.y.
| blk_type_definition __pad61__ |
Definition at line 21631 of file TransitionParser.y.
| blk_tc_definition __pad62__ |
Definition at line 21648 of file TransitionParser.y.
| blk_tc_decls __pad63__ |
Definition at line 21659 of file TransitionParser.y.
| blk_method_decls __pad64__ = AST::make(at_tcdecls) |
Definition at line 21663 of file TransitionParser.y.
Definition at line 21687 of file TransitionParser.y.
| blk_method_decl __pad66__ |
Definition at line 21694 of file TransitionParser.y.
Definition at line 21700 of file TransitionParser.y.
| blk_ti_definition __pad68__ |
Initial value:
AST::make(at_definstance, $2.loc, $3, AST::make(at_tcmethods, $2.loc), $1)
Definition at line 21706 of file TransitionParser.y.
Definition at line 21711 of file TransitionParser.y.
| blk_ifident __pad6__ |
Definition at line 21171 of file TransitionParser.y.
Definition at line 21716 of file TransitionParser.y.
| blk_method_binding __pad71__ |
Definition at line 21722 of file TransitionParser.y.
Definition at line 21727 of file TransitionParser.y.
Definition at line 21738 of file TransitionParser.y.
Definition at line 21749 of file TransitionParser.y.
Definition at line 21761 of file TransitionParser.y.
| blk_fndef_tail __pad76__ = $2 |
Definition at line 21766 of file TransitionParser.y.
| blk_fndef_tail __pad77__ = $2 |
Definition at line 21770 of file TransitionParser.y.
| blk_value_declaration __pad78__ = $2 |
Definition at line 21774 of file TransitionParser.y.
| blk_import_definition __pad79__ |
Definition at line 21793 of file TransitionParser.y.
| blk_ifident __pad7__ |
Definition at line 21180 of file TransitionParser.y.
Definition at line 21815 of file TransitionParser.y.
Definition at line 21825 of file TransitionParser.y.
| blk_importList __pad82__ |
Definition at line 21837 of file TransitionParser.y.
Definition at line 21841 of file TransitionParser.y.
| blk_alias __pad84__ |
Definition at line 21841 of file TransitionParser.y.
Definition at line 21853 of file TransitionParser.y.
Definition at line 21858 of file TransitionParser.y.
| blk_provideList __pad87__ |
Definition at line 21868 of file TransitionParser.y.
Definition at line 21872 of file TransitionParser.y.
| blk_opt_declares __pad89__ |
Definition at line 21872 of file TransitionParser.y.
| trn_module_seq __pad8__ |
Definition at line 21186 of file TransitionParser.y.
| blk_opt_declares __pad90__ = AST::make(at_declares) |
Definition at line 21885 of file TransitionParser.y.
| blk_declares __pad91__ = $1 |
Definition at line 21889 of file TransitionParser.y.
Definition at line 21894 of file TransitionParser.y.
| blk_declare __pad93__ |
Definition at line 21901 of file TransitionParser.y.
| blk_decl __pad94__ = $2 |
Definition at line 21905 of file TransitionParser.y.
Definition at line 21911 of file TransitionParser.y.
Definition at line 21920 of file TransitionParser.y.
Definition at line 21927 of file TransitionParser.y.
| blk_constructor __pad98__ |
Definition at line 21933 of file TransitionParser.y.
Definition at line 21938 of file TransitionParser.y.
| trn_module_seq __pad9__ |
Definition at line 21194 of file TransitionParser.y.
Definition at line 22839 of file TransitionParser.y.
Referenced by cl_convert_ast(), FixDefs(), refize(), resolve(), typeEqInfer(), and typeInfer().
| astType = $3 at_array |
Definition at line 22570 of file TransitionParser.y.
| astType = $3 at_vector |
Definition at line 22563 of file TransitionParser.y.
| astType = $1 at_module |
Definition at line 21464 of file TransitionParser.y.
Referenced by calc_unin_size(), InferUnion(), reprXform(), Specialize(), toc(), typeEqInfer(), and typeInfer().
Definition at line 21786 of file TransitionParser.y.
Definition at line 21787 of file TransitionParser.y.
Initial value:
Definition at line 23069 of file TransitionParser.y.
| externalName = $2->s |
Definition at line 21507 of file TransitionParser.y.
Definition at line 23362 of file TransitionParser.y.
Definition at line 23357 of file TransitionParser.y.
| flags = (ID_IS_GLOBAL) |
Definition at line 23283 of file TransitionParser.y.
Definition at line 22895 of file TransitionParser.y.
| flags = (ID_IS_GLOBAL) |
Definition at line 21947 of file TransitionParser.y.
| flags = (ID_IS_GLOBAL) |
Definition at line 21937 of file TransitionParser.y.
Definition at line 21790 of file TransitionParser.y.
| flags = ID_IS_GLOBAL |
Definition at line 21698 of file TransitionParser.y.
| flags = ID_IS_GLOBAL |
Definition at line 21639 of file TransitionParser.y.
| flags = ID_IS_GLOBAL |
Definition at line 21622 of file TransitionParser.y.
Definition at line 21572 of file TransitionParser.y.
Definition at line 21552 of file TransitionParser.y.
Definition at line 21536 of file TransitionParser.y.
Definition at line 21506 of file TransitionParser.y.
Definition at line 21500 of file TransitionParser.y.
| flags = AST::make(at_Null) NO_FLAGS |
Definition at line 21494 of file TransitionParser.y.
| flags = (ID_IS_GLOBAL) |
Definition at line 21463 of file TransitionParser.y.
Referenced by blk_BitcP(), c_decl(), CMangle(), decl(), declare(), doChildren(), emit_fnxn_decl(), main(), MixFixNode::PrettyPrint(), resolve(), and toCtype().
Definition at line 22296 of file TransitionParser.y.
Definition at line 22284 of file TransitionParser.y.
| shared_ptr<AST> iContinueBlock |
Initial value:
Definition at line 23170 of file TransitionParser.y.
| identType = AST::make(at_ident, $1) id_tvar |
Definition at line 23291 of file TransitionParser.y.
| identType = id_tcmethod |
Definition at line 21699 of file TransitionParser.y.
Definition at line 21864 of file TransitionParser.y.
Definition at line 21830 of file TransitionParser.y.
Definition at line 21820 of file TransitionParser.y.
Definition at line 21809 of file TransitionParser.y.
Definition at line 21758 of file TransitionParser.y.
Definition at line 21760 of file TransitionParser.y.
Definition at line 21748 of file TransitionParser.y.
Initial value:
AST::make(at_labeledBlock, $1.loc,
AST::make(at_ident, LToken(tk_BlkIdent, "__return")), $5)
Definition at line 22848 of file TransitionParser.y.
Initial value:
AST::make(at_labeledBlock, $1.loc,
AST::make(at_ident, LToken(tk_BlkIdent, "__return")), $4)
Definition at line 22840 of file TransitionParser.y.
Initial value:
AST::make(at_labeledBlock, $2.loc,
AST::make(at_ident, LToken(tk_BlkIdent, "__return")), $7)
Definition at line 21755 of file TransitionParser.y.
Initial value:
AST::make(at_labeledBlock, $2.loc,
AST::make(at_ident, LToken(tk_BlkIdent, "__return")), $6)
Definition at line 21742 of file TransitionParser.y.
Initial value:
Definition at line 23164 of file TransitionParser.y.
| LToken lastTok = lexer->getLastToken() |
Definition at line 22885 of file TransitionParser.y.
| LToken lastTok = lexer->getLastToken() |
Definition at line 22877 of file TransitionParser.y.
Definition at line 23141 of file TransitionParser.y.
Referenced by cl_convert_ast(), findusedef(), getLastLB(), getLetintoLetStream(), loopOK(), newGrandLet(), refize(), resolve(), Specialize(), ssa(), toc(), and typeInfer().
Definition at line 22571 of file TransitionParser.y.
Definition at line 22564 of file TransitionParser.y.
| LexLoc loc |
Definition at line 21686 of file TransitionParser.y.
Referenced by buildLinkedAST(), main(), and typeAsAst().
| lexer nModules |
Definition at line 21208 of file TransitionParser.y.
| cerr<< $1.loc.asString() << ": The token \"" << $1.str << "\" is reserved for future use.\n"; lexer-> num_errors |
Definition at line 23265 of file TransitionParser.y.
Initial value:
Definition at line 23076 of file TransitionParser.y.
Referenced by ssa(), toc(), and typeInfer().
| yylval tok prevTokType = '}' |
Definition at line 23361 of file TransitionParser.y.
Definition at line 23360 of file TransitionParser.y.
| printVariant = $2 pf_PARENWRAP |
Definition at line 22092 of file TransitionParser.y.
| iLambda printVariant = pf_IMPLIED |
Definition at line 21759 of file TransitionParser.y.
| iLambda printVariant = pf_IMPLIED |
Definition at line 21747 of file TransitionParser.y.
| printVariant = AST::make(at_oc_open) pf_IMPLIED |
Definition at line 21607 of file TransitionParser.y.
| printVariant = AST::make(at_boxedCat) pf_IMPLIED |
Definition at line 21582 of file TransitionParser.y.
| printVariant = pf_IMPLIED |
Definition at line 21201 of file TransitionParser.y.
Definition at line 21097 of file TransitionParser.y.
Definition at line 22129 of file TransitionParser.y.
Referenced by aliasPublicBindings(), sherpa::BigNum::asString(), EmitExpr(), importIfBinding(), Type::mangledString(), sherpa::sgetenv(), sherpa::LexLoc::updateWith(), useIFGamma(), useIFInsts(), sherpa::LexLoc::with(), and xmlMangle().
| lexer showNextError = false |
Definition at line 22899 of file TransitionParser.y.
| lexer showNextError = false |
Definition at line 21884 of file TransitionParser.y.
| lexer showNextError = false |
Definition at line 21491 of file TransitionParser.y.
| LToken tok = LToken('}', yylval.tok.loc, yylval.tok.loc, "}") |
Definition at line 23359 of file TransitionParser.y.
Referenced by TransitionLexer::beginBlock(), TransitionLexer::endBlock(), TransitionLexer::lex(), AST::makeBoolLit(), AST::makeCharLit(), AST::makeFloatLit(), AST::makeIntLit(), AST::makeStringLit(), and TransitionLexer::pushTokenBack().
Definition at line 21390 of file TransitionParser.y.
Referenced by blk_BitcP(), cl_convert_ast(), and Specialize().
| Declaration forms require a type |
Definition at line 21784 of file TransitionParser.y.
Definition at line 21207 of file TransitionParser.y.
Referenced by buildLinkedAST(), cl_convert(), EmitBitO(), fixinit(), FQNize(), polyinst(), removeAndReRandT(), reRandT(), and Specialize().
| string uocName |
Initial value:
UocInfo::UocNameFromSrcName(lexer->here.origin, lexer->nModules)
Definition at line 21204 of file TransitionParser.y.
Referenced by initGamma().
Definition at line 23276 of file TransitionParser.y.
Definition at line 23025 of file TransitionParser.y.
Initial value:
AST::make(at_unboxedCat, LToken(tk_UNBOXED, "unboxed"))
Definition at line 21516 of file TransitionParser.y.
Definition at line 22897 of file TransitionParser.y.
Definition at line 21883 of file TransitionParser.y.
Definition at line 21490 of file TransitionParser.y.
1.4.7