Plan 9 from Bell Labs’s /usr/web/sources/contrib/steve/root/sys/lib/texmf/metapost/base/string.mp

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


% String manipulation routines for MetaPost
% It is harmless to input this file more than once.


vardef isdigit primary d =
  ("0"<=d)and(d<="9") enddef;


% Number of initial characters of string s where `c <character>' is true
vardef cspan(expr s)(text c) =
  0
  for i=1 upto length s:
    exitunless c substring (i-1,i) of s;
    + 1
  endfor
enddef;


% String s is composed of items separated by white space.  Lop off the first
% item and the surrounding white space and return just the item.
vardef loptok suffix s =
  save t, k;
  k = cspan(s," ">=);
  if k>0: s:=substring(k,infinity) of s; fi
  k := cspan(s," "<);
  string t;
  t = substring (0,k) of s;
  s := substring (k,infinity) of s;
  s := substring (cspan(s," ">=),infinity) of s;
  t
enddef;

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.