Commit 6f707a79 authored by vasseu_c's avatar vasseu_c
Browse files

from Clement Vasseur <vasseu_c@lrde.epita.fr>

        * src/strategocxx/CxxVariables.sdf: Remove colliding variables, add
        some more variables.
        * src/strategocxx/StrategoCxx.sdf: Handle both |[...]| and |[...]c++|
        syntaxes.
parent 8ef12342
2003-06-12 Clement Vasseur <vasseu_c@lrde.epita.fr>
* src/strategocxx/CxxVariables.sdf: Remove colliding variables, add
some more variables.
* src/strategocxx/StrategoCxx.sdf: Handle both |[...]| and |[...]c++|
syntaxes.
2003-06-03 Clement Vasseur <vasseu_c@lrde.epita.fr>
* configure.ac: Add sdf/Makefile and strategocxx/Makefile
......
;; -*- Prcs -*-
(Created-By-Prcs-Version 1 3 2)
(Project-Description "Meta/SDF Grammar for C++")
(Project-Version meta-c++-grammar 0 109)
(Parent-Version meta-c++-grammar 0 108)
(Version-Log "2003-06-03 Clement Vasseur <vasseu_c@lrde.epita.fr>
(Project-Version meta-c++-grammar 0 110)
(Parent-Version meta-c++-grammar 0 109)
(Version-Log "from Clement Vasseur <vasseu_c@lrde.epita.fr>
* configure.ac: Add sdf/Makefile and strategocxx/Makefile
* Makefile.am, src/Makefile.am: Add BOOTCLEAN_SUBDIRS
* src/sdf/Makefile.am: New. Create a sdf-option'ed version of the
grammar. We need this for concrete syntax implementation.
* src/strategocxx/Makefile.am: New StrategoCxx grammar, for using Cxx
syntax in Stratego code.
* src/strategocxx/StrategoCxx.sdf: New. The StrategoCxx grammar.
* src/strategocxx/CxxVariables.sdf: New. Declare StrategoCxx variables.
* src/strategocxx/CxxVariables.sdf: Remove colliding variables, add
some more variables.
* src/strategocxx/StrategoCxx.sdf: Handle both |[...]| and |[...]c++|
syntaxes.
")
(New-Version-Log "")
(Checkin-Time "Tue, 03 Jun 2003 04:23:08 +0200")
(Checkin-Time "Thu, 12 Jun 2003 22:30:06 +0200")
(Checkin-Login vasseu_c)
(Populate-Ignore
(
......@@ -89,7 +84,7 @@
)
(Project-Keywords)
(Files
(ChangeLog (meta-c++-grammar/0_ChangeLog 1.105 600))
(ChangeLog (meta-c++-grammar/0_ChangeLog 1.106 600))
(Makefile.am (meta-c++-grammar/f/34_Makefile.a 1.7 600))
(TODO (meta-c++-grammar/f/27_TODO 1.2 600))
(README (meta-c++-grammar/g/37_README 1.2 600))
......@@ -447,8 +442,8 @@
;; to version 0.108(w), by vasseu_c:
(src/sdf/Makefile.am (meta-c++-grammar/g/50_Makefile.a 1.1 600))
(src/strategocxx/CxxVariables.sdf (meta-c++-grammar/g/51_CxxVariabl 1.1 644))
(src/strategocxx/StrategoCxx.sdf (meta-c++-grammar/h/0_StrategoCx 1.1 644))
(src/strategocxx/CxxVariables.sdf (meta-c++-grammar/g/51_CxxVariabl 1.2 644))
(src/strategocxx/StrategoCxx.sdf (meta-c++-grammar/h/0_StrategoCx 1.2 644))
(src/strategocxx/Makefile.am (meta-c++-grammar/h/1_Makefile.a 1.1 600))
)
(Merge-Parents)
......
......@@ -6,23 +6,25 @@ exports
[xyz][0-9]*[\']* -> Identifier { prefer }
[ijk][0-9]*[\']* -> IntegerLiteral { prefer }
[rst][0-9]*[\']* -> StringLiteral { prefer }
[rt][0-9]*[\']* -> StringLiteral { prefer }
[uvw][0-9]*[\']* -> FloatingLiteral { prefer }
[efg][0-9]*[\']* -> AdditiveExpression { prefer }
[efg][0-9]*[\']* -> AssignmentExpression { prefer }
[efg][0-9]*[\']* -> EqualityExpression { prefer }
[efg][0-9]*[\']* -> Exp { prefer }
%% [efg][0-9]*[\']* -> AdditiveExpression { prefer }
%% [efg][0-9]*[\']* -> AssignmentExpression { prefer }
%% [efg][0-9]*[\']* -> EqualityExpression { prefer }
%% [efg][0-9]*[\']* -> Exp { prefer }
[efg][0-9]*[\']* -> Expression { prefer }
[efg][0-9]*[\']* -> MultiplicativeExpression { prefer }
[efg][0-9]*[\']* -> PmExpression { prefer }
[efg][0-9]*[\']* -> RelationalExpression { prefer }
[efg][0-9]*[\']* -> ShiftExpression { prefer }
%% [efg][0-9]*[\']* -> MultiplicativeExpression { prefer }
%% [efg][0-9]*[\']* -> PmExpression { prefer }
%% [efg][0-9]*[\']* -> RelationalExpression { prefer }
%% [efg][0-9]*[\']* -> ShiftExpression { prefer }
[stu][0-9]*[\']* -> Statement { prefer }
"c"[0-9]*[\']* -> Condition { prefer }
"l"[0-9]*[\']* -> LValue { prefer }
"l"[0-9]*[\']* -> LogicalOrExpression { prefer }
"l"[0-9]*[\']* -> PostfixExpression { prefer }
"sd"[0-9]*[\']* -> SimpleDeclaration { prefer }
"a"[0-9]*[\']*"*" -> { AssignmentExpression "," }+ { prefer }
"a"[0-9]*[\']*"*" -> { Exp "," }* { prefer }
......
......@@ -10,25 +10,46 @@ exports
context-free syntax
"|[" Declaration "]c++|" -> StrategoTerm { cons ("ToTerm"), prefer }
"|[" DeclarationSeq "]c++|" -> StrategoTerm { cons ("ToTerm"), prefer }
"|[" PostfixExpression "]c++|" -> StrategoTerm { cons ("ToTerm"), prefer }
"|[" PrimaryExpression "]c++|" -> StrategoTerm { cons ("ToTerm"), prefer }
"|[" Statement "]c++|" -> StrategoTerm { cons ("ToTerm"), prefer }
"|*[" MultiplicativeExpression "]c++|" -> StrategoTerm { cons ("ToTerm"), prefer }
"|+[" AdditiveExpression "]c++|" -> StrategoTerm { cons ("ToTerm"), prefer }
"|<[" RelationalExpression "]c++|" -> StrategoTerm { cons ("ToTerm"), prefer }
"|==[" EqualityExpression "]c++|" -> StrategoTerm { cons ("ToTerm"), prefer }
"|=[" AssignmentExpression "]c++|" -> StrategoTerm { cons ("ToTerm"), prefer }
"|e[" Expression "]c++|" -> StrategoTerm { cons ("ToTerm"), prefer }
"|p[" PostfixExpression "]c++|" -> StrategoTerm { cons ("ToTerm"), prefer }
"|s[" Statement "]c++|" -> StrategoTerm { cons ("ToTerm"), prefer }
"|m[" MemberSpecification "]c++|" -> StrategoTerm { cons ("ToTerm"), prefer }
"|p[" ParameterDeclaration "]c++|" -> StrategoTerm { cons ("ToTerm"), prefer }
"|i[" MemInitializer "]c++|" -> StrategoTerm { cons ("ToTerm"), prefer }
"|[" Declaration "]|" -> StrategoTerm {cons("ToTerm"), prefer}
"|[" DeclarationSeq "]|" -> StrategoTerm {cons("ToTerm"), prefer}
"|[" PostfixExpression "]|" -> StrategoTerm {cons("ToTerm"), prefer}
"|[" PrimaryExpression "]|" -> StrategoTerm {cons("ToTerm"), prefer}
"|[" Statement "]|" -> StrategoTerm {cons("ToTerm"), prefer}
"|*[" MultiplicativeExpression "]|" -> StrategoTerm {cons("ToTerm"), prefer}
"|+[" AdditiveExpression "]|" -> StrategoTerm {cons("ToTerm"), prefer}
"|<[" RelationalExpression "]|" -> StrategoTerm {cons("ToTerm"), prefer}
"|==[" EqualityExpression "]|" -> StrategoTerm {cons("ToTerm"), prefer}
"|=[" AssignmentExpression "]|" -> StrategoTerm {cons("ToTerm"), prefer}
"|e[" Expression "]|" -> StrategoTerm {cons("ToTerm"), prefer}
"|p[" PostfixExpression "]|" -> StrategoTerm {cons("ToTerm"), prefer}
"|s[" Statement "]|" -> StrategoTerm {cons("ToTerm"), prefer}
"|m[" MemberSpecification "]|" -> StrategoTerm {cons("ToTerm"), prefer}
"|p[" ParameterDeclaration "]|" -> StrategoTerm {cons("ToTerm"), prefer}
"|i[" MemInitializer "]|" -> StrategoTerm {cons("ToTerm"), prefer}
"|[" Declaration "]c++|" -> StrategoTerm {cons("ToTerm"), prefer}
"|[" DeclarationSeq "]c++|" -> StrategoTerm {cons("ToTerm"), prefer}
"|[" PostfixExpression "]c++|" -> StrategoTerm {cons("ToTerm"), prefer}
"|[" PrimaryExpression "]c++|" -> StrategoTerm {cons("ToTerm"), prefer}
"|[" Statement "]c++|" -> StrategoTerm {cons("ToTerm"), prefer}
"|*[" MultiplicativeExpression "]c++|"
-> StrategoTerm {cons("ToTerm"), prefer}
"|+[" AdditiveExpression "]c++|" -> StrategoTerm {cons("ToTerm"), prefer}
"|<[" RelationalExpression "]c++|" -> StrategoTerm {cons("ToTerm"), prefer}
"|==[" EqualityExpression "]c++|" -> StrategoTerm {cons("ToTerm"), prefer}
"|=[" AssignmentExpression "]c++|" -> StrategoTerm {cons("ToTerm"), prefer}
"|e[" Expression "]c++|" -> StrategoTerm {cons("ToTerm"), prefer}
"|p[" PostfixExpression "]c++|" -> StrategoTerm {cons("ToTerm"), prefer}
"|s[" Statement "]c++|" -> StrategoTerm {cons("ToTerm"), prefer}
"|m[" MemberSpecification "]c++|" -> StrategoTerm {cons("ToTerm"), prefer}
"|p[" ParameterDeclaration "]c++|" -> StrategoTerm {cons("ToTerm"), prefer}
"|i[" MemInitializer "]c++|" -> StrategoTerm {cons("ToTerm"), prefer}
context-free syntax
"~" StrategoTerm -> Expression { cons ("FromTerm"), prefer }
"~" StrategoTerm -> Expression {cons("FromTerm"), prefer}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment