Changeset 445


Ignore:
Timestamp:
Jun 22, 2010 7:45:44 PM (14 years ago)
Author:
Anya Helene Bagge
Message:

fix syntax

Files:
6 edited

Legend:

Unmodified
Added
Removed
  • MetaXa/src/Meta/MetaMagnolia.sdf

    r398 r445  
    3737context-free syntax
    3838
    39   VARID         -> VarMetaVar   {cons("MetaVar"), prefer, metavar}
    40   VARID "*"     -> VarMetaListVar       {cons("MetaVarList"), prefer, metavar,listvar}
    41   VARID "+"     -> VarMetaLIstVar       {cons("MetaVarList"), prefer, metavar,listvar}
     39  VARID         -> VarMetaVar   {cons("MetaVar"), prefer, category("MetaVar")}
     40  VARID "*"     -> VarMetaListVar       {cons("MetaVarList"), prefer, category("MetaVar"),listvar}
     41  VARID "+"     -> VarMetaLIstVar       {cons("MetaVarList"), prefer, category("MetaVar"),listvar}
    4242
    4343  VarMetaVar    -> Var[[Core]]
     
    4646
    4747
    48   NAMEID                -> NameMetaVar  {cons("MetaName"),prefer, metavar}
    49   NAMEID "*"    -> NameMetaListVar      {cons("MetaNameList"),prefer, metavar,listvar}
    50   NAMEID "+"    -> NameMetaListVar      {cons("MetaNameList"),prefer, metavar,listvar}
     48  NAMEID                -> NameMetaVar  {cons("MetaName"),prefer, category("MetaVar")}
     49  NAMEID "*"    -> NameMetaListVar      {cons("MetaNameList"),prefer, category("MetaVar"),listvar}
     50  NAMEID "+"    -> NameMetaListVar      {cons("MetaNameList"),prefer, category("MetaVar"),listvar}
    5151
    5252  NameMetaVar   -> Identifier[[Core]]
     
    5757  NameMetaListVar       -> Identifier[[Cxx]]
    5858
    59   FUNID         -> FunNameMetaVar               {cons("MetaFun"), prefer, metavar,listvar}
    60   PROCID        -> ProcNameMetaVar      {cons("MetaProc"), prefer, metavar,listvar}
     59  FUNID         -> FunNameMetaVar               {cons("MetaFun"), prefer, category("MetaVar"),listvar}
     60  PROCID        -> ProcNameMetaVar      {cons("MetaProc"), prefer, category("MetaVar"),listvar}
    6161
    6262  FunNameMetaVar -> FunName[[Core]]
     
    6666  FunNameMetaVar -> FunName[[Cxx]]
    6767
    68   TYPEID        -> TypeMetaVar          {cons("MetaType"), prefer, metavar}
    69   TYPEID "*"    -> TypeMetaListVar      {cons("MetaTypeList"), prefer, metavar,listvar}
    70   TYPEID "+"    -> TypeMetaListVar      {cons("MetaTypeList"), prefer, metavar,listvar}
     68  TYPEID        -> TypeMetaVar          {cons("MetaType"), prefer, category("MetaVar")}
     69  TYPEID "*"    -> TypeMetaListVar      {cons("MetaTypeList"), prefer, category("MetaVar"),listvar}
     70  TYPEID "+"    -> TypeMetaListVar      {cons("MetaTypeList"), prefer, category("MetaVar"),listvar}
    7171
    7272  TypeMetaVar  -> Type[[Core]]
     
    7777  TypeListPlus  -> {Type ","}+
    7878
    79   EXPRID        -> ExprMetaVar          {cons("MetaExpr"), prefer, metavar}
    80   EXPRID "*"    -> ExprMetaListVar      {cons("MetaExprList"), prefer, metavar,listvar}
    81   EXPRID "+"    -> ExprMetaListVar      {cons("MetaExprList"), prefer, metavar,listvar}
     79  EXPRID        -> ExprMetaVar          {cons("MetaExpr"), prefer, category("MetaVar")}
     80  EXPRID "*"    -> ExprMetaListVar      {cons("MetaExprList"), prefer, category("MetaVar"),listvar}
     81  EXPRID "+"    -> ExprMetaListVar      {cons("MetaExprList"), prefer, category("MetaVar"),listvar}
    8282
    8383  ExprMetaVar -> Expr[[Core]]
     
    8888  ExprMetaListVar -> Expr[[Cxx]]
    8989
    90   STATID        -> StatMetaVar          {cons("MetaStat"), prefer, metavar}
    91   STATID "*"    -> StatMetaListVar      {cons("MetaStatList"), prefer, metavar,listvar}
    92   STATID "+"    -> StatMetaListVar      {cons("MetaStatList"), prefer, metavar,listvar}
     90  STATID        -> StatMetaVar          {cons("MetaStat"), prefer, category("MetaVar")}
     91  STATID "*"    -> StatMetaListVar      {cons("MetaStatList"), prefer, category("MetaVar"),listvar}
     92  STATID "+"    -> StatMetaListVar      {cons("MetaStatList"), prefer, category("MetaVar"),listvar}
    9393
    9494  StatMetaVar -> Stat[[Core]]
     
    9999  StatMetaListVar -> Stat[[Cxx]]
    100100
    101   DECLID        -> DeclMetaVar          {cons("MetaDecl"), prefer, metavar}
    102   DECLID "*"    -> DeclMetaListVar      {cons("MetaDeclList"), prefer, metavar,listvar}
    103   DECLID "+"    -> DeclMetaListVar      {cons("MetaDeclList"), prefer, metavar,listvar}
     101  DECLID        -> DeclMetaVar          {cons("MetaDecl"), prefer, category("MetaVar")}
     102  DECLID "*"    -> DeclMetaListVar      {cons("MetaDeclList"), prefer, category("MetaVar"),listvar}
     103  DECLID "+"    -> DeclMetaListVar      {cons("MetaDeclList"), prefer, category("MetaVar"),listvar}
    104104
    105105  DeclMetaVar -> Decl[[Core]]
     
    110110  DeclMetaListVar -> Decl[[Cxx]]
    111111
    112   OPID          -> ADDOP                {cons("MetaOp"), prefer, metavar}
    113   [\_] OPID [\_]        -> ID           {cons("MetaOpBinName"), prefer, metavar}
    114   OPID          -> NEGOP                {cons("MetaOp"), prefer, metavar}
    115   OPID [\_]     -> ID   {cons("MetaOpPreName"), prefer, metavar}
     112
     113  ATTRID                -> AttrMetaVar          {cons("AttrDecl"), prefer, category("MetaVar")}
     114  ATTRID "*"    -> AttrMetaListVar      {cons("AttrDeclList"), prefer, category("MetaVar"),listvar}
     115  ATTRID "+"    -> AttrMetaListVar      {cons("AttrDeclList"), prefer, category("MetaVar"),listvar}
     116
     117  AttrMetaVar -> SubClause[[Core]]
     118  AttrMetaListVar -> SubClause[[Core]]
     119  AttrMetaVar -> SubClause[[Base]]
     120  AttrMetaListVar -> SubClause[[Base]]
     121
     122  OPID          -> ADDOP                {cons("MetaOp"), prefer, category("MetaVar")}
     123  [\_] OPID [\_]        -> ID           {cons("MetaOpBinName"), prefer, category("MetaVar")}
     124  OPID          -> NEGOP                {cons("MetaOp"), prefer, category("MetaVar")}
     125  OPID [\_]     -> ID   {cons("MetaOpPreName"), prefer, category("MetaVar")}
    116126
    117127  "\\" METAVARID -> ID          {cons("Dummy")}
     
    120130sorts
    121131   INTID FLTID STRID VARID TYPEID EXPRID STATID DECLID NAMEID MODEID QID FUNID
    122    SUBID METAVARID PROCID
     132   SUBID METAVARID PROCID ATTRID
    123133
    124134lexical syntax
    125135
    126    [O][s]*[0-9]*[\']*SUBID? -> OPID
    127    [R][s]*[0-9]*[\']*SUBID? -> FLTID
    128    [Q][s]*[0-9]*[\']*SUBID? -> INTID
    129    [C][s]*[0-9]*[\']*SUBID? -> STRID
    130    [A][s]*[0-9]*[\']*SUBID? -> EXPRID
    131    [D][s]*[0-9]*[\']*SUBID? -> DECLID
    132    [E][s]*[0-9]*[\']*SUBID? -> EXPRID
    133    [F][s]*[0-9]*[\']*SUBID? -> FUNID
    134    [M][s]*[0-9]*[\']*SUBID? -> MODEID
    135    [N][s]*[0-9]*[\']*SUBID? -> NAMEID
    136    [P][s]*[0-9]*[\']*SUBID? -> PROCID
    137    [S][s]*[0-9]*[\']*SUBID? -> STATID
    138    [T][s]*[0-9]*[\']*SUBID? -> TYPEID
    139    [VX][s]*[0-9]*[\']*SUBID? -> VARID
     136   [O][a-z]*[s]*[0-9]*[\']*SUBID? -> OPID
     137   [R][a-z]*[s]*[0-9]*[\']*SUBID? -> FLTID
     138   [Q][a-z]*[s]*[0-9]*[\']*SUBID? -> INTID
     139   [C][a-z]*[s]*[0-9]*[\']*SUBID? -> STRID
     140   [A][t][t][r][s]*[0-9]*[\']*SUBID? -> ATTRID
     141   [D][a-z]*[s]*[0-9]*[\']*SUBID? -> DECLID
     142   [E][a-z]*[s]*[0-9]*[\']*SUBID? -> EXPRID
     143   [F][a-z]*[s]*[0-9]*[\']*SUBID? -> FUNID
     144   [M][a-z]*[s]*[0-9]*[\']*SUBID? -> MODEID
     145   [N][a-z]*[s]*[0-9]*[\']*SUBID? -> NAMEID
     146   [P][a-z]*[s]*[0-9]*[\']*SUBID? -> PROCID
     147   [S][a-z]*[s]*[0-9]*[\']*SUBID? -> STATID
     148   [T][a-z]*[s]*[0-9]*[\']*SUBID? -> TYPEID
     149   [VX][a-z]*[s]*[0-9]*[\']*SUBID? -> VARID
    140150
    141151   [A-Z][s]*[0-9]*[\']*SUBID?   -> METAVARID
     
    151161    OPID        -/- [A-Za-z\'0-9]
    152162    EXPRID      -/- [A-Za-z\_\'0-9]
     163    ATTRID      -/- [A-Za-z\_\'0-9]
    153164    FLTID       -/- [A-Za-z\_\'0-9]
    154165    INTID       -/- [A-Za-z\_\'0-9]
  • MetaXa/src/Meta/MetaQuotes.sdf

    r395 r445  
    1111
    1212  "(;" Expr[[SQCtx]] ";)"                               -> SQExpr[[Ctx]]         {cons("SQExpr")}
     13  "(;" ConceptExpr[[SQCtx]] ";)"                -> SQConceptExpr[[Ctx]]          {cons("SQConceptExpr")}
    1314  "(;" Stat[[SQCtx]] ";)"                               -> SQStat[[Ctx]]         {cons("SQStat")}
    1415  "(;" Decl[[SQCtx]] ";)"                               -> SQDecl[[Ctx]]         {cons("SQDecl")}
     
    2324
    2425  "expr"     "(;" Expr[[SQCtx]] ";)"            -> SQExpr[[Ctx]]         {cons("SQExpr")}
     26  "conceptexpr"     "(;" ConceptExpr[[SQCtx]] ";)"              -> SQConceptExpr[[Ctx]]  {cons("SQConceptExpr")}
    2527  "stat"     "(;" Stat[[SQCtx]] ";)"            -> SQStat[[Ctx]]         {cons("SQStat")}
    2628  "decl"     "(;" Decl[[SQCtx]] ";)"            -> SQDecl[[Ctx]]         {cons("SQDecl")}
     
    3537 
    3638  SQExpr[[Ctx]]         -> SQuoted[[Ctx]]
     39  SQConceptExpr[[Ctx]]          -> SQuoted[[Ctx]]
    3740  SQStat[[Ctx]]         -> SQuoted[[Ctx]]
    3841  SQDecl[[Ctx]]         -> SQuoted[[Ctx]]
     
    5255
    5356  "(:" Expr[[DQCtx]] ":)"               -> DQExpr[[Ctx]]                        {cons("DQExpr")}
     57  "(:" ConceptExpr[[DQCtx]] ":)"                -> DQConceptExpr[[Ctx]]                         {cons("DQConceptExpr")}
    5458  "(:" Stat[[DQCtx]] ":)"               -> DQStat[[Ctx]]                        {cons("DQStat")}
    5559  "(:" Decl[[DQCtx]] ":)"               -> DQDecl[[Ctx]]                        {cons("DQDecl")}
     
    6468           
    6569  "expr"     "(:" Expr[[DQCtx]] ":)"            -> DQExpr[[Ctx]]         {cons("DQExpr")}
     70  "conceptexpr"     "(:" ConceptExpr[[DQCtx]] ":)"              -> DQConceptExpr[[Ctx]]          {cons("DQConceptExpr")}
    6671  "stat"     "(:" Stat[[DQCtx]] ":)"            -> DQStat[[Ctx]]         {cons("DQStat")}
    6772  "decl"     "(:" Decl[[DQCtx]] ":)"            -> DQDecl[[Ctx]]         {cons("DQDecl")}
     
    7681
    7782  DQExpr[[Ctx]]         -> DQuoted[[Ctx]]
     83  DQConceptExpr[[Ctx]]          -> DQuoted[[Ctx]]
    7884  DQStat[[Ctx]]         -> DQuoted[[Ctx]]
    7985  DQDecl[[Ctx]]         -> DQuoted[[Ctx]]
     
    9197           
    9298  "(:" Expr[[DQCtx]] ":)"                       -> Expr[[SQCtx]] {cons("DQExpr")}
     99  "(:" ConceptExpr[[DQCtx]] ":)"                        -> ConceptExpr[[SQCtx]] {cons("DQConceptExpr")}
    93100  "(:" Stat[[DQCtx]] ":)"                       -> Stat[[SQCtx]] {cons("DQStat")}
    94101  "(:" Decl[[DQCtx]] ":)"                       -> Decl[[SQCtx]] {cons("DQDecl")}
     
    103110           
    104111  "expr"     "(:" Expr[[DQCtx]] ":)"                    -> Expr[[SQCtx]] {cons("DQExpr")}
     112  "conceptexpr"     "(:" ConceptExpr[[DQCtx]] ":)"                      -> ConceptExpr[[SQCtx]] {cons("DQConceptExpr")}
    105113  "stat"     "(:" Stat[[DQCtx]] ":)"                    -> Stat[[SQCtx]] {cons("DQStat")}
    106114  "decl"     "(:" Decl[[DQCtx]] ":)"                    -> Decl[[SQCtx]] {cons("DQDecl")}
  • MetaXa/src/Meta/MetaSyntax.sdf

    r396 r445  
    3030  "sugar" MXaSugarDef*                  -> MXaSugarSection {cons("MXaSyntax")}
    3131
     32  "sorts" MXaID+                                -> MXaSection   {cons("MXaSorts")}
     33 
    3234  "translate" MXaID MXaArrow MXaID MXaSugarDef* -> MXaSugarSection {cons("MXaXLate")}
    3335 
     
    8890        MXaCons "(" {MXaExpr ","}* ")"  -> MXaTerm
    8991        MXaVar                                          -> MXaTerm
     92        MXaVar "*"                                      -> MXaTerm
     93        MXaVar "+"                                      -> MXaTerm
    9094        MXaExpr ":" MXaExpr                     -> MXaTerm
    91 
     95        MXaStringLiteral                        -> MXaTerm
     96       
    9297        MXaCons "<" {MXaExpr ","}* ">"  -> MXaRel
    9398
     
    147152context-free syntax
    148153
    149   MXaKEYWORD                    -> MXaToken     {cons("MXaKeyword")}
    150   MXaPUNCT                              -> MXaToken     {cons("MXaSymbol")}
    151   "\"" MXaSYMBOL "\""           -> MXaToken     {cons("MXaSymbol")}
     154  MXaKEYWORD                    -> MXaToken     {cons("MXaKeyword"), category("Token")}
     155  MXaPUNCT                              -> MXaToken     {cons("MXaSymbol"), category("Token")}
     156  "\"" MXaSYMBOL "\""           -> MXaToken     {cons("MXaSymbol"), category("Token")}
    152157
    153158  %%% ADD LANGUAGE SPECIFIC TOKENS
  • MetaXa/src/gen-tbl

    r425 r445  
    55fi
    66
    7 LD_LIBRARY_PATH=$ECLIPSE/plugins/rascal_fragment_linux_0.1.6/installed/lib/ $ECLIPSE/plugins/rascal_fragment_linux_0.1.6/installed/bin/sdf2table -c -m Magnolia -o Magnolia.tbl
     7FRAGMENT=$ECLIPSE/plugins/rascal_fragment_linux_0.1.6
    88
     9export LD_LIBRARY_PATH=$FRAGMENT/installed/lib/
     10
     11$FRAGMENT/installed/bin/sdf2table -c -m Magnolia -o Magnolia.tbl
     12$FRAGMENT/installed/bin/sdf2table -c -m Meta/MetaSyntax -o MetaXa.tbl -p .:$FRAGMENT/installed/share/sdf-library/library/
     13
     14[ "$1" = "-i" ] && cp *.tbl ../../magnolia-eclipse/lang/ && echo installed
  • trunk/src/syn/Magnolia/Core/Declarations.sdf

    r425 r445  
    261261  context-free syntax
    262262
    263     "concept" DeclName          -> DeclClause {cons("ConceptClause")}
     263    "concept" DeclName SubClause* "=" ConceptExpr               -> Decl {cons("ConceptClause")}
    264264%%    "theorem" DeclName                -> DeclClause {cons("ConceptClause")}
    265265    "implementation" DeclName "on" ConceptExpr "defines"        -> DeclClause {cons("ImplClause")}
     
    267267 
    268268
    269     Name -> DeclName
     269    Identifier -> DeclName
    270270
    271271    DeclClause -> DeclDeclarative
  • trunk/src/syn/Magnolia/Root/Layout.sdf

    r350 r445  
    2828
    2929    [\ \t\n\r] -> LAYOUT
    30     "//" ~[\n]* [\n] -> Comment
     30    "//" ~[\n]* [\n] -> Comment {category("Comment")}
    3131
    3232
    3333    [\*] -> ASTERISK
    34     "/*" ( ~[\*] | ASTERISK )* "*/" -> Comment
     34    "/*" ( ~[\*] | ASTERISK )* "*/" -> Comment {category("Comment")}
    3535
    3636    Comment -> LAYOUT
Note: See TracChangeset for help on using the changeset viewer.