www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - All these errors running basic Pegged helloworld example.

reply Enjoys Math <enjoysmath gmail.com> writes:
The example is:

import pegged.grammar;

mixin(grammar(`
Arithmetic:
     Term     < Factor (Add / Sub)*
     Add      < "+" Factor
     Sub      < "-" Factor
     Factor   < Primary (Mul / Div)*
     Mul      < "*" Primary
     Div      < "/" Primary
     Primary  < Parens / Neg / Pos / Number / Variable
     Parens   < "(" Term ")"
     Neg      < "-" Primary
     Pos      < "+" Primary
     Number   < ~([0-9]+)

     Variable <- identifier
`));

I'm using Visual D and have C:\MyProjects\D\Pegged (the git clone 
of pegged) added to the add'l imports field under project 
properties > compiler.

I'm getting errors like these:

Error	1	Error 42: Symbol Undefined 
_D6pegged7dynamic7grammar7grammarFAyaHAyaDFS6pegged3peg9ParseTreeZS6pegged3peg9ParseTreeZS6pegged7dynamic7gra
mar14DynamicGrammar (pegged.dynamic.grammar.DynamicGrammar
pegged.dynamic.grammar.grammar(immutable(char)[], pegged.peg.ParseTree
delegate(pegged.peg.ParseTree)[immutable(char)[]]))	C:\MyProjects\D\PeggedPractice\	
Error	2	Error 42: Symbol Undefined 
_D6pegged7dynamic7grammar12__ModuleInfoZ	C:\MyProjects\D\PeggedPractice\	

The # of errors was greatly reduced when I added the 3 pegged 
source files to my project.   What can be going wrong?  Thanks!
Sep 26 2015
parent BBasile <bb.temp gmx.com> writes:
On Sunday, 27 September 2015 at 06:30:37 UTC, Enjoys Math wrote:
 The example is:

 import pegged.grammar;

 mixin(grammar(`
 Arithmetic:
     Term     < Factor (Add / Sub)*
     Add      < "+" Factor
     Sub      < "-" Factor
     Factor   < Primary (Mul / Div)*
     Mul      < "*" Primary
     Div      < "/" Primary
     Primary  < Parens / Neg / Pos / Number / Variable
     Parens   < "(" Term ")"
     Neg      < "-" Primary
     Pos      < "+" Primary
     Number   < ~([0-9]+)

     Variable <- identifier
 `));

 I'm using Visual D and have C:\MyProjects\D\Pegged (the git 
 clone of pegged) added to the add'l imports field under project 
 properties > compiler.

 I'm getting errors like these:

 Error	1	Error 42: Symbol Undefined 
 _D6pegged7dynamic7grammar7grammarFAyaHAyaDFS6pegged3peg9ParseTreeZS6pegged3peg9ParseTreeZS6pegged7dynamic7gra
mar14DynamicGrammar (pegged.dynamic.grammar.DynamicGrammar
pegged.dynamic.grammar.grammar(immutable(char)[], pegged.peg.ParseTree
delegate(pegged.peg.ParseTree)[immutable(char)[]]))	C:\MyProjects\D\PeggedPractice\	
 Error	2	Error 42: Symbol Undefined 
 _D6pegged7dynamic7grammar12__ModuleInfoZ	C:\MyProjects\D\PeggedPractice\	

 The # of errors was greatly reduced when I added the 3 pegged 
 source files to my project.   What can be going wrong?  Thanks!
You must also pass the source root with -I: -IC:\MyProjects\D\Pegged (and maybe you miss another source since there are 5: '..\repos\Pegged\pegged\grammar.d' '..\repos\Pegged\pegged\parser.d' '..\repos\Pegged\pegged\peg.d' '..\repos\Pegged\pegged\dynamic\grammar.d' '..\repos\Pegged\pegged\dynamic\peg.d' ) By the way with Coedit you wouldn't have this kind of problems (Pegged is part of metaD). You can even run some test on Pegged without saving the file / without a project (this is called a runnable module). This is just what I've done. At least compile pegged as a static lib, then it's simpler, you just have to pass the -I<root> pegged.lib and your custom sources files.
Sep 27 2015