Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

Finish bootstrapping. At present the Nemerle.Parser use .n2 format. A…

…lso improved updateboot.cmd.
  • Loading branch information...
commit 04c47300ff7ffb242a94c8bca89f3ed697eebdc4 1 parent 27630f6
VladD2 VladD2 authored
BIN  Boot/Net-4.0/Nemerle.Compiler.dll
Binary file not shown
BIN  Boot/Net-4.0/Nemerle.MSBuild.Tasks.dll
Binary file not shown
BIN  Boot/Net-4.0/Nemerle.Macros.dll
Binary file not shown
BIN  Boot/Net-4.0/Nemerle.Parser.Macro.Model.dll
Binary file not shown
BIN  Boot/Net-4.0/Nemerle.Parser.Macro.Parser.dll
Binary file not shown
BIN  Boot/Net-4.0/Nemerle.Parser.Macro.dll
Binary file not shown
BIN  Boot/Net-4.0/Nemerle.Parser.dll
Binary file not shown
BIN  Boot/Net-4.0/Nemerle.dll
Binary file not shown
BIN  Boot/Net-4.0/ncc.exe
Binary file not shown
BIN  Boot/Net-4.0/ncc32.exe
Binary file not shown
BIN  Boot/Net-4.0/ncc64.exe
Binary file not shown
151 Nemerle.Parser.Macro.Parser/GrammarParser2.n
@@ -9,154 +9,5 @@ using System.Linq;
9 9
10 10 namespace Nemerle.Parser
11 11 {
12   - [ParserGrammar(
13   - Options = EmitDebugSources,
14   - parsergrammar
15   - {
16   - [StartRule, Ast(OpenNamespaces, Declarations)]
17   - Start : Ast = s OpenNamespace* SyntaxModule* !Any;
18   -
19   - [Ast(Using, Namespace, Semicolon)]
20   - OpenNamespace : Ast = "using"s QIdentifier ";"s;
21   -
22   - Any = ['\u0000'..'\uFFFF'];
23   - NewLineCharacter = '\n'
24   - | '\r'
25   - | '\u2028' /* line separator */
26   - | '\u2029'; /* paragraph separator */
27   - NewLine = "\r\n" | NewLineCharacter;
28   -
29   - Whitespace = [Zs]
30   - | '\t'
31   - | '\v' /* vertial tab */
32   - | '\f'; /* form feed */
33   -
34   - Space = Whitespace | NewLine;
35   -
36   - [Ast()]
37   - IgnoreToken : Ast;
38   - [Ast(Start, Body, NewLine)]
39   - SingleLineComment is IgnoreToken = "//" (!NewLine Any)* NewLine?;
40   - [Ast(Start, Body, End)]
41   - MultiLineComment is IgnoreToken = "/*" (!"*/" Any)* "*/";
42   - [Ast(Space)]
43   - SpaceToken is IgnoreToken = Space;
44   -
45   - s : void = IgnoreToken*; /* optional spacer */
46   - S : void = !IdentifierPartCharacters s; /* identifier break spacer */
47   -
48   - LetterCharacter = [Lu, Ll, Lt, Lm, Lo, Nl];
49   - CombiningCharacter = [Mn, Mc];
50   - DecimalDigitCharacter = [Nd];
51   - ConnectingCharacter = [Pc];
52   - FormattingCharacter = [Cf];
53   -
54   - IdentifierStartCharacter = LetterCharacter | "_";
55   - IdentifierPartCharacters = LetterCharacter | DecimalDigitCharacter | ConnectingCharacter | CombiningCharacter | FormattingCharacter;
56   - IdentifierBody = IdentifierStartCharacter IdentifierPartCharacters*;
57   -
58   - HexDigit = ['0'..'9', 'a'..'f', 'A'..'F'];
59   - ReservedStringChar = "\"" | "\\";
60   - ReservedCharChar = "\'" | "\\";
61   -
62   - [Ast(Syntax, Module, Name, Open, Declarations, Close)]
63   - SyntaxModule : Ast = "syntax"S "module"S Identifier "{"s Declaration* "}"s;
64   -
65   - [Ast(Open, Parts, Close)]
66   - StringLiteral : Ast = "\"" StringPart* "\"" s;
67   - [Ast()]
68   - StringPart : Ast;
69   - [Ast(Chars)]
70   - SimpleStringPart is StringPart = (!ReservedStringChar Any)+;
71   - [Ast(Prefix, Digit0, Digit1, Digit2, Digit3)]
72   - UnicodeEscapeSequenceStringPart is StringPart = "\\u" HexDigit HexDigit HexDigit HexDigit;
73   - [Ast(Backslash, Char)]
74   - EscapeSequenceStringPart is StringPart = "\\" Any;
75   -
76   - [Ast(Open, Char, Close)]
77   - CharLiteral : Ast = "\'" CharPart "\'" s;
78   - [Ast()]
79   - CharPart : Ast;
80   - [Ast(Char)]
81   - SimpleCharPart is CharPart = !ReservedCharChar Any;
82   - [Ast(Prefix, Digit0, Digit1, Digit2, Digit3)]
83   - UnicodeEscapeSequenceCharPart is CharPart = "\\u" HexDigit HexDigit HexDigit HexDigit;
84   - [Ast(Backslash, Char)]
85   - EscapeSequenceCharPart is CharPart = "\\" Any;
86   -
87   - Digits = ['0'..'9']+;
88   - [Ast(Digits)] Number : Ast = Digits s;
89   -
90   - [Ast(Name)] Identifier : Ast = IdentifierBody s;
91   - [Ast(Names)] QIdentifier : Ast = (Identifier, "."s)+;
92   -
93   - [Ast(TypeParts)] NemerleType : Ast = (NemerleTypePart, "."s)+;
94   - [Ast(Name, TypeArgs)] NemerleTypePart : Ast = IdentifierBody s (("."s)? "["s (NemerleType, ","s)* "]"s)?;
95   -
96   - [Ast()]
97   - RuleAttribute : Ast;
98   - [Ast(AttributeName)]
99   - StartAttribute is RuleAttribute = "StartRule"S;
100   - [Ast(AttributeName, Open, Names, Close)]
101   - AstAttribute is RuleAttribute = "Ast"S "("s (Identifier, ","s)* ")"s;
102   - [Ast(Open, Attributes, Close)]
103   - RuleAttributeList : Ast = "["s (RuleAttribute, ","s)+ "]"s;
104   - [Ast(AttributeLists)]
105   - RuleAttributes : Ast = RuleAttributeList*;
106   -
107   - [Ast()] Declaration : Ast;
108   - [Ast(Attributes, Token, Name, Assign, Rule, Semicolon)]
109   - TokenRuleDecl is Declaration = RuleAttributes "token"S Identifier "="s TokenRule ";"s;
110   - [Ast(Attributes, RuleKW, Name, Colon, Type, Assign, Rule, Semicolon)]
111   - SimpleRuleDecl is Declaration = RuleAttributes "syntax"S Identifier ":"s NemerleType "="s Rule ";"s;
112   - [Ast(Attributes, RuleKW, Name, Colon, Type, Semicolon)]
113   - ExtentionPointRuleDecl is Declaration = RuleAttributes "syntax"S Identifier ":"s NemerleType ";"s;
114   - [Ast(Attributes, RuleKW, Name, Is, BaseName, Assign, Rule, Semicolon)]
115   - ExtentionRuleDecl is Declaration = RuleAttributes "syntax"S Identifier "is"S QIdentifier "="s Rule ";"s;
116   -
117   - [Ast(Using, GrammarName, Semicolon)]
118   - UsingDecl is Declaration = "using"S QIdentifier";"s;
119   - [Ast(Using, Alias, Assign, GrammarName, Semicolon)]
120   - AliasDecl is Declaration = "using"S Identifier "="s QIdentifier";"s;
121   -
122   - [Ast(Option, EmitDebugSources, Assign, Value, Semicolon)]
123   - OptionEmitDebugSources is Declaration = "option"S "EmitDebugSources"S "="s Identifier ";"s;
124   -
125   - [Ast()] Range : Ast;
126   - [Ast(Char)] SingleCharRange is Range = CharLiteral;
127   - [Ast(StartChar, DotDot, EndChar)] CharRange is Range = CharLiteral ".."s CharLiteral;
128   - [Ast(Name)] UnicodeRange is Range = Identifier;
129   -
130   - [Ast()] TokenRule : Ast;
131   - [Ast(LeftRule, RightRules)] ChoiceTokenRule is TokenRule = TokenRule : 10 ("|"s TokenRule : 10)+;
132   - [Ast(LeftRule, RightRules)] SequenceTokenRule is TokenRule = TokenRule : 20 (TokenRule : 20)+;
133   - [Ast(Rule, Op)] OptionalTokenRule is TokenRule = TokenRule : 30 "?"s;
134   - [Ast(Rule, Op)] ZeroOrManyTokenRule is TokenRule = TokenRule : 30 "*"s;
135   - [Ast(Rule, Op)] OneOrManyTokenRule is TokenRule = TokenRule : 30 "+"s;
136   - [Ast(Open, Ranges, Close)] RangeTokenRule is TokenRule = "["s (Range, ","s)+ "]"s;
137   - [Ast(Char)] CharTokenRule is TokenRule = CharLiteral;
138   - [Ast(String)] StringTokenRule is TokenRule = StringLiteral;
139   - [Ast(Open, Rule, Close)] RoundsTokenRule is TokenRule = "("s TokenRule ")"s;
140   - [Ast(Name)] CallTokenRule is TokenRule = QIdentifier;
141   - [Ast(Open, Rule, Semicolon, Separator, Close, Op)] ZeroOrManyWithSeparatorTokenRule is TokenRule = "("s TokenRule ";"s TokenRule ")"s "*"s;
142   - [Ast(Open, Rule, Semicolon, Separator, Close, Op)] OneOrManyWithSeparatorTokenRule is TokenRule = "("s TokenRule ";"s TokenRule ")"s "+"s;
143   -
144   - [Ast()] Rule : Ast;
145   - [Ast(LeftRule, RightRules)] SequenceRule is Rule = Rule : 10 (Rule : 10)+;
146   - [Ast(Op, Rule)] NotRule is Rule = "!"s Rule : 20;
147   - [Ast(Op, Rule)] AndRule is Rule = "&"s Rule : 20;
148   - [Ast(Rule, Op)] OptionalRule is Rule = Rule : 30 "?"s;
149   - [Ast(Rule, Op)] ZeroOrManyRule is Rule = Rule : 30 "*"s;
150   - [Ast(Rule, Op)] OneOrManyRule is Rule = Rule : 30 "+"s;
151   - [Ast(Char)] CharRule is Rule = CharLiteral;
152   - [Ast(String)] StringRule is Rule = StringLiteral;
153   - [Ast(Open, Rule, Close)] RoundsRule is Rule = "("s Rule ")"s;
154   - [Ast(Name, BP)] CallRule is Rule = QIdentifier (":"s Number)?;
155   - [Ast(Open, Rule, Semicolon, Separator, Close, Op)] ZeroOrManyWithSeparatorRule is Rule = "("s Rule ";"s Rule ")"s "*"s;
156   - [Ast(Open, Rule, Semicolon, Separator, Close, Op)] OneOrManyWithSeparatorRule is Rule = "("s Rule ";"s Rule ")"s "+"s;
157   - [Ast(Name, Open, Rule, Close)] Scope is Rule = Identifier "{"s Rule "}"s;
158   - }
159   - )]
160   - public abstract class GrammarParser2
161   - {}
  12 + [assembly: Nemerle.Parser.N2Source("GrammarParser2.n2")]
162 13 }
147 Nemerle.Parser.Macro.Parser/GrammarParser2.n2
... ... @@ -0,0 +1,147 @@
  1 +using Nemerle.Parser;
  2 +
  3 +syntax module GrammarParser2
  4 +{
  5 + [StartRule, Ast(OpenNamespaces, Declarations)]
  6 + syntax Start : Ast = s OpenNamespace* SyntaxModule* !Any;
  7 +
  8 + [Ast(Using, Namespace, Semicolon)]
  9 + syntax OpenNamespace : Ast = "using"s QIdentifier ";"s;
  10 +
  11 + token Any = ['\u0000'..'\uFFFF'];
  12 + token NewLineCharacter = '\n'
  13 + | '\r'
  14 + | '\u2028' /* line separator */
  15 + | '\u2029'; /* paragraph separator */
  16 + token NewLine = "\r\n" | NewLineCharacter;
  17 +
  18 + token Whitespace = [Zs]
  19 + | '\t'
  20 + | '\v' /* vertial tab */
  21 + | '\f'; /* form feed */
  22 +
  23 + token Space = Whitespace | NewLine;
  24 +
  25 + [Ast()]
  26 + syntax IgnoreToken : Ast;
  27 + [Ast(Start, Body, NewLine)]
  28 + syntax SingleLineComment is IgnoreToken = "//" (!NewLine Any)* NewLine?;
  29 + [Ast(Start, Body, End)]
  30 + syntax MultiLineComment is IgnoreToken = "/*" (!"*/" Any)* "*/";
  31 + [Ast(Space)]
  32 + syntax SpaceToken is IgnoreToken = Space;
  33 +
  34 + syntax s : void = IgnoreToken*; /* optional spacer */
  35 + syntax S : void = !IdentifierPartCharacters s; /* identifier break spacer */
  36 +
  37 + token LetterCharacter = [Lu, Ll, Lt, Lm, Lo, Nl];
  38 + token CombiningCharacter = [Mn, Mc];
  39 + token DecimalDigitCharacter = [Nd];
  40 + token ConnectingCharacter = [Pc];
  41 + token FormattingCharacter = [Cf];
  42 +
  43 + token IdentifierStartCharacter = LetterCharacter | "_";
  44 + token IdentifierPartCharacters = LetterCharacter | DecimalDigitCharacter | ConnectingCharacter | CombiningCharacter | FormattingCharacter;
  45 + token IdentifierBody = IdentifierStartCharacter IdentifierPartCharacters*;
  46 +
  47 + token HexDigit = ['0'..'9', 'a'..'f', 'A'..'F'];
  48 + token ReservedStringChar = "\"" | "\\";
  49 + token ReservedCharChar = "\'" | "\\";
  50 +
  51 + [Ast(Syntax, Module, Name, Open, Declarations, Close)]
  52 + syntax SyntaxModule : Ast = "syntax"S "module"S Identifier "{"s Declaration* "}"s;
  53 +
  54 + [Ast(Open, Parts, Close)]
  55 + syntax StringLiteral : Ast = "\"" StringPart* "\"" s;
  56 + [Ast()]
  57 + syntax StringPart : Ast;
  58 + [Ast(Chars)]
  59 + syntax SimpleStringPart is StringPart = (!ReservedStringChar Any)+;
  60 + [Ast(Prefix, Digit0, Digit1, Digit2, Digit3)]
  61 + syntax UnicodeEscapeSequenceStringPart is StringPart = "\\u" HexDigit HexDigit HexDigit HexDigit;
  62 + [Ast(Backslash, Char)]
  63 + syntax EscapeSequenceStringPart is StringPart = "\\" Any;
  64 +
  65 + [Ast(Open, Char, Close)]
  66 + syntax CharLiteral : Ast = "\'" CharPart "\'" s;
  67 + [Ast()]
  68 + syntax CharPart : Ast;
  69 + [Ast(Char)]
  70 + syntax SimpleCharPart is CharPart = !ReservedCharChar Any;
  71 + [Ast(Prefix, Digit0, Digit1, Digit2, Digit3)]
  72 + syntax UnicodeEscapeSequenceCharPart is CharPart = "\\u" HexDigit HexDigit HexDigit HexDigit;
  73 + [Ast(Backslash, Char)]
  74 + syntax EscapeSequenceCharPart is CharPart = "\\" Any;
  75 +
  76 + token Digits = ['0'..'9']+;
  77 + [Ast(Digits)] syntax Number : Ast = Digits s;
  78 +
  79 + [Ast(Name)] syntax Identifier : Ast = IdentifierBody s;
  80 + [Ast(Names)] syntax QIdentifier : Ast = (Identifier; "."s)+;
  81 +
  82 + [Ast(TypeParts)] syntax NemerleType : Ast = (NemerleTypePart; "."s)+;
  83 + [Ast(Name, TypeArgs)] syntax NemerleTypePart : Ast = IdentifierBody s (("."s)? "["s (NemerleType; ","s)* "]"s)?;
  84 +
  85 + [Ast()]
  86 + syntax RuleAttribute : Ast;
  87 + [Ast(AttributeName)]
  88 + syntax StartAttribute is RuleAttribute = "StartRule"S;
  89 + [Ast(AttributeName, Open, Names, Close)]
  90 + syntax AstAttribute is RuleAttribute = "Ast"S "("s (Identifier; ","s)* ")"s;
  91 + [Ast(Open, Attributes, Close)]
  92 + syntax RuleAttributeList : Ast = "["s (RuleAttribute; ","s)+ "]"s;
  93 + [Ast(AttributeLists)]
  94 + syntax RuleAttributes : Ast = RuleAttributeList*;
  95 +
  96 + [Ast()] syntax Declaration : Ast;
  97 + [Ast(Attributes, Token, Name, Assign, Rule, Semicolon)]
  98 + syntax TokenRuleDecl is Declaration = RuleAttributes "token"S Identifier "="s TokenRule ";"s;
  99 + [Ast(Attributes, RuleKW, Name, Colon, Type, Assign, Rule, Semicolon)]
  100 + syntax SimpleRuleDecl is Declaration = RuleAttributes "syntax"S Identifier ":"s NemerleType "="s Rule ";"s;
  101 + [Ast(Attributes, RuleKW, Name, Colon, Type, Semicolon)]
  102 + syntax ExtentionPointRuleDecl is Declaration = RuleAttributes "syntax"S Identifier ":"s NemerleType ";"s;
  103 + [Ast(Attributes, RuleKW, Name, Is, BaseName, Assign, Rule, Semicolon)]
  104 + syntax ExtentionRuleDecl is Declaration = RuleAttributes "syntax"S Identifier "is"S QIdentifier "="s Rule ";"s;
  105 +
  106 + [Ast(Using, GrammarName, Semicolon)]
  107 + syntax UsingDecl is Declaration = "using"S QIdentifier";"s;
  108 + [Ast(Using, Alias, Assign, GrammarName, Semicolon)]
  109 + syntax AliasDecl is Declaration = "using"S Identifier "="s QIdentifier";"s;
  110 +
  111 + [Ast(Option, EmitDebugSources, Assign, Value, Semicolon)]
  112 + syntax OptionEmitDebugSources is Declaration = "option"S "EmitDebugSources"S "="s Identifier ";"s;
  113 +
  114 + [Ast()] syntax Range : Ast;
  115 + [Ast(Char)] syntax SingleCharRange is Range = CharLiteral;
  116 + [Ast(StartChar, DotDot, EndChar)] syntax CharRange is Range = CharLiteral ".."s CharLiteral;
  117 + [Ast(Name)] syntax UnicodeRange is Range = Identifier;
  118 +
  119 + [Ast()] syntax TokenRule : Ast;
  120 + [Ast(LeftRule, RightRules)] syntax ChoiceTokenRule is TokenRule = TokenRule : 10 ("|"s TokenRule : 10)+;
  121 + [Ast(LeftRule, RightRules)] syntax SequenceTokenRule is TokenRule = TokenRule : 20 (TokenRule : 20)+;
  122 + [Ast(Rule, Op)] syntax OptionalTokenRule is TokenRule = TokenRule : 30 "?"s;
  123 + [Ast(Rule, Op)] syntax ZeroOrManyTokenRule is TokenRule = TokenRule : 30 "*"s;
  124 + [Ast(Rule, Op)] syntax OneOrManyTokenRule is TokenRule = TokenRule : 30 "+"s;
  125 + [Ast(Open, Ranges, Close)] syntax RangeTokenRule is TokenRule = "["s (Range; ","s)+ "]"s;
  126 + [Ast(Char)] syntax CharTokenRule is TokenRule = CharLiteral;
  127 + [Ast(String)] syntax StringTokenRule is TokenRule = StringLiteral;
  128 + [Ast(Open, Rule, Close)] syntax RoundsTokenRule is TokenRule = "("s TokenRule ")"s;
  129 + [Ast(Name)] syntax CallTokenRule is TokenRule = QIdentifier;
  130 + [Ast(Open, Rule, Semicolon, Separator, Close, Op)] syntax ZeroOrManyWithSeparatorTokenRule is TokenRule = "("s TokenRule ";"s TokenRule ")"s "*"s;
  131 + [Ast(Open, Rule, Semicolon, Separator, Close, Op)] syntax OneOrManyWithSeparatorTokenRule is TokenRule = "("s TokenRule ";"s TokenRule ")"s "+"s;
  132 +
  133 + [Ast()] syntax Rule : Ast;
  134 + [Ast(LeftRule, RightRules)] syntax SequenceRule is Rule = Rule : 10 (Rule : 10)+;
  135 + [Ast(Op, Rule)] syntax NotRule is Rule = "!"s Rule : 20;
  136 + [Ast(Op, Rule)] syntax AndRule is Rule = "&"s Rule : 20;
  137 + [Ast(Rule, Op)] syntax OptionalRule is Rule = Rule : 30 "?"s;
  138 + [Ast(Rule, Op)] syntax ZeroOrManyRule is Rule = Rule : 30 "*"s;
  139 + [Ast(Rule, Op)] syntax OneOrManyRule is Rule = Rule : 30 "+"s;
  140 + [Ast(Char)] syntax CharRule is Rule = CharLiteral;
  141 + [Ast(String)] syntax StringRule is Rule = StringLiteral;
  142 + [Ast(Open, Rule, Close)] syntax RoundsRule is Rule = "("s Rule ")"s;
  143 + [Ast(Name, BP)] syntax CallRule is Rule = QIdentifier (":"s Number)?;
  144 + [Ast(Open, Rule, Semicolon, Separator, Close, Op)] syntax ZeroOrManyWithSeparatorRule is Rule = "("s Rule ";"s Rule ")"s "*"s;
  145 + [Ast(Open, Rule, Semicolon, Separator, Close, Op)] syntax OneOrManyWithSeparatorRule is Rule = "("s Rule ";"s Rule ")"s "+"s;
  146 + [Ast(Name, Open, Rule, Close)] syntax Scope is Rule = Identifier "{"s Rule "}"s;
  147 +}
6 Nemerle.Parser.Macro.Parser/Nemerle.Parser.Macro.Parser.nproj
@@ -17,6 +17,7 @@
17 17 <NemerleBinPathRoot Condition=" '$(NemerleBinPathRoot)' == '' ">$(ProgramFiles)\Nemerle</NemerleBinPathRoot>
18 18 <Nemerle>$(MSBuildProjectDirectory)\..\Boot\$(NemerleVersion)</Nemerle>
19 19 <Name>Nemerle.Parser.Macro.Parser</Name>
  20 + <!--CustomArguments>-debugger</CustomArguments-->
20 21 </PropertyGroup>
21 22 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
22 23 <DebugSymbols>true</DebugSymbols>
@@ -66,6 +67,11 @@
66 67 <Private>True</Private>
67 68 </ProjectReference>
68 69 </ItemGroup>
  70 + <ItemGroup>
  71 + <Resource Include="GrammarParser2.n2">
  72 + <SubType>Content</SubType>
  73 + </Resource>
  74 + </ItemGroup>
69 75 <Import Project="$(Nemerle)\Nemerle.MSBuild.targets" />
70 76 <!--
71 77 To modify your build process, add your task inside one of the targets below and uncomment it.
17 updateboot.cmd
... ... @@ -1,2 +1,15 @@
1   -xcopy Nemerle.Parser.Macro\bin\Debug\Nemerle.Parser.Macro.dll boot\Nemerle.Parser.Macro.dll /Y
2   -xcopy Nemerle.Parser\bin\Debug\Nemerle.Parser.dll boot\Nemerle.Parser.dll /Y
  1 +echo off
  2 +set Nemerle="%ProgramFiles%\Nemerle\Net-4.0"
  3 +set Boot=boot\Net-4.0
  4 +set CompilerFiles=ncc.exe ncc.pdb ncc32.exe ncc32.pdb ncc64.exe ncc64.pdb Nemerle.dll Nemerle.pdb Nemerle.Compiler.dll Nemerle.Compiler.pdb Nemerle.Macros.dll Nemerle.Macros.pdb Nemerle.MSBuild.targets Nemerle.MSBuild.Tasks.dll
  5 +
  6 +ROBOCOPY Nemerle.Parser.Macro\bin\Debug\ %Boot%\ Nemerle.Parser.Macro.??? /LOG:%Boot%\Boot-update.log /NP /NJS /V /NJH
  7 +ROBOCOPY Nemerle.Parser\bin\Debug\ %Boot%\ Nemerle.Parser.??? /LOG+:%Boot%\Boot-update.log /NP /NJS /V /NJH
  8 +ROBOCOPY Nemerle.Parser.Macro.Parser\bin\Debug\ %Boot%\ Nemerle.Parser.Macro.Parser.??? /LOG+:%Boot%\Boot-update.log /NP /NJS /V /NJH
  9 +ROBOCOPY Nemerle.Parser.Macro.Model\bin\Debug\ %Boot%\ Nemerle.Parser.Macro.Model.??? /LOG+:%Boot%\Boot-update.log /NP /NJS /V /NJH
  10 +ROBOCOPY %Nemerle%\ %Boot%\ %CompilerFiles% /LOG+:%Boot%\Boot-update.log /NP /NJS /V /NJH
  11 +
  12 +cls
  13 +echo Result of update %Boot%
  14 +type %Boot%\Boot-update.log
  15 +pause

0 comments on commit 04c4730

Please sign in to comment.
Something went wrong with that request. Please try again.