(file) Return to vrml.st CVS log (file) (dir) Up to [RizwankCVS] / testProject / share / enscript / hl

  1 rizwank 1.1 /**
  2              * Name: vrml
  3              * Description: Virtual Reality Modeling Language (VRML97)
  4              *
  5              *   Typesets UTF-8 encoded VRML files including inline scripts
  6              *   (JavaScript or VrmlScript) using Encript's JavaScript mode.
  7              *
  8              *   Note: Some VRML browsers allow use of double quotes in
  9              *   defining string literals inside inlined scripts.  Doing so
 10              *   breaks the logic programmed here.  Using single quotes
 11              *   (i.e. ECMAScript spec-compliant string literals) works fine.
 12              *
 13              * Author: James Sørlie <sorliej@imm.dtu.dk>
 14              */
 15             
 16             state vrml extends HighlightEntry
 17             {
 18               BEGIN {
 19                 require_state (javascript);
 20               }
 21             
 22 rizwank 1.1   /* Comments. */
 23               /#/ {
 24                 comment_face (true);
 25                 language_print ($0);
 26                 call (eat_one_line);
 27                 comment_face (false);
 28               }
 29             
 30               /* Inline Script Protocols. */
 31               /\"javascript:|\"vrmlscript:/ {
 32                 reference_face (true);
 33                 language_print ($0);
 34                 reference_face (false);
 35                 from_vrml = 1;
 36                 call (javascript_internal);
 37               }
 38             
 39               /* String constants. */
 40               /\"/ {
 41                 string_face (true);
 42                 language_print ($0);
 43 rizwank 1.1     call (c_string);
 44                 string_face (false);
 45               }
 46             
 47               /* UTF-8 header text. */
 48               /^#VRML V2.0/ {
 49                 reference_face (true);
 50                 language_print ($0);
 51                 call (eat_one_line);
 52                 reference_face (false);
 53               }
 54             
 55               /* Built-ins nodes:
 56                  http://www.vrml.org/Specifications/VRML97/part1/nodesRef.html
 57             
 58                  (build-re '(Introduction Anchor Appearance AudioClip Background
 59                  Billboard Box Collision Color ColorInterpolator Cone Coordinate
 60                  CoordinateInterpolator Cylinder CylinderSensor DirectionalLight
 61                  ElevationGrid Extrusion Fog FontStyle Group ImageTexture
 62                  IndexedFaceSet IndexedLineSet Inline LOD Material MovieTexture
 63                  NavigationInfo Normal NormalInterpolator OrientationInterpolator
 64 rizwank 1.1      PixelTexture PlaneSensor PointLight PointSet PositionInterpolator
 65                  ProximitySensor ScalarInterpolator Script Shape Sound Sphere
 66                  SphereSensor SpotLight Switch Text TextureCoordinate TextureTransform
 67                  TimeSensor TouchSensor Transform Viewpoint VisibilitySensor
 68                  WorldInfo))
 69               */
 70               /\b(A(nchor|ppearance|udioClip)|B(ackground|illboard|ox)\
 71             |C(o(l(lision|or(|Interpolator))|ne|ordinate(|Interpolator))\
 72             |ylinder(|Sensor))\
 73             |DirectionalLight|E(levationGrid|xtrusion)|Fo(g|ntStyle)|Group\
 74             |I(mageTexture|n(dexed(FaceSet|LineSet)|line|troduction))|LOD\
 75             |M(aterial|ovieTexture)|N(avigationInfo|ormal(|Interpolator))\
 76             |OrientationInterpolator\
 77             |P(ixelTexture|laneSensor|o(int(Light|Set)|sitionInterpolator)\
 78             |roximitySensor)\
 79             |S(c(alarInterpolator|ript)|hape|ound|p(here(|Sensor)|otLight)|witch)\
 80             |T(ext(|ure(Coordinate|Transform))|imeSensor|ouchSensor|ransform)\
 81             |Vi(ewpoint|sibilitySensor)|WorldInfo)\b/ {
 82                 builtin_face (true);
 83                 language_print ($0);
 84                 builtin_face (false);
 85 rizwank 1.1   }
 86             
 87               /* Keywords.
 88                  http://www.vrml.org/Specifications/VRML97/part1/grammar.html#TableA.1 */
 89               /\b(DEF|EXTERNPROTO|FALSE|IS|NULL|PROTO|ROUTE|T(O|RUE)|USE|\
 90             e(vent(In|Out)|xposedField)|field)\b/ {
 91                 keyword_face (true);
 92                 language_print ($0);
 93                 keyword_face (false);
 94               }
 95             
 96               /* Types.
 97                  http://www.vrml.org/Specifications/VRML97/part1/grammar.html#Fields */
 98               /\b(MF(Color|Float|Int32|Node|Rotation|String|Time|Vec(2f|3f))|\
 99             SF(Bool|Color|Float|Image|Int32|Node|Rotation|String|Time|Vec(2f|3f)))\b/ {
100                 type_face (true);
101                 language_print ($0);
102                 type_face (false);
103               }
104             }
105             
106 rizwank 1.1 
107             /*
108             Local variables:
109             mode: c
110             End:
111             */

Rizwan Kassim
Powered by
ViewCVS 0.9.2