mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-11 22:09:32 -06:00
the linearizer API now allows to detect metavariables. This is used for instancein the lookup where the tokens produced from the metavariables are interpreted as distinct from all other tokens.
This commit is contained in:
@@ -52,7 +52,8 @@ namespace PGFSharp
|
||||
end_phrase = EndPhrase,
|
||||
symbol_ne = null,
|
||||
symbol_bind = null,
|
||||
symbol_capit = null
|
||||
symbol_capit = null,
|
||||
symbol_meta = SymbolMeta
|
||||
};
|
||||
}
|
||||
|
||||
@@ -80,6 +81,10 @@ namespace PGFSharp
|
||||
else
|
||||
stack.Peek ().AddChild (b);
|
||||
}
|
||||
|
||||
private void SymbolMeta(IntPtr self, int meta_id) {
|
||||
stack.Peek().AddChild(new StringChildBracket("?"));
|
||||
}
|
||||
|
||||
public Bracket Build() {
|
||||
return final;
|
||||
|
||||
@@ -221,6 +221,9 @@ namespace PGFSharp
|
||||
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
||||
public delegate void LinFuncSymbolCapitalization(IntPtr self);
|
||||
|
||||
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
||||
public delegate void LinFuncSymbolMeta(IntPtr self, int meta_id);
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public struct PgfLinFuncs
|
||||
{
|
||||
@@ -241,6 +244,9 @@ namespace PGFSharp
|
||||
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
public LinFuncSymbolCapitalization symbol_capit;
|
||||
|
||||
[MarshalAs(UnmanagedType.FunctionPtr)]
|
||||
public LinFuncSymbolMeta symbol_meta;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
Reference in New Issue
Block a user