Home | Download | Screen shots | Discussion | Documentation
--- | --- | --- | --- | ---

# vrml97_grammar.h File Reference

VRML97 Spirit grammar and associated parsers. More...

`#include <openvrml/browser.h>`
`#include <boost/spirit/include/classic.hpp>`
`#include <boost/spirit/include/classic_actor.hpp>`
`#include <boost/spirit/include/classic_dynamic.hpp>`
`#include <boost/spirit/include/phoenix1.hpp>`
`#include <boost/test/floating_point_comparison.hpp>`
`#include <stack>`
Include dependency graph for vrml97_grammar.h:
This graph shows which files directly or indirectly include this file:

## Classes

struct | openvrml::vrml97_space_parser
| A Spirit space parser appropriate for use with VRML97 and VRML-encoded X3D. More...
struct | openvrml::vrml97_skip_grammar
| A Spirit grammar appropriate for use as a skip parser for VRML97 and VRML-encoded X3D. More...
struct | openvrml::vrml97_skip_grammar::definition< ScannerT >
| `vrml97_skip_grammar` definition. More...
struct | openvrml::vrml97_parse_error_handler
| A Spirit error handler that emits error and warning messages to a `std::ostream`. More...
struct | openvrml::null_vrml97_parse_actions
| No-op semantic actions for `vrml97_grammar`. More...
struct | openvrml::vrml97_grammar< Actions, ErrorHandler >
| A Spirit grammar for parsing VRML97. More...
struct | openvrml::vrml97_grammar< Actions, ErrorHandler >::definition< ScannerT >
| VRML97 grammar definition. More...

## Namespaces

namespace | openvrml

| The OpenVRML Runtime Library.

## Typedefs

typedef boost::spirit::classic::assertion < vrml_parse_error > | openvrml::vrml_parse_assertion
typedef std::multimap < std::string, node_interface_set > | openvrml::script_node_types_t
typedef std::pair < node_type_decls::key_type, node_type_decls::mapped_type > | openvrml::node_type_decl
typedef std::map< std::string, const node_type_decls::value_type * > | openvrml::defs_t

## Enumerations

enum

openvrml::vrml_parse_error {
openvrml::dot_expected,
openvrml::lbrace_expected,
openvrml::lbracket_expected,
openvrml::id_expected,
openvrml::to_expected,
openvrml::is_expected,
openvrml::interface_type_or_rbracket_expected,
openvrml::field_type_expected,
openvrml::bool_expected,
openvrml::color_expected,
openvrml::color_or_lbracket_expected,
openvrml::color_or_rbracket_expected,
openvrml::float_expected,
openvrml::float_or_lbracket_expected,
openvrml::float_or_rbracket_expected,
openvrml::int32_expected,
openvrml::int32_or_lbracket_expected,
openvrml::int32_or_rbracket_expected,
openvrml::rotation_expected,
openvrml::rotation_or_lbracket_expected,
openvrml::rotation_or_rbracket_expected,
openvrml::string_expected,
openvrml::string_or_lbracket_expected,
openvrml::string_or_rbracket_expected,
openvrml::vec2_expected,
openvrml::vec2_or_lbracket_expected,
openvrml::vec2_or_rbracket_expected,
openvrml::vec3_expected,
openvrml::vec3_or_lbracket_expected,
openvrml::vec3_or_rbracket_expected,
openvrml::node_expected,
openvrml::node_or_lbracket_expected,
openvrml::node_or_rbracket_expected,
openvrml::interface_collision,
openvrml::unknown_node_type_id,
node_type_already_exists,
unknown_node_name_id,
unknown_node_interface_id,
proto_interface_id_expected,
incompatible_proto_interface,
eventin_id_expected,
eventout_id_expected,
event_value_type_mismatch,
field_or_prototype_or_route_or_rbrace_expected,
script_interface_or_field_or_prototype_or_route_or_rbrace_expected,
rotation_axis_not_normalized,
vrml_parse_error_end,
vrml_parse_error_max = INT_MAX
}

| Identifiers used to designate parse error conditions. More...

## Functions

const char * | openvrml::vrml97_parse_error_msg (const vrml_parse_error error)
| Get the error message associated with a `vrml_parse_error`.
const vrml_parse_assertion | openvrml::expect_dot (dot_expected)
const vrml_parse_assertion | openvrml::expect_lbrace (lbrace_expected)
const vrml_parse_assertion | openvrml::expect_lbracket (lbracket_expected)
const vrml_parse_assertion | openvrml::expect_id (id_expected)
const vrml_parse_assertion | openvrml::expect_to (to_expected)
const vrml_parse_assertion | openvrml::expect_is (is_expected)
const vrml_parse_assertion | openvrml::expect_interface_type_or_rbracket (interface_type_or_rbracket_expected)
const vrml_parse_assertion | openvrml::expect_field_type (field_type_expected)
const vrml_parse_assertion | openvrml::expect_bool (bool_expected)
const vrml_parse_assertion | openvrml::expect_color (color_expected)
const vrml_parse_assertion | openvrml::expect_float (float_expected)
const vrml_parse_assertion | openvrml::expect_int32 (int32_expected)
const vrml_parse_assertion | openvrml::expect_rotation (rotation_expected)
const vrml_parse_assertion | openvrml::expect_string (string_expected)
const vrml_parse_assertion | openvrml::expect_vec2 (vec2_expected)
const vrml_parse_assertion | openvrml::expect_vec3 (vec3_expected)
const vrml_parse_assertion | openvrml::expect_node (node_expected)
const vrml_parse_assertion | openvrml::expect_unique_node_interface (interface_collision)
const vrml_parse_assertion | openvrml::expect_proto_interface_id (proto_interface_id_expected)
const vrml_parse_assertion | openvrml::expect_compatible_proto_interface (incompatible_proto_interface)
const vrml_parse_assertion | openvrml::expect_eventin_id (eventin_id_expected)
const vrml_parse_assertion | openvrml::expect_eventout_id (eventout_id_expected)
const vrml_parse_assertion | openvrml::expect_eventin_value_type_matches_eventout (event_value_type_mismatch)
const vrml_parse_assertion | openvrml::expect_field_or_prototype_or_route_or_rbrace (field_or_prototype_or_route_or_rbrace_expected)
const vrml_parse_assertion | openvrml::expect_script_interface_or_field_or_prototype_or_route_or_rbrace (script_interface_or_field_or_prototype_or_route_or_rbrace_expected)
const vrml_parse_assertion | openvrml::expect_normalized_rotation (rotation_axis_not_normalized)
node_type_decls::value_type * | openvrml::find_node_type (scope_stack_t &scope_stack, const std::string &node_type_id)
bool | openvrml::in_proto_def (const scope_stack_t &scope_stack)
template<typename String , typename NodeType >
const add_def_t< String, NodeType > | openvrml::add_def (scope_stack_t &scope_stack, String &node_name_id, NodeType &node_type)

## Variables

const vrml97_space_parser | openvrml::vrml97_space_p = vrml97_space_parser()
| A Spirit space parser appropriate for use with VRML97 and VRML-encoded X3D.
const boost::spirit::classic::real_parser < float, boost::spirit::classic::real_parser_policies < float > > | openvrml::float_p
const boost::spirit::classic::functor_parser < bool_parser > | openvrml::bool_p
const boost::spirit::classic::functor_parser < int32_parser > | openvrml::int32_p
const boost::spirit::classic::functor_parser < intensity_parser > | openvrml::intensity_p
const boost::spirit::classic::functor_parser < color_parser > | openvrml::color_p
const boost::spirit::classic::functor_parser < vec2f_parser > | openvrml::vec2f_p
const boost::spirit::classic::functor_parser < vec3f_parser > | openvrml::vec3f_p
const boost::spirit::classic::functor_parser < image_parser > | openvrml::image_p
const phoenix::function < get_string_content_function > | openvrml::get_string_content
const boost::spirit::classic::functor_parser < string_parser > | openvrml::string_p
const phoenix::function < set_node_interface_type_function > | openvrml::set_node_interface_type
const phoenix::function < set_node_interface_field_type_function > | openvrml::set_node_interface_field_type
const phoenix::function < set_node_interface_id_function > | openvrml::set_node_interface_id
const phoenix::function < set_node_type_id_function > | openvrml::set_node_type_id
const phoenix::function < add_node_interface_function > | openvrml::add_node_interface
const phoenix::function < check_function > | openvrml::check
const phoenix::function < check_valid_proto_interface_function > | openvrml::check_valid_proto_interface
const phoenix::function < get_route_eventout_function > | openvrml::get_route_eventout
const phoenix::function < get_route_eventin_function > | openvrml::get_route_eventin
const phoenix::function < check_consistent_value_type_function > | openvrml::check_consistent_value_type
const phoenix::function < is_script_node_function > | openvrml::is_script_node

## Detailed Description

VRML97 Spirit grammar and associated parsers.