[Ometa] OMeta# on Mono
Robert Krahn
robert.krahn at student.hpi.uni-potsdam.de
Fri May 29 21:33:07 PDT 2009
Hi,
I'm trying to run Jeff Moser's OMeta# on Mono. Compiling
OMetaSharp.dll and OMetaSharp.OMetaCS.dll works fine and the generated
examples are running as well. However, when I try to parse even a
simple OMeta grammar with no additional rules an exception is thrown.
The stack trace is below. I have no experience with C# so any help is
really appreciated.
Thanks,
Robert
Unhandled Exception: System.Reflection.TargetInvocationException:
Exception has been thrown by the target of an invocation. --->
System.InvalidProgramException: Invalid IL code in (wrapper runtime-
invoke)
OMetaSharp
.OMetaParser:runtime_invoke_bool__this___OMetaStream
`1<char>_OMetaList`1<HostExpression>&_OMetaStream`1<char>&
(object,intptr,intptr,intptr): IL_0026: call 0x00000004
at (wrapper managed-to-native)
System.Reflection.MonoMethod:InternalInvoke
(object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object obj,
BindingFlags invokeAttr, System.Reflection.Binder binder,
System.Object[] parameters, System.Globalization.CultureInfo culture)
[0x00000]
--- End of inner exception stack trace ---
at System.Reflection.MonoMethod.Invoke (System.Object obj,
BindingFlags invokeAttr, System.Reflection.Binder binder,
System.Object[] parameters, System.Globalization.CultureInfo culture)
[0x00000]
at System.Reflection.MethodBase.Invoke (System.Object obj,
System.Object[] parameters) [0x00000]
at
OMetaSharp.OMeta`1+<TryGetMethod>c__AnonStorey6[System.Char].<>m__A
(OMetaSharp.OMetaStream`1 inputStream, OMetaSharp.OMetaList`1& result,
OMetaSharp.OMetaStream`1& modifiedStream) [0x00000]
at
OMetaSharp
.OMetaBase`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.Apply
(OMetaSharp.Rule`1 rule, OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1&
modifiedStream) [0x00000]
at OMetaSharp.OMeta`1[System.Char].FirstAndRest
(OMetaSharp.OMetaStream`1 inputStream, OMetaSharp.OMetaList`1& result,
OMetaSharp.OMetaStream`1& modifiedStream) [0x00000]
at
OMetaSharp
.OMetaBase`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.Apply
(OMetaSharp.Rule`1 rule, OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1&
modifiedStream) [0x00000]
at
OMetaSharp
.OMetaBase
`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.ApplyWithArgs
(OMetaSharp.Rule`1 rule, OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1&
modifiedStream, OMetaSharp.OMetaList`1[] arguments) [0x00000]
at OMetaSharp.OMetaParser+<TSName>c__AnonStorey2.<>m__C
(OMetaSharp.OMetaStream`1 inputStream2, OMetaSharp.OMetaList`1&
result2, OMetaSharp.OMetaStream`1& modifiedStream2) [0x00000]
at
OMetaSharp
.OMetaBase`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.Apply
(OMetaSharp.Rule`1 rule, OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1&
modifiedStream) [0x00000]
at OMetaSharp.OMetaParser.TSName (OMetaSharp.OMetaStream`1
inputStream, OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1&
modifiedStream) [0x00000]
at
OMetaSharp
.OMetaBase`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.Apply
(OMetaSharp.Rule`1 rule, OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1&
modifiedStream) [0x00000]
at OMetaSharp.OMetaParser+<NamespacePart>c__AnonStorey1A.<>m__8D
(OMetaSharp.OMetaStream`1 inputStream3, OMetaSharp.OMetaList`1&
result3, OMetaSharp.OMetaStream`1& modifiedStream3) [0x00000]
at
OMetaSharp
.OMetaBase`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.Apply
(OMetaSharp.Rule`1 rule, OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1&
modifiedStream) [0x00000]
at
OMetaSharp
.OMetaBase`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.Many1
(OMetaSharp.Rule`1 rule, OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1&
modifiedStream) [0x00000]
at OMetaSharp.OMetaParser+<NamespacePart>c__AnonStorey1A.<>m__33
(OMetaSharp.OMetaStream`1 inputStream2, OMetaSharp.OMetaList`1&
result2, OMetaSharp.OMetaStream`1& modifiedStream2) [0x00000]
at
OMetaSharp
.OMetaBase`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.Apply
(OMetaSharp.Rule`1 rule, OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1&
modifiedStream) [0x00000]
at OMetaSharp.OMetaParser.NamespacePart (OMetaSharp.OMetaStream`1
inputStream, OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1&
modifiedStream) [0x00000]
at
OMetaSharp
.OMetaBase`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.Apply
(OMetaSharp.Rule`1 rule, OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1&
modifiedStream) [0x00000]
at OMetaSharp.OMetaParser+<Namespace>c__AnonStorey1B.<>m__90
(OMetaSharp.OMetaStream`1 inputStream4, OMetaSharp.OMetaList`1&
result4, OMetaSharp.OMetaStream`1& modifiedStream4) [0x00000]
at
OMetaSharp
.OMetaBase`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.Apply
(OMetaSharp.Rule`1 rule, OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1&
modifiedStream) [0x00000]
at
OMetaSharp
.OMetaBase`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.Many1
(OMetaSharp.Rule`1 rule, OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1&
modifiedStream) [0x00000]
at OMetaSharp.OMetaParser+<Namespace>c__AnonStorey1B.<>m__8E
(OMetaSharp.OMetaStream`1 inputStream3, OMetaSharp.OMetaList`1&
result3, OMetaSharp.OMetaStream`1& modifiedStream3) [0x00000]
at
OMetaSharp
.OMetaBase`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.Apply
(OMetaSharp.Rule`1 rule, OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1&
modifiedStream) [0x00000]
at OMetaSharp.OMetaParser+<Namespace>c__AnonStorey1B.<>m__34
(OMetaSharp.OMetaStream`1 inputStream2, OMetaSharp.OMetaList`1&
result2, OMetaSharp.OMetaStream`1& modifiedStream2) [0x00000]
at
OMetaSharp
.OMetaBase`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.Or
(OMetaSharp.OMetaStream`1 inputStream, OMetaSharp.OMetaList`1& result,
OMetaSharp.OMetaStream`1& modifiedStream, OMetaSharp.Rule`1[] rules)
[0x00000]
at OMetaSharp.OMetaParser.Namespace (OMetaSharp.OMetaStream`1
inputStream, OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1&
modifiedStream) [0x00000]
at
OMetaSharp
.OMetaBase`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.Apply
(OMetaSharp.Rule`1 rule, OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1&
modifiedStream) [0x00000]
at OMetaSharp.OMetaParser+<Grammar>c__AnonStorey1E.<>m__3B
(OMetaSharp.OMetaStream`1 inputStream2, OMetaSharp.OMetaList`1&
result2, OMetaSharp.OMetaStream`1& modifiedStream2) [0x00000]
at
OMetaSharp
.OMetaBase`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.Apply
(OMetaSharp.Rule`1 rule, OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1&
modifiedStream) [0x00000]
at OMetaSharp.OMetaParser.Grammar (OMetaSharp.OMetaStream`1
inputStream, OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1&
modifiedStream) [0x00000]
at
OMetaSharp
.OMetaBase`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.Apply
(OMetaSharp.Rule`1 rule, OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1&
modifiedStream) [0x00000]
at OMetaSharp.OMeta`1[System.Char].GenericMatch
(OMetaSharp.OMetaStream`1 inputStream, OMetaSharp.Rule`1 rule,
OMetaSharp.OMetaList`1[] arguments, OMetaSharp.OMetaStream`1&
modifiedStream) [0x00000]
at OMetaSharp.OMeta`1[System.Char].GenericMatch
(OMetaSharp.OMetaStream`1 inputStream, OMetaSharp.Rule`1 rule,
OMetaSharp.OMetaList`1[] arguments) [0x00000]
at OMetaSharp.OMeta`1[System.Char].Match (OMetaSharp.OMetaStream`1
inputStream, OMetaSharp.Rule`1 rule) [0x00000]
at OMetaSharp.Grammars.ParseWith[OMetaParser,Char]
(OMetaSharp.OMetaStream`1 inputStream, System.Func`2 ruleFetcher)
[0x00000]
at OMetaSharp.Grammars.ParseWith[OMetaParser] (System.String input,
System.Func`2 ruleFetcher) [0x00000]
at
OMetaSharp
.Grammars
.ParseGrammarThenOptimizeThenTranslate
[OMetaParser,OMetaOptimizer,OMetaTranslator] (System.String
grammarContents, System.Func`2 topParserRuleFetcher, System.Func`2
topOptimizerRuleFetcher, System.Func`2 topTranslatorRuleFetcher)
[0x00000]
at Program.Main () [0x00000]
More information about the OMeta
mailing list