/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 1997--2014 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ Copyright (C) 1997--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
LilyPond is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
void kill_lexer ();
void set_lexer ();
-class Lily_lexer : public Includable_lexer
+class Lily_lexer : public Smob<Lily_lexer>, public Includable_lexer
{
- DECLARE_SMOBS (Lily_lexer);
-
+public:
+ int print_smob (SCM, scm_print_state *) const;
+ SCM mark_smob () const;
+ static const char * const type_p_name_;
+ virtual ~Lily_lexer ();
+ int scan_word (SCM & output, SCM sym);
private:
int lookup_keyword (const string&);
int scan_bare_word (const string&);
int scan_shorthand (const string&);
int scan_scm_id (SCM);
int identifier_type (SCM);
+ void push_markup_predicates (SCM sig);
char escaped_char (char) const;
const char *YYText_utf8 ();