ok i FINALLY worked it out thanks, the spec i was passing in did not end in a full stop :-)<br><br><div class="gmail_quote">On 10 June 2011 20:38, James Churchman <span dir="ltr"><<a href="mailto:jameschurchman@gmail.com">jameschurchman@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im"><span style="font-family:arial, sans-serif;font-size:13px;border-collapse:collapse">Hi Kostis, i must have had an error in my specs then maybe, as otherwise they i thought looked similar to yours, but were prefixed with the variable name and "::"<div>

<br></div><div>Thanks very much for your help</div><div><br></div><div><font color="#888888">James</font></div></span><br></div><div class="gmail_quote"><div class="im">On 7 June 2011 21:40, Kostis Sagonas <span dir="ltr"><<a href="mailto:kostis@cs.ntua.gr" target="_blank">kostis@cs.ntua.gr</a>></span> wrote:<br>

</div><div><div></div><div class="h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div></div><div>James Churchman wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi guys<br>
<br>
When you parse a file with the epp module it has no problems with specs<br>
<br>
However when using erl_scan then passing on to erl_parse, in order to parse a string not a file, it fails on -specs in the code<br>
<br>
Is there a spec aware version of the erl_parse module ?<br>
</blockquote>
<br></div></div>
I find this question a bit strange... the erl_parse module *is* spec aware. This is actually how specs are parsed in the system.<br>
<br>
Does the following do what you want?<br>
<br>
42> SpecInString = "-spec my_function(some_type()) -> 42 | 'gazonk'.",<br>
42> {ok, Toks, 1} = erl_scan:string(SpecInString),<br>
42> erl_parse:parse_form(Toks).<br>
{ok,{attribute,1,spec,<br>
               {{my_function,1},<br>
                [{type,1,'fun',<br>
                       [{type,1,product,[{type,1,some_type,[]}]},<br>
<br>
{type,1,union,[{integer,1,42},{atom,1,gazonk}]}]}]}}}<br><font color="#888888">
<br>
Kostis<br>
</font></blockquote></div></div></div><br>
</blockquote></div><br>